*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:var(--ink);background:var(--bg);letter-spacing:-.003em;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5;overflow-x:hidden}:root{--ink:#0f1f33;--ink-soft:#5b6b80;--ink-faint:#8a96a8;--bg:#fff;--bg-soft:#f6f8fb;--bg-tile:#f2f5f9;--navy:#1e3a5f;--navy-deep:#102845;--teal:#4dc8b6;--teal-deep:#2ea895;--line:#0f1f3314;--accent:#1e3a5f;--content:1200px;--nav-h:64px}a{color:var(--navy);text-decoration:none}a:hover{color:var(--teal-deep)}button{cursor:pointer;font-family:inherit}.nav{height:var(--nav-h);-webkit-backdrop-filter:saturate(180%)blur(24px);z-index:100;background:#ffffffc7;border-bottom:1px solid #0f1f330f;transition:background .25s,box-shadow .25s,border-color .25s;position:sticky;top:0;left:0;right:0}.nav.scrolled{background:#fffffff2;border-bottom-color:#0000;box-shadow:0 6px 24px -12px #0f1f332e}.nav-inner{max-width:var(--content);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 28px;display:flex}.brand{align-items:center;gap:10px;display:inline-flex}.brand img{height:30px;display:block}.nav-links{gap:4px;display:flex}.nav-links a{color:var(--ink);opacity:.82;line-height:var(--nav-h);letter-spacing:-.005em;padding:0 16px;font-size:15px;font-weight:500;transition:opacity .2s,color .2s;position:relative}.nav-links a:hover{opacity:1;color:var(--navy)}.nav-links a.active{opacity:1;color:var(--teal-deep);font-weight:600}.nav-links a.active:after{content:"";background:var(--teal);border-radius:2px;height:2px;position:absolute;bottom:13px;left:16px;right:16px}.nav-cta{background:var(--navy);letter-spacing:0;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s,transform .2s;color:#fff!important}.nav-cta:hover{background:var(--navy-deep);transform:translateY(-1px);color:#fff!important}@media (max-width:833px){.nav-links{display:none}}main{padding-top:0}html{scroll-behavior:smooth;scroll-padding-top:80px}.center{max-width:var(--content);margin:0 auto;padding:0 28px}.display{letter-spacing:-.035em;margin:0;font-size:clamp(40px,6.4vw,88px);font-weight:600;line-height:1.05}.display em{color:var(--teal-deep);font-style:normal}.headline{letter-spacing:-.025em;margin:0;font-size:clamp(32px,4vw,56px);font-weight:600;line-height:1.1}.h-tile{letter-spacing:-.018em;margin:0;font-size:clamp(22px,2vw,28px);font-weight:600;line-height:1.2}.eyebrow{letter-spacing:.12em;color:var(--teal-deep);text-transform:uppercase;margin:0 0 18px;font-size:13px;font-weight:600;display:inline-block}.eyebrow.cn{letter-spacing:.18em}.sub{color:var(--ink-soft);letter-spacing:-.01em;margin:22px 0 0;font-size:clamp(18px,1.4vw,22px);font-weight:400;line-height:1.5}.hero{background:radial-gradient(60% 60% at 80% 10%, #4dc8b629, transparent 60%), radial-gradient(60% 60% at 20% 90%, #1e3a5f14, transparent 60%), var(--bg);padding:110px 28px 96px;position:relative;overflow:hidden}.hero-inner{max-width:var(--content);grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;margin:0 auto;display:grid}@media (max-width:980px){.hero-inner{grid-template-columns:1fr;gap:40px}}.pill{color:var(--teal-deep);letter-spacing:0;background:#4dc8b61f;border-radius:999px;align-items:center;gap:8px;margin-bottom:28px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.pill:before{content:"";background:var(--teal);border-radius:50%;width:6px;height:6px}.hero h1 span{display:block}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.btn{background:var(--navy);color:#fff;letter-spacing:-.005em;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:14px 28px;font-size:15px;font-weight:500;transition:background .2s,transform .2s;display:inline-flex}.btn:hover{background:var(--navy-deep);color:#fff;transform:translateY(-1px)}.btn.teal{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);color:#fff;box-shadow:0 8px 24px -8px #2ea89580}.btn.teal:hover{background:var(--teal-deep);color:#fff;box-shadow:0 12px 28px -8px #2ea89599}.btn.ghost{color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy);background:0 0}.btn.ghost:hover{color:var(--navy);background:#1e3a5f0f}.btn:after{content:" →";opacity:.9;font-weight:400}.btn.ghost:after,.btn.text:after,.btn.no-arrow:after{content:""}.hero-viz{flex-direction:column;gap:18px;display:flex;position:relative}.carousel{background:#fff;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 24px 60px -22px #0f1f332e,0 0 0 1px #0f1f330a}.carousel.top{min-height:260px}.carousel.bottom{color:#fff;background:linear-gradient(135deg,#102845 0%,#1e3a5f 100%);min-height:200px}.car-track{position:relative}.slide{opacity:0;visibility:hidden;padding:28px 28px 56px;transition:opacity .55s,transform .55s;position:absolute;inset:0;transform:translateY(8px)}.slide.active{opacity:1;visibility:visible;transform:none}.car-track:before{content:"";padding-top:0;display:block}.carousel.top .car-track{height:260px}.carousel.bottom .car-track{height:200px}.car-dots{z-index:2;gap:6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.car-dots button{cursor:pointer;background:#0f1f3324;border:0;border-radius:2px;width:22px;height:4px;padding:0;transition:background .25s,width .25s}.carousel.bottom .car-dots button{background:#ffffff40}.car-dots button.on{background:var(--teal-deep);width:32px}.carousel.bottom .car-dots button.on{background:var(--teal)}.qual-slide{align-items:center;gap:20px;height:100%;display:flex}.qual-thumb-l{border:1px solid var(--line);background:linear-gradient(#fafbfd 0%,#eef1f6 100%);border-radius:8px;flex:none;width:88px;height:110px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff,0 6px 16px -8px #0f1f332e}.qual-thumb-l:before{content:"";background:linear-gradient(90deg, var(--navy), var(--teal-deep));height:18px;position:absolute;top:0;left:0;right:0}.qual-thumb-l .seal-mini{color:#fff;background:radial-gradient(circle,#e74c3c 0%,#c0392b 80%);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 1px 2px #0003}.qual-thumb-l .lines{flex-direction:column;gap:5px;display:flex;position:absolute;top:32px;left:10px;right:10px}.qual-thumb-l .lines i{background:#0f1f331a;border-radius:2px;height:3px;display:block}.qual-thumb-l .lines i.short{width:60%}.qual-thumb-l .lines i.med{width:80%}.qual-info{flex:1;min-width:0}.qual-info .tag{letter-spacing:.06em;color:var(--teal-deep);background:#4dc8b61f;border-radius:4px;margin-bottom:10px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.qual-info h4{color:var(--navy);letter-spacing:-.012em;margin:0;font-size:19px;font-weight:600;line-height:1.3}.qual-info p{color:var(--ink-soft);margin:8px 0 0;font-size:13px;line-height:1.55}.qual-info .clients{border-top:1px dashed var(--line);align-items:baseline;gap:8px;margin-top:14px;padding-top:14px;display:flex}.qual-info .clients .num{color:var(--navy);letter-spacing:-.02em;font-size:28px;font-weight:600;line-height:1}.qual-info .clients .num small{color:var(--ink-soft);margin-left:2px;font-size:.5em;font-weight:500}.qual-info .clients .label{color:var(--ink-soft);font-size:13px}.policy-slide{color:#fff;flex-direction:column;gap:14px;height:100%;display:flex}.policy-slide .head{align-items:center;gap:12px;display:flex}.policy-slide .head .num{letter-spacing:.1em;color:var(--teal);background:#4dc8b62e;border-radius:4px;padding:3px 9px;font-size:11px;font-weight:600}.policy-slide .head h4{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.policy-slide .items{grid-template-columns:repeat(2,1fr);gap:6px 16px;margin:0;padding:0;list-style:none;display:grid}.policy-slide .items li{color:#ffffffc7;align-items:center;gap:7px;font-size:13px;display:flex}.policy-slide .items li:before{content:"";background:var(--teal);border-radius:50%;flex:none;width:4px;height:4px}.hero-dots{opacity:.5;pointer-events:none;background-image:radial-gradient(#1e3a5f2e 1.2px,#0000 1.2px);background-size:14px 14px;width:260px;height:260px;position:absolute;top:60px;right:-120px}.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);padding:22px 0;overflow:hidden}.trust-row{max-width:var(--content);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:56px;margin:0 auto;padding:0 28px;font-size:14px;display:flex}.trust-row b{color:var(--navy)}.trust-row .dot{background:var(--line);border-radius:50%;width:4px;height:4px}.stats{background:var(--bg-soft);text-align:center;padding:120px 28px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:24px;max-width:1100px;margin:56px auto 0;display:grid}.stat{border-right:1px solid var(--line);padding:24px 16px}.stat:last-child{border-right:0}.stat-num{letter-spacing:-.035em;color:var(--navy);font-size:clamp(40px,4.6vw,64px);font-weight:600;line-height:1}.stat-num small{color:var(--ink-soft);letter-spacing:-.01em;margin-left:4px;font-size:.45em}.stat-label{color:var(--ink-soft);letter-spacing:-.005em;margin-top:14px;font-size:15px}@media (max-width:833px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat{border-right:0;border-bottom:1px solid var(--line);padding-bottom:24px}.stat:nth-last-child(-n+2){border-bottom:0}}.services{padding:140px 28px 80px}.services-head{text-align:center;max-width:760px;margin:0 auto 72px}.services-grid{max-width:var(--content);grid-template-columns:repeat(12,1fr);gap:16px;margin:0 auto;display:grid}.svc{border:1px solid var(--line);background:#fff;border-radius:24px;flex-direction:column;padding:36px 32px;transition:transform .28s,box-shadow .28s,border-color .28s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px #0f1f3305}.svc:hover{border-color:#4dc8b666;transform:translateY(-6px);box-shadow:0 28px 50px -20px #0f1f3338}.svc:before{content:"";background:var(--svc-accent,var(--teal));border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:32px;right:32px}.svc-num{color:var(--ink-faint);letter-spacing:.06em;font-size:13px;font-weight:500;position:absolute;top:24px;right:28px}.svc-icon{background:var(--svc-icon-bg,#4dc8b61f);width:56px;height:56px;color:var(--svc-accent,var(--teal-deep));border-radius:14px;justify-content:center;align-items:center;margin-bottom:22px;transition:background .25s,color .25s;display:inline-flex}.svc:hover .svc-icon{background:var(--svc-accent,var(--teal-deep));color:#fff}.svc-icon svg{width:26px;height:26px}.svc h3{letter-spacing:-.015em;color:var(--navy);margin:0;font-size:22px;font-weight:600}.svc-desc{color:var(--ink-soft);min-height:64px;margin:10px 0 18px;font-size:13.5px;line-height:1.6}.svc-num{opacity:.7;color:var(--svc-accent,var(--teal-deep))!important}.svc ul{flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:0;list-style:none;display:flex}.svc ul li{color:var(--navy);background:var(--bg-tile);letter-spacing:-.003em;border:1px solid #0000;border-radius:6px;padding:5px 11px;font-size:12.5px;font-weight:500;transition:background .2s,border-color .2s,color .2s}.svc:hover ul li{color:var(--teal-deep);background:#4dc8b61a;border-color:#4dc8b64d}.svc.s-1,.svc.s-2,.svc.s-3,.svc.s-4,.svc.s-5,.svc.s-6,.svc.s-7,.svc.s-8{grid-column:span 6}.svc.s-1{--svc-accent:#1e3a5f;--svc-icon-bg:#1e3a5f1a}.svc.s-2{--svc-accent:#2ea895;--svc-icon-bg:#2ea8951f}.svc.s-3{--svc-accent:#3267c4;--svc-icon-bg:#3267c41a}.svc.s-4{--svc-accent:#b86b2e;--svc-icon-bg:#b86b2e1a}.svc.s-5{--svc-accent:#6e3acc;--svc-icon-bg:#6e3acc1a}.svc.s-6{--svc-accent:#2ea895;--svc-icon-bg:#2ea8951f}.svc.s-7{--svc-accent:#1e3a5f;--svc-icon-bg:#1e3a5f1a}.svc.s-8{--svc-accent:#c53e6e;--svc-icon-bg:#c53e6e1a}@media (max-width:1100px){.svc.s-1,.svc.s-2,.svc.s-3,.svc.s-4,.svc.s-5,.svc.s-6,.svc.s-7,.svc.s-8{grid-column:span 6}}@media (max-width:600px){.svc.s-1,.svc.s-2,.svc.s-3,.svc.s-4,.svc.s-5,.svc.s-6,.svc.s-7,.svc.s-8{grid-column:1/-1}}.about{background:radial-gradient(50% 60% at 100% 0%, #4dc8b614, transparent 60%), var(--bg);padding:140px 28px}.about-grid{max-width:var(--content);grid-template-columns:1fr 1fr;align-items:start;gap:80px;margin:0 auto;display:grid}@media (max-width:980px){.about-grid{grid-template-columns:1fr;gap:40px}}.about p{color:var(--ink-soft);letter-spacing:-.005em;margin:28px 0;font-size:17px;line-height:1.75}.quals{gap:16px;display:grid}.qual{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:22px;padding:22px 24px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;box-shadow:0 1px #0f1f3305}.qual:hover{border-color:#4dc8b659;transform:translateY(-2px);box-shadow:0 16px 36px -16px #0f1f3329}.cert-thumb{border:1px solid var(--line);background:linear-gradient(#fdfdfe 0%,#eef1f6 100%);border-radius:6px;flex:none;width:72px;height:92px;position:relative;overflow:hidden;box-shadow:0 6px 14px -8px #0f1f3333,inset 0 1px #fff}.cert-thumb .cert-head{background:linear-gradient(90deg, var(--navy), var(--teal-deep));height:16px;position:absolute;top:0;left:0;right:0}.cert-thumb .cert-head:after{content:"";background:gold;border-radius:0 0 3px 3px;width:18px;height:4px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%);box-shadow:0 1px 2px #00000026}.cert-thumb .cert-lines{flex-direction:column;gap:4px;display:flex;position:absolute;top:26px;left:8px;right:8px}.cert-thumb .cert-lines i{background:#0f1f331a;border-radius:2px;height:3px;display:block}.cert-thumb .cert-lines i.s{width:50%}.cert-thumb .cert-lines i.m{width:72%}.cert-thumb .cert-lines i.l{align-self:center;width:90%}.cert-thumb .cert-seal{color:#fff;background:radial-gradient(circle,#e74c3c 0%,#c0392b 80%);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:6px;right:6px;transform:rotate(-8deg);box-shadow:0 1px 2px #0003}.qual-text{flex:1;min-width:0}.qual-text h5{color:var(--navy);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.qual-text p{color:var(--ink-soft);margin:6px 0 0;font-size:13.5px;line-height:1.55}.qual-text .qual-date{letter-spacing:.05em;color:var(--teal-deep);background:#4dc8b61a;border-radius:4px;margin-top:8px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-block}.culture{background:var(--navy);color:#cfd7e3;padding:140px 28px;position:relative;overflow:hidden}.culture:before{content:"";pointer-events:none;background:radial-gradient(40% 40% at 80% 30%,#4dc8b640,#0000 60%),radial-gradient(50% 40% at 10% 80%,#4dc8b61a,#0000 60%);position:absolute;inset:0}.culture-inner{max-width:var(--content);margin:0 auto;position:relative}.culture h2{color:#fff}.culture .eyebrow{color:var(--teal)}.culture-cards{grid-template-columns:1fr 1fr;gap:24px;margin-top:60px;display:grid}@media (max-width:833px){.culture-cards{grid-template-columns:1fr}}.culture-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;padding:40px 36px}.culture-card .glyph{width:56px;height:56px;color:var(--teal);background:#4dc8b629;border-radius:14px;justify-content:center;align-items:center;margin-bottom:22px;display:inline-flex}.culture-card h3{color:#fff;letter-spacing:.02em;margin:0 0 10px;font-size:28px;font-weight:600}.culture-card p{color:#ffffffb3;margin:0;font-size:16px;line-height:1.7}.news{background:var(--bg-soft);padding:140px 28px}.news-head{max-width:var(--content);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin:0 auto 56px;display:flex}.news-grid{max-width:var(--content);grid-template-columns:repeat(3,1fr);gap:22px;margin:0 auto;display:grid}@media (max-width:833px){.news-grid{grid-template-columns:1fr}}.news-card{border:1px solid var(--line);background:#fff;border-radius:20px;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.news-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -20px #0f1f3329}.news-thumb{aspect-ratio:16/9;color:#fff;letter-spacing:.02em;justify-content:center;align-items:center;font-size:24px;font-weight:600;display:flex;position:relative;overflow:hidden}.news-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.news-thumb.t1{background:linear-gradient(135deg,#1e3a5f,#4dc8b6)}.news-thumb.t2{background:linear-gradient(135deg,#0f1f33,#1e3a5f)}.news-thumb.t3{background:linear-gradient(135deg,#4dc8b6,#2ea895)}.news-thumb:after{content:"";background:radial-gradient(60% 60% at 80% 20%,#ffffff40,#0000 60%),radial-gradient(40% 40% at 10% 90%,#0000004d,#0000 60%);position:absolute;inset:0}.news-thumb.has-img:after{background:0 0}.news-thumb span{z-index:1;text-align:center;padding:0 24px;line-height:1.3;position:relative}.news-body{flex-direction:column;flex:1;padding:22px 26px 26px;display:flex}.news-tag{color:var(--teal-deep);letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:600}.news-body h4{color:var(--ink);letter-spacing:-.012em;margin:0;font-size:18px;font-weight:600;line-height:1.35}.news-body p{color:var(--ink-soft);flex:1;margin:10px 0 18px;font-size:14px;line-height:1.6}.news-meta{color:var(--ink-faint);justify-content:space-between;font-size:12.5px;display:flex}.news-meta a{color:var(--navy);font-weight:500}.cta{background:var(--bg);padding:140px 28px;position:relative;overflow:hidden}.cta-inner{max-width:var(--content);color:#fff;background:linear-gradient(135deg,#102845 0%,#1e3a5f 60%,#2a5680 100%);border-radius:36px;margin:0 auto;padding:80px 64px;position:relative;overflow:hidden}.cta-inner:before{content:"";background:radial-gradient(circle,#4dc8b666,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-60px;right:-60px}.cta-inner:after{content:"";background:radial-gradient(circle,#4dc8b62e,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;bottom:-80px;left:30%}.cta-grid{z-index:1;grid-template-columns:1.4fr 1fr;align-items:end;gap:64px;display:grid;position:relative}@media (max-width:833px){.cta-grid{grid-template-columns:1fr;gap:40px}}.cta h2{color:#fff}.cta .sub{color:#ffffffbf}.cta-info{color:#ffffffd9;gap:14px;font-size:15px;display:grid}.cta-info .row{align-items:center;gap:14px;display:flex}.cta-info .row svg{opacity:.7;flex:none;width:18px;height:18px}.cta .btn-row{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.cta .btn{background:var(--teal);color:var(--navy-deep)}.cta .btn:hover{background:#fff}.cta .btn.ghost{color:#fff;background:0 0;box-shadow:inset 0 0 0 1.5px #fff6}.cta .btn.ghost:hover{color:#fff;background:#ffffff0f}footer{background:var(--navy-deep);color:#fff9;font-size:13px;line-height:1.6}.footer-top{max-width:var(--content);grid-template-columns:1.4fr repeat(3,1fr);gap:40px;margin:0 auto;padding:60px 28px 40px;display:grid}@media (max-width:833px){.footer-top{grid-template-columns:1fr 1fr}}.footer-top .brand img{filter:brightness(1.4);height:30px}.footer-top h6{color:#fff;letter-spacing:.04em;margin:0 0 14px;font-size:13px;font-weight:600}.footer-top ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.footer-top a{color:#fff9}.footer-top a:hover{color:#fff}.footer-about p{color:#ffffff8c;max-width:320px;margin:18px 0 0;font-size:13px;line-height:1.65}.footer-bot{max-width:var(--content);color:#ffffff6b;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 auto;padding:22px 28px;font-size:12.5px;display:flex}.footer-bot a{color:#ffffff6b}.footer-bot a:hover{color:#ffffffb3}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(20px)}.reveal.in{opacity:1;transform:none}.ready-now .reveal,.ready-now .slide{transition:none}.promo-bar{color:#ffffffe6;text-align:center;background:linear-gradient(90deg,#102845,#1e3a5f);padding:9px 22px;font-size:13px}.promo-bar a{color:var(--teal);margin-left:8px;font-weight:500}.promo-bar a:hover{color:#fff}.page-hero{background:radial-gradient(60% 60% at 85% 0%, #4dc8b624, transparent 60%), var(--bg-soft);border-bottom:1px solid var(--line);padding:120px 28px 60px}.page-hero-inner{max-width:var(--content);margin:0 auto}.breadcrumb{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font-size:13px;display:flex}.breadcrumb a{color:var(--ink-soft)}.breadcrumb a:hover{color:var(--teal-deep)}.breadcrumb .sep{opacity:.5}.page-hero h1{letter-spacing:-.028em;color:var(--ink);margin:0;font-size:clamp(32px,4.4vw,52px);font-weight:600;line-height:1.1}.page-hero .lead{color:var(--ink-soft);max-width:640px;margin:18px 0 0;font-size:17px;line-height:1.6}.news-list-wrap{max-width:var(--content);margin:0 auto;padding:64px 28px 120px}.news-filter{flex-wrap:wrap;gap:8px;margin-bottom:40px;display:flex}.news-filter a{background:var(--bg-tile);color:var(--ink-soft);border:1px solid #0000;border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:500;transition:all .2s}.news-filter a:hover{color:var(--teal-deep);border-color:#4dc8b64d}.news-filter a.on{background:var(--navy);color:#fff}.news-empty{text-align:center;color:var(--ink-faint);padding:80px 0;font-size:15px}.pager{justify-content:center;align-items:center;gap:8px;margin-top:56px;display:flex}.pager a,.pager span{border:1px solid var(--line);min-width:40px;height:40px;color:var(--ink-soft);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.pager a:hover{border-color:var(--teal-deep);color:var(--teal-deep)}.pager .on{background:var(--navy);color:#fff;border-color:var(--navy)}.pager .disabled{opacity:.4;pointer-events:none}.article-wrap{max-width:760px;margin:0 auto;padding:56px 28px 120px}.article-meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;font-size:13.5px;display:flex}.article-meta .cat{color:var(--teal-deep);background:#4dc8b61f;border-radius:999px;padding:4px 12px;font-weight:600}.article-title{letter-spacing:-.022em;color:var(--ink);margin:0 0 28px;font-size:clamp(28px,3.6vw,42px);font-weight:600;line-height:1.25}.article-cover{border:1px solid var(--line);border-radius:18px;width:100%;margin-bottom:36px}.article-body{color:#243348;font-size:17px;line-height:1.85}.article-body p{margin:0 0 20px}.article-body h2{letter-spacing:-.015em;color:var(--navy);margin:40px 0 16px;font-size:26px;font-weight:600}.article-body h3{letter-spacing:-.012em;color:var(--navy);margin:32px 0 14px;font-size:21px;font-weight:600}.article-body ul,.article-body ol{margin:0 0 22px;padding-left:22px}.article-body li{margin:8px 0}.article-body a{color:var(--teal-deep);text-underline-offset:2px;text-decoration:underline}.article-body img{border-radius:12px;max-width:100%;margin:12px 0}.article-body blockquote{border-left:3px solid var(--teal);background:var(--bg-soft);color:var(--ink-soft);border-radius:0 10px 10px 0;margin:22px 0;padding:14px 22px}.article-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:48px;padding-top:28px;display:flex}.contact-layout{max-width:var(--content);grid-template-columns:1fr 1fr;align-items:start;gap:64px;margin:0 auto;padding:64px 28px 120px;display:grid}@media (max-width:900px){.contact-layout{grid-template-columns:1fr;gap:44px}}.contact-info-card{gap:22px;display:grid}.contact-info-card .ci-row{align-items:flex-start;gap:16px;display:flex}.contact-info-card .ci-ic{width:44px;height:44px;color:var(--teal-deep);background:#4dc8b61f;border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.contact-info-card .ci-ic svg{width:20px;height:20px}.contact-info-card .ci-label{color:var(--ink-faint);margin-bottom:3px;font-size:12.5px}.contact-info-card .ci-val{color:var(--ink);font-size:16px;font-weight:500}.contact-map{border:1px solid var(--line);background:radial-gradient(60% 70% at 75% 20%,#4dc8b629,#0000 60%),linear-gradient(135deg,#eef3f8 0%,#e3ebf3 100%);border-radius:16px;height:240px;margin-top:8px;transition:border-color .2s,box-shadow .2s;display:block;position:relative;overflow:hidden}.contact-map:before{content:"";opacity:.5;background-image:radial-gradient(#1e3a5f1a 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.contact-map:hover{border-color:#4dc8b673;box-shadow:0 16px 40px -22px #0f1f3333}.map-placeholder{text-align:center;height:100%;color:var(--navy);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:relative}.map-placeholder .mp-addr{color:var(--ink);max-width:320px;font-size:14px;font-weight:500;line-height:1.5}.map-placeholder .mp-link{color:var(--teal-deep);font-size:13px;font-weight:600}.form-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:40px 36px;box-shadow:0 18px 50px -28px #0f1f3333}.form-card h3{letter-spacing:-.015em;color:var(--navy);margin:0 0 6px;font-size:24px;font-weight:600}.form-card .form-sub{color:var(--ink-soft);margin:0 0 26px;font-size:14.5px}.field{margin-bottom:18px}.field label{color:var(--ink);margin-bottom:7px;font-size:13.5px;font-weight:500;display:block}.field label .req{color:#c0392b;margin-left:3px}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--bg-soft);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal-deep);background:#fff;outline:0;box-shadow:0 0 0 3px #4dc8b626}.field textarea{resize:vertical;min-height:110px}.form-msg{border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:14px}.form-msg.ok{color:var(--teal-deep);background:#4dc8b61f}.form-msg.err{color:#c0392b;background:#c0392b1a}.btn-block{justify-content:center;width:100%}.btn[disabled]{opacity:.6;cursor:not-allowed}.admin-shell{background:var(--bg-soft);min-height:100vh;display:flex}.admin-side{background:var(--navy-deep);color:#ffffffb3;flex-direction:column;flex:none;width:220px;padding:22px 0;display:flex}.admin-side .a-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;margin-bottom:14px;padding:0 24px 22px;display:flex}.admin-side .a-brand img{filter:brightness(1.4);height:26px}.admin-side .a-brand span{color:#fff;font-size:14px;font-weight:600}.admin-side nav{flex-direction:column;gap:2px;padding:0 12px;display:flex}.admin-side nav a{color:#ffffffb3;border-radius:10px;padding:11px 14px;font-size:14.5px;font-weight:500;transition:background .15s,color .15s}.admin-side nav a:hover{color:#fff;background:#ffffff0f}.admin-side nav a.on{background:var(--teal-deep);color:#fff}.admin-side .a-foot{border-top:1px solid #ffffff14;margin-top:auto;padding:14px 24px 0;font-size:12.5px}.admin-side .a-foot a{color:#ffffff8c}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-top{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex}.admin-top h1{color:var(--ink);margin:0;font-size:18px;font-weight:600}.admin-top .who{color:var(--ink-soft);align-items:center;gap:14px;font-size:13.5px;display:flex}.admin-content{flex:1;padding:28px}.admin-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.btn-sm{padding:9px 16px;font-size:13.5px}.btn-sm:after{content:""}table.admin-table{border-collapse:collapse;width:100%;font-size:14px}table.admin-table th{text-align:left;background:var(--bg-soft);color:var(--ink-soft);letter-spacing:.02em;border-bottom:1px solid var(--line);padding:13px 18px;font-size:12.5px;font-weight:600}table.admin-table td{border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle;padding:14px 18px}table.admin-table tr:last-child td{border-bottom:0}table.admin-table tr:hover td{background:var(--bg-soft)}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.pub{color:var(--teal-deep);background:#4dc8b624}.badge.draft{color:var(--ink-soft);background:#8a96a826}.badge.new{color:#c0392b;background:#c0392b1a}.badge.done{color:var(--teal-deep);background:#4dc8b624}.row-actions{gap:10px;display:flex}.row-actions a,.row-actions button{color:var(--navy);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:500}.row-actions a:hover{color:var(--teal-deep)}.row-actions button.danger{color:#c0392b}.login-wrap{background:var(--navy-deep);background-image:radial-gradient(50% 50% at 80% 10%,#4dc8b633,#0000 60%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:22px;width:100%;max-width:380px;padding:40px 34px;box-shadow:0 30px 80px -30px #00000080}.login-card .l-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.login-card .l-brand img{height:30px}.login-card h2{text-align:center;color:var(--ink);margin:0 0 4px;font-size:20px;font-weight:600}.login-card .l-sub{text-align:center;color:var(--ink-faint);margin:0 0 28px;font-size:13.5px}.editor-grid{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}@media (max-width:1000px){.editor-grid{grid-template-columns:1fr}}.editor-panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:26px}.editor-panel h3{color:var(--ink-soft);margin:0 0 18px;font-size:15px;font-weight:600}.tiptap-toolbar{border:1px solid var(--line);background:var(--bg-soft);border-bottom:0;border-radius:10px 10px 0 0;flex-wrap:wrap;gap:4px;padding:8px;display:flex}.tiptap-toolbar button{color:var(--ink);background:#fff;border:1px solid #0000;border-radius:7px;min-width:32px;padding:6px 10px;font-size:13px}.tiptap-toolbar button:hover{border-color:var(--line)}.tiptap-toolbar button.on{background:var(--navy);color:#fff}.tiptap-content{border:1px solid var(--line);border-radius:0 0 10px 10px;min-height:360px;padding:16px 18px;font-size:15.5px;line-height:1.75}.tiptap-content:focus-within{border-color:var(--teal-deep)}.tiptap-content .ProseMirror{outline:0;min-height:320px}.tiptap-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ink-faint);float:left;pointer-events:none;height:0}.tiptap-content h2{margin:18px 0 10px;font-size:22px;font-weight:600}.tiptap-content h3{margin:16px 0 8px;font-size:18px;font-weight:600}.tiptap-content ul,.tiptap-content ol{padding-left:22px}.cover-preview{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);background:var(--bg-tile);border-radius:10px;width:100%;margin-bottom:12px}.attach-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.attach-list li{border:1px solid var(--line);background:var(--bg-soft);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.attach-list .atype{letter-spacing:.03em;color:#fff;background:var(--navy);border-radius:5px;flex:none;padding:3px 6px;font-size:10px;font-weight:700}.attach-list .aname{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.attach-list .asize{color:var(--ink-faint);flex:none;font-size:12px}.attach-list .aremove{color:#c0392b;cursor:pointer;background:0 0;border:0;flex:none;padding:2px 4px;font-size:13px}.article-attach{border-top:1px solid var(--line);margin-top:44px;padding-top:28px}.article-attach h3{color:var(--navy);letter-spacing:-.012em;margin:0 0 16px;font-size:18px;font-weight:600}.attach-dl{gap:10px;display:grid}.attach-dl a{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.attach-dl a:hover{border-color:#4dc8b673;transform:translateY(-1px);box-shadow:0 12px 28px -18px #0f1f3333}.attach-dl .atype{color:#fff;background:linear-gradient(135deg, var(--navy), var(--teal-deep));letter-spacing:.02em;border-radius:10px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:700;display:inline-flex}.attach-dl .ainfo{flex:1;min-width:0}.attach-dl .aname{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.attach-dl .ameta{color:var(--ink-faint);margin-top:2px;font-size:12.5px}.attach-dl .adl{color:var(--teal-deep);flex:none;font-size:13px;font-weight:600}.alert{border-radius:10px;margin-bottom:18px;padding:13px 16px;font-size:14px}.alert.ok{color:var(--teal-deep);background:#4dc8b61f}.alert.err{color:#c0392b;background:#c0392b1a}@media (max-width:700px){.admin-side{width:64px}.admin-side .a-brand span,.admin-side nav a span,.admin-side .a-foot{display:none}}
