:root{--teal:#189b99;--deep:#105b57;--purple:#6260ad;--ink:#292c32;--muted:#666;--light:#f5f5f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;font-size:17px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0 0 22px}h1,h2,h3,h4{line-height:1.3;font-weight:800}h1{font-size:56px}h2{font-size:38px;color:var(--teal)}h3{font-size:24px}p{line-height:1.9}button{border:0}main{min-height:60vh}.wrap{width:min(1220px,calc(100% - 64px));margin:auto}.section{padding:85px 0}.center{text-align:center}.intro{max-width:920px;margin:0 auto 44px;text-align:center}.intro p{max-width:840px;margin:0 auto 24px}.light{background:var(--light)}.teal{background:var(--teal);color:white}.teal h2,.teal h3{color:white}.topbar{height:35px;background:#f6f6f6;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:0 25px}.social{letter-spacing:14px;color:#52565d}.topbar a{padding:9px;border-left:1px solid #e4e4e4}header{background:white;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #ddd}.header-inner{height:130px;display:flex;align-items:center;gap:32px;width:calc(100% - 64px);margin:auto}.logo img{width:108px;height:104px;object-fit:contain}.logo{margin-right:auto}.crest{width:84px;max-height:110px;object-fit:contain;margin-left:25px}header nav{display:flex;gap:30px;align-items:center}header nav a{white-space:nowrap}header nav a:hover,header nav a.active{color:var(--teal)}header nav a.contact-link{background:var(--purple);border-radius:30px;color:white;padding:5px 24px;font-weight:bold}.menu-toggle{display:none;background:transparent;font-size:26px;color:var(--teal)}.search-toggle{background:transparent;font-size:25px}.search-panel{padding:20px;background:#f5f5f5}.search-panel form{max-width:900px;margin:auto;display:flex;gap:10px}.search-panel[hidden]{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;padding:16px 32px;font-weight:700;letter-spacing:1px;border:1px solid var(--teal);transition:background .2s,transform .2s}.btn:hover{background:var(--deep);border-color:var(--deep)}.btn.white{background:#fff;color:var(--teal);border-color:white}.btn.outline{background:transparent;border:1px solid var(--teal);color:var(--teal)}.hero{position:relative;isolation:isolate;min-height:430px;color:white;display:flex;align-items:center;text-align:center;padding:65px 24px;background:#163c3e}.hero.home{min-height:540px}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:#0007;z-index:-1}.hero .content{max-width:830px;margin:auto}.hero h1{max-width:820px;margin:0 auto 24px}.hero p{max-width:780px;font-size:19px;line-height:1.65;margin:0 auto 32px}.page-heading{padding:72px 20px 45px;text-align:center;background:var(--light)}.page-heading h1{font-size:42px;color:var(--teal);max-width:1000px;margin:0 auto 24px}.logos{display:grid;grid-template-columns:repeat(8,1fr);gap:35px;align-items:center;padding:30px 0}.logos img{width:100%;height:80px;object-fit:contain;filter:grayscale(1);opacity:.85}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split.reverse .visual{order:2}.visual img{width:100%;aspect-ratio:1.45;object-fit:cover}.wide-image{width:100%;max-height:630px;object-fit:cover}.grid{display:grid;gap:28px;grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:transform .4s}.card .picture{overflow:hidden;background:#eee}.card:hover img{transform:scale(1.035)}.card h3{margin:22px 0 12px}.card p{font-size:16px;color:var(--muted)}.card .date{font-size:13px;color:#888}.card button{background:none;padding:0;text-align:left;width:100%;color:inherit}.project{position:relative;overflow:hidden;min-height:315px;color:white}.project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#000a);pointer-events:none}.project .caption{position:absolute;bottom:25px;left:28px;right:25px;z-index:1;text-align:left}.project h3{margin:0 0 16px}.project:hover img{transform:scale(1.04)}.project button{position:absolute;inset:0;width:100%;background:none;color:white;z-index:2}.carousel{position:relative}.carousel .slides{display:flex;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:24px}.carousel .slides>.project{flex:0 0 calc(50% - 12px);scroll-snap-align:start}.arrows{display:flex;justify-content:center;gap:12px;margin-top:26px}.arrows button{border:1px solid #aaa;background:transparent;font-size:23px;width:46px;height:44px;color:var(--teal)}.tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:35px 0 50px}.tabs button{background:transparent;border:1px solid var(--teal);padding:8px 20px;font-weight:700;color:var(--teal)}.tabs button.active,.tabs button:hover{background:var(--teal);color:white}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.quote{border:1px solid #ddd;padding:30px;background:white}.quote p{font-size:17px}.quote small{color:#777}.stars{color:#e8aa2b;letter-spacing:4px}.value img{width:90px;height:90px;object-fit:contain;margin:0 auto 25px}.value{padding:25px 20px;text-align:center}.value h3{color:var(--teal)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:15px;font-weight:bold}input,textarea,select{width:100%;padding:12px 14px;border:1px solid #bbb;background:white;color:#292c32;border-radius:0;margin-top:6px}textarea{min-height:145px;resize:vertical}form .btn{margin-top:22px}.notice{font-size:13px;color:#777}.status{margin-top:16px;color:var(--deep)}.subscribe{display:flex;gap:12px;align-items:end;max-width:800px;margin:30px auto}.subscribe label{flex:1}.subscribe .btn{white-space:nowrap}.article{max-width:900px;margin:auto;padding:65px 0}.article h2{font-size:30px;margin-top:40px}.article p{line-height:2}.article img{width:100%;margin:30px 0}.article .lead{font-size:22px;color:var(--teal)}.toc{padding:25px;background:var(--light);display:flex;gap:10px 25px;flex-wrap:wrap}.toc a{color:var(--teal)}details{border-bottom:1px solid #ccc;padding:20px 0}summary{font-weight:bold;cursor:pointer}details p{margin:18px 0 0}.office{padding:35px;background:#f5f5f5}.office h3{color:var(--teal)}footer{background:#f1f1f1;padding-top:60px;font-size:15px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:36px}footer h3{font-size:20px;color:var(--teal);margin:0 0 20px}footer a{display:block;margin-bottom:10px}footer a:hover{color:var(--teal)}footer input,footer textarea{font-size:14px}footer .accreditations{width:300px;margin:40px 0}.copyright{border-top:1px solid #ddd;padding:22px 0;font-size:12px}.copyright .wrap{display:flex;justify-content:space-between;gap:20px}dialog{border:0;padding:0;background:#fff;max-width:min(1100px,90vw);max-height:90vh}dialog::backdrop{background:#000c}dialog img{width:100%;max-height:72vh;object-fit:contain;background:#111}dialog .dialog-caption{padding:20px 55px 20px 25px}dialog .close{position:absolute;right:12px;top:10px;border-radius:50%;width:40px;height:40px;background:#fff;font-size:28px}dialog h3{margin:0}.empty{padding:50px;text-align:center}.pagination{display:flex;justify-content:center;gap:10px;margin:40px 0}.pagination button{padding:10px 18px;background:#eee}.pagination button.active{background:var(--teal);color:white}[hidden]{display:none!important}.skip{position:fixed;left:10px;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}
@media(min-width:1600px){.hero.home{min-height:650px}}@media(max-width:1050px){.header-inner{height:105px;gap:20px}header nav{gap:18px;font-size:15px}.crest{display:none}.split{gap:30px}.grid.four{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.logos{grid-template-columns:repeat(4,1fr)}h1{font-size:46px}h2{font-size:32px}}@media(max-width:760px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.section{padding:55px 0}.topbar{height:30px;padding:0 12px;font-size:10px}.social{display:none}.topbar>div:last-child{width:100%;display:flex;justify-content:space-between}.topbar a{padding:4px;border:0}.header-inner{width:calc(100% - 40px);height:86px;gap:18px}.logo img{width:76px;height:73px}.menu-toggle{display:block}.search-toggle{font-size:23px}header nav{display:none;position:absolute;left:0;right:0;top:86px;flex-direction:column;gap:0;align-items:stretch;background:white;padding:12px 20px 22px;box-shadow:0 12px 16px #0002}header nav.open{display:flex}header nav a{padding:12px;border-bottom:1px solid #eee}header nav a.contact-link{margin-top:10px;text-align:center}.hero,.hero.home{min-height:470px;padding:55px 20px}.hero h1{font-size:37px}.hero p{font-size:16px}.btn{padding:13px 25px}h2{font-size:29px}h3{font-size:22px}.page-heading{padding:50px 20px 30px}.page-heading h1{font-size:32px}.split,.grid,.grid.four,.quote-grid{grid-template-columns:1fr}.split.reverse .visual{order:0}.grid{gap:35px}.logos{gap:20px;padding:24px 0}.logos img{height:55px}.carousel .slides>.project{flex-basis:90%}.project{min-height:290px}.tabs{margin:25px 0 32px;gap:8px}.tabs button{padding:7px 12px;font-size:14px}.grid.four.blog-grid{grid-template-columns:repeat(2,1fr);gap:25px 16px}.blog-grid h3{font-size:18px}.blog-grid p{font-size:14px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid .footer-form{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.subscribe{flex-direction:column;align-items:stretch}.article{padding:40px 0}.article h2{font-size:27px}.copyright .wrap{flex-direction:column;gap:0}.office{padding:25px}.quote{padding:25px}.hero .content{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Dynamic template: keep source layout and support framework content. */
.logo img{width:100px;height:100px;object-fit:contain}.header-inner{gap:32px}.office-single{max-width:840px;margin:auto}.footer-entries{display:flex;gap:22px;flex-wrap:wrap}.footer-entries a{display:inline}.pagination a{padding:10px 18px;background:#eee}.pagination a.active{background:var(--teal);color:white}.article{overflow-wrap:anywhere}.article img{max-width:100%;height:auto}.hero h1{overflow-wrap:anywhere}.footer-grid p,.footer-grid a{overflow-wrap:anywhere}@media(max-width:760px){.logo img{width:64px;height:64px}.footer-entries{gap:18px}.hero h1{font-size:35px}}
