*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif;background:#f5f7fb;color:#15243b}a{text-decoration:none;color:inherit}.top{background:#0b1832;color:white;padding:22px max(5%,calc((100% - 1180px)/2))}.top a{font-weight:750;font-size:22px}.top span{color:#6ca5ff}.wrap{max-width:1180px;margin:auto;padding:52px 22px}.eyebrow{color:#2769db;font-weight:700;font-size:13px;letter-spacing:2px}h1{font-size:clamp(28px,4vw,46px);margin:12px 0}p{line-height:1.9;color:#607088}.intro{max-width:780px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0}.filter{padding:10px 17px;border:1px solid #dbe3f1;border-radius:30px;background:white;cursor:pointer;font-size:14px}.filter.active{background:#1769ee;color:white;border-color:#1769ee}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:white;border:1px solid #e8edf5;border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #183d751c}.card img{width:100%;height:220px;object-fit:cover;display:block}.card-body{padding:21px}.tag{font-size:12px;color:#236bdf;font-weight:700}.card h2{font-size:19px;margin:10px 0}.more{color:#1769ee;font-size:14px;font-weight:650}.breadcrumb{font-size:13px;color:#75849c}.heroimg{width:100%;max-height:590px;object-fit:cover;border-radius:14px;margin:20px 0}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.gallery img{width:100%;height:350px;object-fit:cover;border-radius:10px}.note{background:#eaf2ff;padding:22px;border-left:4px solid #1769ee;border-radius:6px}.cta{margin:50px 0 0;background:#0d2146;color:white;padding:35px;border-radius:14px}.cta p{color:#d6e2f5}.cta a{display:inline-block;background:#1e6fff;color:white;padding:12px 23px;border-radius:7px}footer{padding:30px;text-align:center;color:#8290a6;font-size:13px}@media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img{height:240px}}@media(max-width:560px){.grid,.gallery{grid-template-columns:1fr}.card img{height:230px}.gallery img{height:auto}.wrap{padding:30px 18px}}
/* V4.3 polish — additive, no changes to original layout rules */
:root{--twsx-blue:#1e6fff;--twsx-navy:#0b1730}
html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a:focus-visible,button:focus-visible{outline:3px solid #62a4ff!important;outline-offset:4px}
img{max-width:100%;height:auto}a,button{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Improve portfolio presentation: spacious imagery, consistent cards */
.grid{gap:24px!important}.grid .card{overflow:hidden;border-radius:16px!important;box-shadow:0 9px 26px rgba(11,23,48,.06)}
.grid .card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#e8edf5}
.grid .card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(11,23,48,.13)}
.grid .card .pad{padding:18px 20px 22px!important}
.grid .card h2,.grid .card h3{line-height:1.45!important;overflow-wrap:anywhere}
@media(max-width:720px){.grid{gap:16px!important}.grid .card img{aspect-ratio:16/10}}
