:root{font-family:Inter,"Microsoft YaHei","PingFang SC",sans-serif;color:#17202b;background:#fff;--blue:#205caa;--ink:#17202b;--muted:#535f6d;--line:#e5eaf0;--wash:#f4f7fa}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;width:100%;object-fit:cover}
figure,p,h1,h2,h3{margin:0}
:focus-visible{outline:3px solid #488be5;outline-offset:4px}
.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.header{position:sticky;top:0;z-index:4;background:#fffffff7;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:18px;font-weight:750;letter-spacing:.05em;line-height:1.12;white-space:nowrap}
.brand small{display:block;margin-top:5px;font-size:8px;letter-spacing:.15em;color:var(--muted)}
.mark{display:inline-flex;align-items:flex-end;gap:3px;padding:0 4px 0 1px;transform:skew(-20deg)}
.mark i{width:6px;height:15px;background:#275e9c;border-radius:1px}
.mark i:nth-child(2){height:23px}
.mark i:nth-child(3){height:30px;background:#75a5d6}
.header nav{display:flex;gap:36px;align-items:center;color:#4d5762;font-size:14px}
.header nav a{padding:12px 0}
.header nav a:hover,.header nav [aria-current]{color:var(--blue)}
.header nav [aria-current]{font-weight:700}
.header-contact{border:1px solid #d8e4f3;color:var(--blue);padding:10px 17px;border-radius:8px;font-size:14px;white-space:nowrap}
.header-contact:hover,.secondary:hover{background:#eaf2fc}
.menu,.header nav .mobile-contact{display:none}
.hero{text-align:center;padding-top:65px}
.eyebrow{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.13em;line-height:1.5}
.hero .eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4587ce;vertical-align:2px;margin-right:10px}
h1{font-size:clamp(40px,5.15vw,78px);letter-spacing:-.065em;line-height:1.12;font-weight:780;margin:17px 0 22px}
.lead{color:var(--muted);font-size:clamp(16px,1.55vw,20px);line-height:1.8}
.actions{display:flex;justify-content:center;gap:13px;margin:27px 0 39px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:47px;border-radius:8px;background:var(--blue);color:white;padding:11px 18px;font-size:14px;font-weight:650;transition:background .2s}
.button:hover{background:#154780}
.secondary{background:#f1f6fc;color:#21548f}
.hero-photo{position:relative;overflow:hidden;border-radius:19px;background:#dce8ee}
.hero-photo img{height:clamp(300px,36vw,525px);object-position:50% 56%;filter:saturate(.72)}
.hero-photo a{position:absolute;left:23px;bottom:23px;display:flex;align-items:center;gap:12px;padding:11px 14px;background:#fffc;border-radius:7px;backdrop-filter:blur(10px);font-size:12px;color:#354861}
.hero-photo a span{font-weight:750;color:#17202b}
.section{padding-block:86px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:29px}
h2{font-size:clamp(28px,3vw,45px);line-height:1.22;letter-spacing:-.045em}
.section-head h2{margin-top:10px}
.text-link,.card-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:14px;font-weight:700;white-space:nowrap}
.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.solution-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:24px 20px;min-height:225px;border-radius:13px;transition:background .2s,border .2s}
.solution-card:hover{background:#f6f9fd;border-color:#c7daf1}
.symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#ecf3fc;color:var(--blue);font-size:25px;margin-bottom:20px}
h3{font-size:20px;line-height:1.35}
.solution-card p,.about-strip p:not(.eyebrow),.cta p,.about-panel p:not(.eyebrow),.company-location p,.case-text p,.contact-grid p,.solution-detail p{font-size:16px;line-height:1.75;color:var(--muted)}
.solution-card p{margin:8px 0 19px;font-size:14px}
.card-link{margin-top:auto}
.work-band{background:var(--wash)}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.case-card{border-radius:13px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.case-card a{display:block}
.case-card a:focus-visible{outline-offset:-4px}
.case-photo{overflow:hidden;background:#e7edf3}
.case-photo img{aspect-ratio:1.53;transition:transform .3s}
.case-card a:hover img{transform:scale(1.045)}
.case-body{position:relative;padding:19px 46px 21px 19px}
.meta{color:var(--blue);font-size:12px;margin-bottom:6px}
.case-arrow{position:absolute;right:17px;bottom:20px;color:var(--blue)}
.about-strip{display:grid;grid-template-columns:1fr 2fr;gap:20px;border-bottom:1px solid var(--line);padding-block:80px}
.about-strip p:not(.eyebrow){margin:17px 0}
.cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:38px 42px;background:var(--wash);border-radius:15px;margin-block:70px}
.cta h2{font-size:clamp(25px,3vw,38px)}
.cta p{margin-top:10px}
.footer{border-top:1px solid var(--line);padding:34px 0;color:var(--muted)}
.foot-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.foot-inner p{font-size:13px;margin-top:14px}
.foot-inner>div:last-child{display:flex;gap:18px;font-size:13px;flex-wrap:wrap}
.foot-inner a:hover{color:var(--blue)}
.intro,.case-intro{padding-top:76px;padding-bottom:42px}
.intro h1,.case-intro h1{font-size:clamp(38px,5vw,68px)}
.intro .lead{max-width:740px}
.jump,.filters,.chips{display:flex;gap:10px;flex-wrap:wrap}
.jump a,.filters button,.chips li{border-radius:999px;padding:10px 16px;background:var(--wash);color:#32455c;border:1px solid var(--line);font-size:14px}
.jump a:hover,.filters button:hover{border-color:#87a9d3}
.solution-detail{display:grid;grid-template-columns:1fr 1.55fr;align-items:center;gap:24px;padding:38px 0;border-bottom:1px solid var(--line);scroll-margin-top:95px}
.solution-detail:target{border-bottom-color:#93b1d5}
.chips{padding:0;margin:16px 0;list-style:none}
.filters{margin-bottom:24px}
.filters button{cursor:pointer}
.filters [aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
.case-intro>.text-link{margin-bottom:28px}
.detail-photo{margin-top:27px}
.detail-photo img{max-height:570px;object-fit:contain;background:var(--wash);border-radius:14px}
figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.case-text{margin-top:33px}
.case-text p,.company-location p{margin:12px 0}
.about-panel,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.about-panel{align-items:center;background:var(--wash);border-radius:16px;padding:35px;gap:32px}
.about-panel h2{margin:10px 0}
.about-panel .text-link,.contact-grid .text-link{margin-top:17px}
.about-panel img{border-radius:10px;aspect-ratio:1.65}
.company-location{padding-top:40px}
.contact-grid{padding-bottom:76px}
.contact-grid article{background:var(--wash);padding:28px;border-radius:15px}
.contact-grid h2{font-size:26px;margin-bottom:15px}
.contact-grid .phone{color:var(--blue);font-weight:750;font-size:clamp(25px,4vw,40px)}
.contact-grid .button{margin-top:16px}
address{font-style:normal;color:var(--muted);line-height:1.8}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;top:10px;left:10px;z-index:10;background:white;padding:10px}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.header nav{gap:21px}.solution-grid{grid-template-columns:repeat(2,1fr)}.case-grid{gap:15px}.case-body h3{font-size:17px}}
@media(max-width:700px){
.shell{width:calc(100% - 36px)}
.header-inner{height:63px}
.header-contact{display:none}
.menu{display:block;border:1px solid var(--line);border-radius:8px;background:white;padding:9px 13px;color:var(--ink);cursor:pointer}
.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:9px 18px 17px;border-bottom:1px solid var(--line)}
.header nav.open{display:grid;gap:2px}
.header nav a,.header nav .mobile-contact{display:block;padding:12px 8px}
.hero{padding-top:47px}
h1{margin:14px 0 17px}
.actions{margin:23px 0 26px;gap:8px;flex-wrap:wrap}
.hero-photo img{height:285px}
.hero-photo a{left:10px;bottom:10px;gap:6px;padding:9px}
.section,.about-strip{padding-block:48px}
.section-head{align-items:start;flex-direction:column;gap:10px;margin-bottom:18px}
.solution-grid{gap:9px}
.solution-card{padding:15px 11px;min-height:0}
.solution-card h3{font-size:17px}
.symbol{margin-bottom:13px}
.case-grid,.about-strip,.about-panel,.contact-grid,.solution-detail{grid-template-columns:1fr}
.case-body h3{font-size:20px}
.cta{flex-direction:column;align-items:start;margin-block:42px;padding:25px}
.intro,.case-intro{padding-top:47px;padding-bottom:27px}
.about-panel{padding:20px}
.foot-inner{align-items:start;flex-direction:column}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
h1,h2{letter-spacing:-.025em}
