:root{--navy:#0b1730;--green:#5ae3b5;--ink:#142139;--muted:#5d6b7e;--line:#dce3ec}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:"PingFang TC","Microsoft JhengHei",sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #078463;outline-offset:5px}header{min-height:94px;display:flex;align-items:center;justify-content:space-between;padding:20px 6%;background:white;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:26px;font-weight:800;line-height:1.3}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:500;margin-top:4px}nav{display:flex;gap:30px;font-size:15px}nav a:hover{color:#078463}section{padding:90px 6%}h1{font-size:clamp(42px,5.4vw,76px);line-height:1.28;letter-spacing:-2px;margin:0 0 25px}h1 span{color:var(--green)}h2{font-size:clamp(32px,3.6vw,48px);line-height:1.4;margin:0;letter-spacing:-1px}h3{font-size:23px;line-height:1.5;margin:18px 0 12px}p{margin:0 0 22px}.eyebrow{font-size:13px;letter-spacing:2px;color:#327861;font-weight:700;margin-bottom:24px}.hero{background:var(--navy);color:white;display:grid;grid-template-columns:1.6fr 1fr;gap:8%;padding-bottom:40px}.hero .eyebrow,.contact .eyebrow{color:var(--green)}.lead{font-size:19px;color:#bac8df}.actions{display:flex;gap:14px;margin-top:34px}.button,.outline{display:inline-block;padding:12px 24px;font-weight:700}.button{background:var(--green);color:var(--navy)}.button:hover{background:#92f2ce}.outline{border:1px solid #62718c}.outline:hover{background:#263653}.hero-foot{border-top:1px solid #33415b;padding-top:24px;margin-top:65px;font-size:13px;color:#a4b4cb;display:flex;justify-content:space-between;gap:20px}aside{align-self:center;background:#12223d;border:1px solid #334664;padding:32px;box-shadow:16px 16px 0 #0e1d36}.cap-head{font-size:30px;letter-spacing:3px;font-weight:800;display:flex;justify-content:space-between;align-items:center;padding-bottom:20px}.cap-head small{font-size:13px;font-weight:400;letter-spacing:1px;color:#98aecb}.cap{display:flex;gap:24px;align-items:center;border-top:1px solid #33415b;padding:20px 0}.cap b{font-size:13px;color:var(--green);font-family:monospace}.cap div{font-size:23px;font-weight:600}.cap small{display:block;color:#a2b6d3;font-size:14px;font-weight:400}aside p{font-size:14px;border-top:1px solid #33415b;padding-top:20px;color:#9bb0ce;margin:0}.about{display:grid;grid-template-columns:1fr 1.4fr;gap:10%}.copy p{color:var(--muted)}.year{border-top:1px solid var(--line);padding-top:25px;margin-top:30px;display:flex;gap:30px;align-items:center}.year strong{font-size:48px;color:#1c6c56;line-height:1}.year span{font-size:14px;color:var(--muted)}.services{background:#f2f5f8}.heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:44px}.heading>p{color:var(--muted);margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid article{background:white;padding:34px 28px;border-top:3px solid var(--navy);display:flex;flex-direction:column}.grid p{color:var(--muted)}.tags{background:#edf4f1;color:#32624f;padding:6px 10px;font-size:13px;margin-top:auto}.projects article{display:flex;gap:32px;align-items:center;border-top:1px solid var(--line);padding:30px 0}.projects article:last-child{border-bottom:1px solid var(--line)}.projects article>span{font-size:32px;color:#9baac0;min-width:50px}.projects small{font-size:13px;color:#357b64;letter-spacing:1px}.projects h3{margin:6px 0}.projects p{margin:0;color:var(--muted)}.projects em{margin-left:auto;font-size:14px;font-style:normal;white-space:nowrap;border:1px solid var(--line);padding:5px 14px}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:12%;padding-top:80px;padding-bottom:80px}.contact p:not(.eyebrow){color:#b9c7dd;margin:22px 0 28px}.contact dl{align-self:center;margin:0}.contact dl div{display:grid;grid-template-columns:75px 1fr;gap:16px;border-bottom:1px solid #33415b;padding:16px 0}.contact dt{font-size:14px;color:#a7b7cd}.contact dd{margin:0;overflow-wrap:anywhere}.contact dd a:hover{text-decoration:underline}footer{padding:32px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:13px;color:var(--muted)}footer strong{font-size:20px;color:var(--ink)}footer small{font-size:13px;font-weight:400}@media(min-width:1500px){header,section,footer{padding-left:max(6%,calc((100vw - 1300px)/2));padding-right:max(6%,calc((100vw - 1300px)/2))}}@media(max-width:900px){nav{gap:16px}.hero{gap:4%}aside{padding:22px}.hero-foot{flex-direction:column;gap:4px}.grid{gap:12px}.grid article{padding:25px 20px}.contact{gap:5%}footer{flex-wrap:wrap}}@media(max-width:680px){header{position:relative;flex-wrap:wrap;padding:18px 6%;gap:16px}.brand{font-size:23px}nav{width:100%;justify-content:space-between;gap:8px;font-size:14px}.hero{display:block;padding-top:50px}.hero .eyebrow{font-size:12px;letter-spacing:1px}.lead{font-size:16px}h1{font-size:44px}.actions{gap:10px}.button,.outline{padding:12px 17px;font-size:15px}.hero-foot{margin-top:40px}aside{margin-top:30px;box-shadow:none}.cap-head{font-size:23px}.cap{padding:12px 0}.cap div{font-size:20px}section{padding-top:60px;padding-bottom:60px}.about,.contact{grid-template-columns:1fr;gap:32px}.heading{display:block}.heading>p{margin-top:22px}.grid{grid-template-columns:1fr;gap:16px}.grid article{padding:28px}.projects article{align-items:flex-start;gap:16px}.projects article>span{font-size:26px;min-width:30px}.projects em{display:none}.projects h3{font-size:20px}.contact dd{font-size:15px}footer{display:block}footer>span{display:block;margin:18px 0}html{scroll-padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
