@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#17272d;--muted:#667276;--mint:#a5e6cf;--deep:#101b21;--line:#dde2dd;--paper:#fafbf8;--font:'Manrope','Noto Sans TC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:18px;-webkit-font-smoothing:antialiased;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #42a98a}input:focus,select:focus,textarea:focus{outline:2px solid var(--mint);outline-offset:2px}button{border:0}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}h2{font-size:50px;font-weight:700;letter-spacing:-1.4px}h3{letter-spacing:-.5px}::selection{background:var(--mint);color:var(--deep)}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 100px));margin:0 auto}.section{padding:112px 0}.eyebrow{font:700 15px/1.5 var(--font);letter-spacing:2px;color:#527b70;margin:0 0 24px}.eyebrow.light{color:#b6e3d4}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;color:white;border-bottom:1px solid #ffffff24}.nav-wrap{width:min(1360px,calc(100% - 80px));margin:auto;min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;white-space:nowrap;gap:8px}.brand-mark{width:33px;height:33px;margin-right:2px}.wordmark{font:800 32px/1 'Manrope',sans-serif;letter-spacing:-1.6px}.brand-dot{color:var(--mint)}.brand-cn{font-size:16px;font-weight:500;letter-spacing:1.5px;margin-left:12px;padding-left:17px;border-left:1px solid #ffffff45}nav{display:flex;align-items:center;gap:28px;font-size:16px;font-weight:500}nav>a{transition:color .2s}nav>a:hover{color:var(--mint)}nav .nav-cta{display:flex;align-items:center;gap:24px;border:1px solid #ffffff6b;padding:10px 18px;border-radius:3px}nav .nav-cta:hover{background:var(--mint);border-color:var(--mint);color:var(--deep)}.menu-toggle{display:none}.skip-link{position:fixed;top:-70px;left:16px;padding:10px 20px;background:var(--mint);color:var(--deep);z-index:100}.skip-link:focus{top:12px}.hero{position:relative;isolation:isolate;background:var(--deep);min-height:745px;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-3;background:url('./assets/city-vision.png') center center/cover no-repeat;opacity:.8}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0e1a22e8 0%,#0e1a22b0 40%,#0e1a2210 74%),linear-gradient(0deg,#101b21 0%,#101b2100 30%,#101b2140 100%)}.hero-grid{position:absolute;inset:95px 0 0;z-index:-2;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:80px 80px}.hero-content{padding-top:188px;padding-bottom:130px;position:relative;z-index:2;pointer-events:none}.hero-content>*{pointer-events:auto;width:fit-content}.hero .eyebrow{font-size:14px;letter-spacing:2.2px;display:flex;gap:10px;align-items:center;margin-bottom:27px}.live-dot{display:inline-block;height:6px;width:6px;flex-shrink:0;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px #a5e6cf14}.hero h1{font-size:clamp(48px,5vw,73px);font-weight:700;line-height:1.27;letter-spacing:-3px}.hero h1 span{color:var(--mint)}.hero-copy{font-size:20px;color:#c1ccce;margin-top:26px;line-height:1.95;letter-spacing:.5px}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;font-size:18px;font-weight:700;padding:16px 23px;min-height:53px;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-mint{background:var(--mint);color:var(--deep)}.button-mint:hover{background:#c6f4e3}.button span{font-size:24px;font-weight:400;line-height:1}.hero-secondary{font-size:18px;color:#e7eeeb;display:flex;gap:24px;align-items:center}.hero-secondary:hover{color:var(--mint)}.hero-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;gap:30px;align-items:center;color:#a9bdbf;font-size:14px;letter-spacing:1px}.hero-bottom>span:first-child{color:#d5dfdd}.hero-bottom .concept-note{font-size:13px;letter-spacing:.5px}.hero-bottom>a{margin-left:auto;font-size:13px;display:flex;gap:16px}.hero-bottom>a>span{font-size:20px;line-height:1}.vision-frame{position:absolute;width:31%;height:270px;right:8%;top:31%;pointer-events:none;opacity:.8}.frame-corner{position:absolute;width:24px;height:24px;border-color:#a5e6cf9c;border-style:solid}.tl{top:0;left:0;border-width:1px 0 0 1px}.tr{top:0;right:0;border-width:1px 1px 0 0}.bl{bottom:0;left:0;border-width:0 0 1px 1px}.br{bottom:0;right:0;border-width:0 1px 1px 0}.frame-label{position:absolute;top:-25px;font-size:12px;letter-spacing:2px;color:#b3ddcb}.frame-bottom{position:absolute;bottom:13px;right:15px;font-size:12px;letter-spacing:1px;color:#bfdece;display:flex;gap:8px;align-items:center}.frame-bottom i{height:4px;width:4px;border-radius:50%;background:var(--mint)}.capability-strip{background:#edf2ed;border-bottom:1px solid #d9e1db}.strip-inner{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;align-items:center;min-height:91px;gap:24px}.strip-inner>span{font-size:18px;font-weight:500}.strip-inner .strip-intro{font-size:18px;letter-spacing:1px;font-weight:600}.strip-inner b{font:500 14px 'Manrope',sans-serif;color:#719687;margin-right:16px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:49px}.section-heading .eyebrow{margin-bottom:20px}.section-intro{font-size:18px;color:var(--muted);line-height:1.9;max-width:370px;padding-bottom:5px}.solution-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid #cad7cf;margin-bottom:35px;gap:24px}.solution-tabs>button{text-align:left;background:transparent;color:#87918f;font-size:20px;display:flex;align-items:center;padding:22px 4px;position:relative;gap:16px}.solution-tabs>button:after{content:'';height:2px;position:absolute;bottom:-1px;left:0;right:0;background:transparent}.solution-tabs>button[aria-selected=true]{color:var(--ink);font-weight:700}.solution-tabs>button[aria-selected=true]:after{background:#348b70}.solution-tabs>button span{font-family:'Manrope',sans-serif;font-size:14px;color:#829b90}.solution-tabs>button i{margin-left:auto;font-style:normal}.solution-panel{display:grid;grid-template-columns:1.15fr 1fr;gap:75px;align-items:center}.solution-visual{background:#13262e;color:#b6d2c9;border-radius:4px;overflow:hidden;position:relative;min-width:0;background-image:linear-gradient(#6f9a8a08 1px,transparent 1px),linear-gradient(90deg,#6f9a8a08 1px,transparent 1px);background-size:28px 28px}.visual-top{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;font-size:12px;font-family:'Manrope',sans-serif;letter-spacing:1.2px}.visual-top>span:first-child{display:flex;gap:10px;align-items:center}.visual-top>span:last-child{color:#668c84}.visual-top .live-dot{height:4px;width:4px}.recognition-illustration{width:100%;height:320px;object-fit:contain}.visual-caption{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-top:1px solid #ffffff12;gap:8px;font-size:13px;letter-spacing:.5px}.visual-caption>span:last-child{color:#7d9c97;font-size:12px}.solution-description .eyebrow{font-size:13px;margin-bottom:15px;letter-spacing:1.6px}.solution-description h3{font-size:34px;font-weight:600;line-height:1.5;margin-bottom:22px;letter-spacing:-.8px}.solution-description>p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.9;max-width:380px}.check-list{list-style:none;padding:0;margin:23px 0 28px;display:grid;gap:10px;font-size:16px}.check-list li{position:relative;padding-left:21px}.check-list li:before{content:'✓';position:absolute;left:0;color:#478b70;font-family:'Manrope',sans-serif}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;font-size:16px;font-weight:600;border-bottom:1px solid #829a8d;padding-bottom:9px}.text-link:hover{color:#36876a}.text-link>span{font-size:22px;font-weight:400}.notify-diagram{height:320px;display:flex;align-items:center;justify-content:center;padding:20px;gap:9px}.notify-node{display:grid;justify-items:center;gap:10px;border:1px solid #507b71;padding:22px 10px;flex:1;max-width:132px;border-radius:5px;background:#183138}.notify-node b{font-size:16px;white-space:nowrap}.notify-node small{font-size:13px;color:#7faaa0}.diagram-icon{font-size:30px;color:var(--mint);line-height:1}.diagram-arrow{font-size:20px;color:#6b9e8f}.main-node{background:#264a46;border-color:#a5e6cf}.integration{background:#edf1ec}.integration-line{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #c9d6cd;padding:27px 34px;margin-bottom:50px;border-radius:3px}.integration-line span{font-size:18px;font-weight:500}.integration-line i{font-style:normal;color:#7ca48f;font-size:24px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process-grid article{border-top:1px solid #c9d6cd;padding-top:24px}.step{display:flex;align-items:center;gap:12px;font:500 24px 'Manrope',sans-serif;color:#4f7d69}.step span{font-size:12px;letter-spacing:1.5px;color:#6d877b}.process-grid h3{font-size:22px;margin:20px 0 13px;font-weight:600}.process-grid p{font-size:16px;color:var(--muted);line-height:1.95}.projects .section-intro>p{color:var(--ink);font-weight:500;font-size:18px;margin-bottom:10px}.projects .section-intro>span{font-size:15px}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:140px 1fr auto;gap:40px;align-items:center;padding:33px 0;border-bottom:1px solid var(--line)}.project-year{font:400 36px 'Manrope',sans-serif;color:#687f72;letter-spacing:-1px}.project-tag{display:block;color:#6c8c79;font-size:13px;letter-spacing:.5px;margin-bottom:8px}.project-body h3{font-size:24px;font-weight:600;margin-bottom:8px}.project-body p{color:var(--muted);font-size:15px}.project-row>a{display:flex;align-items:center;gap:36px;font-size:15px;color:#506d60;padding:12px 0}.project-row>a>span{font-size:24px}.project-row>a:hover{color:#22795b}.source-note{font-size:14px;color:#7c8780;margin-top:22px;line-height:1.9}.about{border-top:1px solid var(--line);padding-top:90px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px}.about h2{font-size:44px}.about-lead{font-size:20px;font-weight:600;margin:30px 0 12px}.about-copy{font-size:18px;color:var(--muted);max-width:440px;line-height:2;margin-bottom:25px}.about-values{padding-top:3px}.about-values article{display:flex;gap:27px;border-bottom:1px solid var(--line);padding:23px 0}.about-values article:first-child{padding-top:0}.about-values article>span{font-family:'Manrope',sans-serif;color:#86a691;font-size:14px;padding-top:7px}.about-values h3{font-size:22px;font-weight:600;margin-bottom:9px}.about-values p{font-size:16px;line-height:1.9;color:var(--muted)}.company-meta{display:flex;justify-content:space-between;gap:20px;font:500 13px var(--font);color:#809184;margin-top:30px;letter-spacing:.5px}.contact{background:var(--deep);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:44px;line-height:1.55;letter-spacing:-1.7px}.contact h2 span{color:var(--mint)}.contact-copy>.eyebrow{font-size:13px;margin-bottom:28px}.contact-copy>p:not(.eyebrow){font-size:18px;color:#a8b5b8;margin:26px 0;line-height:1.95}.contact-email{display:flex;justify-content:space-between;gap:20px;width:fit-content;font:500 24px 'Manrope',sans-serif;letter-spacing:-.5px;border-bottom:1px solid #687f7b;padding:12px 0;min-width:330px;margin-top:40px}.contact-email:hover{color:var(--mint)}.contact-email>span{font-size:28px;color:var(--mint)}address{font-size:15px;color:#a5b6b5;font-style:normal;margin-top:22px}.contact-form h3{font-size:23px;font-weight:500;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:grid;gap:8px;margin-bottom:18px}.field label{font-size:15px;color:#bdcac9}.field label span{color:var(--mint)}.field input,.field select,.field textarea{width:100%;min-width:0;background:#ffffff05;border:1px solid #ffffff25;border-radius:3px;color:#eaf1f0;font-size:16px;padding:12px 13px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#7f9294}.field textarea{resize:vertical;min-height:96px}.field select{color-scheme:dark}.form-submit{width:100%;margin-top:4px}.form-note{font-size:13px;line-height:1.8;color:#9aafae;margin-top:12px}.form-status{font-size:15px;line-height:1.8;color:var(--mint);margin-top:8px}.footer{background:#0d171c;color:#b8c7c8}.footer-top{padding-top:43px;padding-bottom:37px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand .wordmark{font-size:28px;color:#eff4f2}.footer-brand .brand-cn{font-size:14px}.footer-top p{font-size:14px;color:#8a9d9f;letter-spacing:.5px}.footer-top>a:last-child{font-size:12px;letter-spacing:1px;color:#c8d7d1}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff15;padding-top:22px;padding-bottom:25px;font-size:12px;color:#7c9394}.footer-bottom>div{display:flex;gap:30px;align-items:center}.privacy-trigger{background:transparent;padding:0;color:inherit;font-size:inherit}.privacy-trigger:hover{color:var(--mint)}dialog{width:min(540px,calc(100% - 40px));border:0;padding:42px;border-radius:7px;color:var(--ink);background:var(--paper);box-shadow:0 15px 80px #0003}dialog::backdrop{background:#061014b8;backdrop-filter:blur(3px)}dialog h2{font-size:28px;margin-bottom:24px}dialog p:not(.eyebrow){font-size:18px;margin-bottom:20px;color:var(--muted);line-height:1.9}.dialog-close{position:absolute;right:18px;top:13px;font-size:30px;background:transparent;color:var(--muted)}
@media(min-width:1500px){.hero{min-height:830px}.hero-content{padding-top:215px}.hero h1{font-size:82px}.vision-frame{top:33%;height:310px}}@media(max-width:1180px){.nav-wrap{width:calc(100% - 52px)}nav{gap:20px}.brand-cn{display:none}.container{width:calc(100% - 80px)}.hero h1{font-size:61px}.solution-panel{gap:45px}.solution-description h3{font-size:32px}.about-grid{gap:70px}.contact-grid{gap:65px}.contact h2{font-size:38px}.contact-email{font-size:22px;min-width:290px}.section-intro{max-width:320px}}@media(max-width:900px){.container{width:calc(100% - 56px)}.nav-wrap{min-height:80px}.wordmark{font-size:28px}.brand-mark{width:28px}.site-header nav{gap:18px;font-size:15px}.site-header nav .nav-cta{gap:12px;padding:9px 12px}.hero{min-height:690px}.hero-content{padding-top:168px}.hero h1{font-size:56px}.hero-image{background-position:58% center}.vision-frame{right:5%;width:30%;height:225px;top:37%}.hero-copy{font-size:18px}.strip-inner{gap:15px}.strip-inner .strip-intro{font-size:16px}.strip-inner>span{font-size:15px}.strip-inner b{margin-right:8px}.section{padding:84px 0}h2{font-size:42px}.section-heading{gap:25px}.section-intro{font-size:16px;max-width:270px}.solution-panel{gap:30px;grid-template-columns:1fr 1fr}.solution-description h3{font-size:30px}.solution-description>p:not(.eyebrow){font-size:16px}.recognition-illustration,.notify-diagram{height:290px}.visual-caption{padding:13px 15px;flex-wrap:wrap}.visual-top{padding:17px 15px;font-size:12px}.check-list{font-size:15px;gap:7px}.process-grid{gap:22px}.process-grid p{font-size:15px}.project-row{grid-template-columns:100px 1fr auto;gap:25px}.project-body h3{font-size:20px}.project-row>a{gap:15px}.about-grid{gap:50px}.about h2{font-size:36px}.contact-grid{gap:40px}.contact h2{font-size:34px}.contact-email{min-width:0;font-size:20px;gap:20px}.footer-top p{display:none}.footer-bottom{font-size:12px}.notify-diagram{padding:14px;gap:5px}.notify-node{padding:18px 6px}.notify-node b{font-size:13px}.notify-node small{font-size:12px}.diagram-arrow{font-size:18px}.company-meta{font-size:12px;flex-wrap:wrap;gap:10px}}
@media(max-width:900px){html{scroll-padding-top:30px}.container{width:calc(100% - 40px)}.nav-wrap{width:calc(100% - 40px);min-height:76px}.brand-mark{width:27px;height:27px}.wordmark{font-size:28px}.brand-cn{display:block;font-size:14px;letter-spacing:.5px;margin-left:4px;padding-left:10px}.menu-toggle{display:grid;align-content:center;gap:6px;width:38px;height:38px;background:transparent;padding:8px;z-index:2}.menu-toggle span{display:block;background:#d8e9e4;width:22px;height:1px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#101b21fa;padding:15px 20px 25px;align-items:stretch;flex-direction:column;gap:0;box-shadow:0 10px 20px #0002}.site-header nav.is-open{display:flex}.site-header nav>a{padding:13px 5px;font-size:18px;border-bottom:1px solid #ffffff16}.site-header nav .nav-cta{margin-top:16px;padding:12px;justify-content:space-between;border:1px solid #ffffff50}.hero{min-height:760px}.hero-content{padding-top:150px;padding-bottom:210px}.hero .eyebrow{font-size:12px;letter-spacing:1.7px;margin-bottom:25px}.hero h1{font-size:clamp(37px,8.8vw,56px);line-height:1.42;letter-spacing:-1.7px}.hero-copy{font-size:18px;line-height:1.95;margin-top:23px;letter-spacing:.25px}.hero-image{background-position:67% center;opacity:.8}.hero:before{background:linear-gradient(90deg,#0e1a22ed 0%,#0e1a22b5 42%,#0e1a2245 100%),linear-gradient(0deg,#101b21 0%,#101b2100 45%)}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:30px}.button{padding:14px 18px;font-size:16px;min-height:50px;gap:25px}.hero-secondary{font-size:15px;gap:13px}.vision-frame{width:40%;height:120px;right:7%;top:auto;bottom:95px;opacity:.5}.frame-label{font-size:12px;letter-spacing:1px;top:-19px}.frame-bottom{font-size:12px;right:8px;bottom:8px;letter-spacing:.5px}.frame-corner{height:13px;width:13px}.hero-bottom{bottom:25px;flex-wrap:wrap;gap:6px 12px;font-size:13px}.hero-bottom .concept-note{font-size:12px}.hero-bottom>a{font-size:12px;width:100%;margin-top:8px;gap:9px}.hero-bottom>a>span{font-size:18px}.strip-inner{grid-template-columns:1fr 1fr;min-height:130px;padding-top:22px;padding-bottom:22px;gap:16px}.strip-inner .strip-intro{font-size:18px}.strip-inner>span{font-size:15px}.section{padding:68px 0}h2{font-size:36px;line-height:1.5;letter-spacing:-1.2px}.eyebrow{font-size:13px;letter-spacing:1.5px;margin-bottom:18px}.section-heading{display:block;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:17px}.section-intro{margin-top:22px;font-size:16px;max-width:none;line-height:1.95}.solution-tabs{gap:12px;margin-bottom:25px}.solution-tabs>button{font-size:16px;padding:15px 0;gap:7px}.solution-tabs>button>span{font-size:12px}.solution-tabs>button>i{font-size:16px}.solution-panel{grid-template-columns:1fr;gap:32px}.solution-description h3{font-size:32px;line-height:1.5;margin-bottom:16px}.solution-description .eyebrow{font-size:12px;margin-bottom:12px}.solution-description>p:not(.eyebrow){max-width:none;font-size:18px}.check-list{font-size:16px;gap:10px;margin:20px 0 25px}.recognition-illustration,.notify-diagram{height:auto;min-height:270px}.visual-caption{flex-wrap:nowrap;padding:14px 16px}.visual-top{padding:17px 16px;font-size:12px}.visual-caption{font-size:12px}.visual-caption>span:last-child{font-size:12px}.notify-diagram{padding:16px 11px}.notify-node{padding:20px 8px}.notify-node b{font-size:15px}.notify-node small{font-size:12px}.diagram-arrow{font-size:20px}.integration-line{padding:20px 17px;gap:13px;margin-bottom:32px;display:grid;grid-template-columns:1fr auto 1fr}.integration-line span{font-size:16px}.integration-line i:nth-of-type(2){display:none}.process-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.step{font-size:23px;gap:9px}.step span{font-size:12px;letter-spacing:.8px}.process-grid h3{font-size:20px;margin:17px 0 10px}.process-grid p{font-size:15px}.project-row{grid-template-columns:1fr auto;gap:10px 15px;padding:25px 0}.project-year{grid-column:1/-1;font-size:26px;margin-bottom:3px}.project-body h3{font-size:20px;line-height:1.6;letter-spacing:-.3px}.project-tag{font-size:12px;margin-bottom:6px}.project-body p{font-size:14px}.project-row>a{font-size:13px;gap:9px;align-self:center}.project-row>a>span{font-size:22px}.source-note{font-size:12px;line-height:2}.projects .section-intro>p{font-size:16px}.projects .section-intro>span{font-size:14px}.about-grid{grid-template-columns:1fr;gap:36px}.about h2{font-size:36px}.about-lead{font-size:18px;margin-top:23px}.about-copy{font-size:16px}.about-values article{gap:20px;padding:20px 0}.about-values h3{font-size:20px}.about-values p{font-size:15px}.company-meta{font-size:12px;margin-top:24px}.contact-grid{grid-template-columns:1fr;gap:48px}.contact h2{font-size:36px}.contact-copy>.eyebrow{font-size:12px;margin-bottom:24px}.contact-copy>p:not(.eyebrow){font-size:16px;margin:20px 0}.contact-email{font-size:23px;gap:25px;margin-top:25px}.contact-email>span{font-size:26px}address{font-size:14px;margin-top:15px}.contact-form{border-top:1px solid #ffffff24;padding-top:30px}.contact-form h3{font-size:22px;margin-bottom:23px}.form-row{gap:14px}.field{margin-bottom:16px}.field label{font-size:15px}.field input,.field select,.field textarea{font-size:20px;padding:11px 12px}.field input::placeholder,.field textarea::placeholder{font-size:16px}.field select{font-size:18px;min-height:47px}.field textarea{min-height:112px}.form-note{font-size:13px}.footer-top{padding-top:34px;padding-bottom:27px;gap:15px}.footer-brand .wordmark{font-size:26px}.footer-brand .brand-cn{display:none}.footer-top>a:last-child{font-size:12px;letter-spacing:.5px}.footer-bottom{display:block;font-size:12px;padding-bottom:25px;padding-top:20px;line-height:1.9}.footer-bottom>div{margin-top:13px;gap:25px}dialog{padding:35px 25px}dialog h2{font-size:28px}dialog p:not(.eyebrow){font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep supporting text readable across breakpoints. */
.hero-content { max-width: 1200px; }
.hero-copy { font-size: 20px; }
.section-intro,
.solution-description > p:not(.eyebrow),
.check-list,
.process-grid p,
.about-copy,
.about-values p,
.contact-copy > p:not(.eyebrow),
dialog p:not(.eyebrow) { font-size: 18px; line-height: 1.85; }
.solution-description > p:not(.eyebrow),
.about-copy { max-width: none; }
.field label { font-size: 16px; }
.field input,
.field select,
.field textarea { font-size: 17px; line-height: 1.7; }
.field input::placeholder,
.field textarea::placeholder { font-size: 16px; }
.visual-top { flex-wrap: wrap; gap: 10px; line-height: 1.6; }
.visual-caption { flex-wrap: wrap; gap: 8px 18px; line-height: 1.7; }
.visual-caption > span:last-child { font-size: 12px; }
.source-note,
.form-note,
.footer-bottom { font-size: 13px; line-height: 1.8; }
.company-meta,
.footer-bottom > div { flex-wrap: wrap; }
.contact-email { overflow-wrap: anywhere; min-width: 0; max-width: 100%; }
.contact-email > span { flex-shrink: 0; }
.frame-bottom { max-width: calc(100% - 30px); letter-spacing: .5px; }

@media(max-width: 1180px) {
  .section-intro { max-width: 370px; }
  .solution-panel { gap: 40px; }
}
@media(max-width: 900px) {
  body { font-size: 17px; }
  .hero { min-height: 820px; }
  .hero-copy { font-size: 18px; }
  .hero .eyebrow,
  .solution-description .eyebrow,
  .contact-copy > .eyebrow { font-size: 13px; }
  .hero-actions { gap: 20px 28px; }
  .button,
  .hero-secondary,
  .text-link,
  .site-header nav > a { font-size: 17px; }
  .strip-inner > span,
  .strip-inner .strip-intro { font-size: 16px; }
  .section-intro,
  .solution-description > p:not(.eyebrow),
  .check-list,
  .process-grid p,
  .about-copy,
  .about-values p,
  .contact-copy > p:not(.eyebrow),
  dialog p:not(.eyebrow) { font-size: 17px; line-height: 1.85; }
  .solution-tabs > button { font-size: 16px; }
  .visual-caption { flex-wrap: wrap; }
  .notify-diagram { height: auto; min-height: 320px; }
  .notify-node { min-width: 0; }
  .notify-node b { font-size: 15px; }
  .notify-node small { font-size: 13px; }
  .integration-line span { font-size: 17px; }
  .project-row { grid-template-columns: minmax(0, 1fr) auto; gap: 14px; }
  .project-body h3 { font-size: 22px; }
  .project-body p,
  .project-row > a,
  .projects .section-intro > span,
  .company-meta,
  address { font-size: 15px; }
  .projects .section-intro > p { font-size: 18px; }
  .company-meta { gap: 14px; }
  .footer-bottom { font-size: 13px; }
  .footer-bottom > div { gap: 14px 24px; }
}
@media(max-width: 480px) {
  .brand-cn { font-size: 13px; }
  .hero h1 { font-size: clamp(36px, 8.8vw, 44px); }
  .hero-content { padding-bottom: 190px; }
  .vision-frame { bottom: 110px; height: 88px; width: 48%; }
  .frame-label { font-size: 12px; top: -23px; }
  .frame-bottom { font-size: 12px; line-height: 1.5; right: 8px; bottom: 8px; }
  .hero-bottom { gap: 8px 14px; }
  .hero-bottom > a { margin-top: 3px; }
  .strip-inner { grid-template-columns: 1fr; gap: 12px; }
  .strip-inner .strip-intro { margin-bottom: 3px; }
  .section-heading { margin-bottom: 28px; }
  .solution-tabs { gap: 8px; }
  .solution-tabs > button { gap: 6px; font-size: 15px; flex-wrap: wrap; }
  .solution-tabs > button > i { display: none; }
  .visual-top { padding: 17px 15px; letter-spacing: .5px; }
  .visual-caption { padding: 14px 15px; }
  .notify-diagram { flex-direction: column; gap: 14px; padding: 26px 18px; }
  .notify-node { width: 100%; max-width: 240px; padding: 20px 16px; }
  .notify-node b { font-size: 17px; }
  .notify-node small { font-size: 14px; }
  .diagram-arrow { transform: rotate(90deg); line-height: 1; }
  .process-grid,
  .form-row { grid-template-columns: 1fr; }
  .process-grid { gap: 28px; }
  .process-grid h3 { font-size: 23px; }
  .project-row { grid-template-columns: minmax(0, 1fr); }
  .project-row > a { justify-self: start; padding: 4px 0; gap: 16px; }
  .contact h2 { font-size: 34px; }
  .contact-email { font-size: 21px; gap: 14px; letter-spacing: -.5px; }
  .footer-top { align-items: flex-start; flex-wrap: wrap; }
}
@media(max-width: 360px) {
  .nav-wrap { gap: 12px; }
  .nav-wrap .brand-cn { display: none; }
  .nav-wrap .wordmark { font-size: 27px; }
  .hero .eyebrow { font-size: 12px; letter-spacing: 1px; }
}
