@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102937;--ink:#153340;--blue:#087ba7;--cyan:#98ebf3;--muted:#59707b;--line:#d9e3e7;--light:#f2f6f7;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 'DM Sans','Microsoft YaHei',sans-serif}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Manrope,'Microsoft YaHei',sans-serif;line-height:1.13}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:5px}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:contain}section{scroll-margin-top:90px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.topline{background:var(--navy);color:#d1e3eb;font-size:12px;padding:7px 0;letter-spacing:.05em}.topline .wrap{display:flex;justify-content:space-between}.topline a{text-decoration:underline;text-underline-offset:3px}header{background:#ffffffef;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.nav{height:82px;display:flex;align-items:center;gap:32px}.brand{font:bold 27px Manrope,sans-serif;letter-spacing:-1.3px;margin-right:auto}.brand em{font-style:normal;color:var(--blue)}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:.22em;color:var(--muted);margin-top:0}.navlinks{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}.navlinks a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--navy);color:#fff;padding:14px 23px;border:1px solid var(--navy);font-size:14px;font-weight:600;border-radius:3px}.btn:hover{background:#21506a}.btn.light{background:#fff;color:var(--ink);border-color:var(--line)}.btn.cyan{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}.menu{display:none;background:none;border:1px solid var(--line);padding:6px 12px}.hero{background:linear-gradient(100deg,#f2f7f9,#fff);padding:68px 0 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:45px;align-items:center}.hero h1{font-size:clamp(40px,4.7vw,66px);letter-spacing:-2.5px;margin:22px 0}.hero h1 span{color:var(--blue)}.hero-copy{font-size:18px;max-width:550px;color:var(--muted)}.actions{display:flex;gap:14px;margin:29px 0;flex-wrap:wrap}.hero-note{font-size:13px;color:var(--muted)}.hero-image{position:relative;min-height:435px;background:#eaf1f4;border-radius:50% 50% 3px 3px;padding:35px;display:grid;place-items:center}.hero-image img{height:360px;mix-blend-mode:multiply}.image-tag{position:absolute;bottom:18px;left:20px;right:20px;background:#fffffff5;padding:15px 18px;border:1px solid #e0e7eb;font-size:13px;display:flex;justify-content:space-between;align-items:center}.image-tag b{display:block;font-size:15px}.image-tag span{color:var(--muted)}.cap-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:55px;padding:23px 0;gap:20px;font-size:14px;font-weight:600}.cap-strip span{color:var(--blue);font-size:12px;margin-right:13px}.section{padding:88px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.section h2{font-size:clamp(30px,3vw,43px);letter-spacing:-1.3px;margin-top:12px;max-width:670px}.section-head>p{max-width:370px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:18px}.card .number{color:var(--blue);font-size:14px;font-weight:700}.card h3{font-size:23px;max-width:300px}.card p{color:var(--muted);font-size:15px}.card ul{margin:0;padding-left:18px;font-size:14px;line-height:2}.card .textlink{margin-top:auto}.textlink{font-size:14px;font-weight:700;display:inline-flex;gap:20px;align-items:center;padding-top:10px}.textlink:hover{color:var(--blue)}.dark{background:var(--navy);color:#fff}.dark .eyebrow{color:var(--cyan)}.dark .section-head>p{color:#b7cbd5}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:44px}.step{border-top:1px solid #52707f;padding-top:20px}.step>span{font:32px Manrope;color:#83b2c7}.step h3{font-size:20px;margin:18px 0 12px}.step p{font-size:14px;color:#bbced6}.step small{display:block;margin-top:20px;color:var(--cyan);font-size:13px}.product-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px}.product{background:var(--light);padding:24px;display:flex;flex-direction:column}.product-img{height:220px;margin-bottom:20px}.product-img img{mix-blend-mode:multiply}.product h3{font-size:21px;margin-bottom:10px}.product p{font-size:14px;color:var(--muted)}.product a{margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px}.split p{color:var(--muted);margin-top:20px}.quality-list{list-style:none;padding:0;margin:0}.quality-list li{padding:18px 0;border-bottom:1px solid var(--line)}.quality-list strong{font-size:17px}.quality-list p{font-size:14px;margin:6px 0 0}.faq{margin-top:25px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-size:16px;font-weight:600;cursor:pointer}.faq p{font-size:14px;margin-top:13px}.project{background:#ecf4f7}.project-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.project h2{font-size:44px}.project-intro>p{color:var(--muted);margin:22px 0}.contact-detail{margin-top:40px;padding-top:25px;border-top:1px solid var(--line)}.contact-detail a{font-size:20px;font-weight:600}.contact-detail small{display:block;color:var(--muted);margin-top:7px}form{background:#fff;padding:30px;border:1px solid var(--line)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:block;font-size:14px;font-weight:600}input,select,textarea{display:block;margin-top:7px;width:100%;padding:11px 12px;border:1px solid #bbcdd5;border-radius:2px;background:#fff;color:var(--ink);font-size:15px}textarea{min-height:110px;resize:vertical}.full{grid-column:1/-1}.form-note{font-size:12px;color:var(--muted);margin:16px 0}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.status{font-size:14px;color:var(--blue);margin-top:12px}.footer{background:#0b222f;color:#c3d5dd;padding:38px 0;font-size:13px}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer .brand{color:white;font-size:24px}.footer-links{display:flex;gap:24px}.footer-bottom{margin-top:28px;border-top:1px solid #294450;padding-top:20px;display:flex;justify-content:space-between;font-size:12px}.plan{background:#f4f7f8}.planmain{max-width:1000px;margin:50px auto;background:#fff;padding:55px}.planmain h1{font-size:38px;margin:12px 0 22px}.planmain h2{font-size:25px;margin:45px 0 18px}.planmain h3{font-size:19px;margin:25px 0 14px}.planmain p,.planmain li{line-height:1.9;margin:10px 0}.planmain table{border-collapse:collapse;width:100%;margin:20px 0;font-size:14px}.planmain th,.planmain td{border:1px solid var(--line);padding:13px;vertical-align:top;text-align:left}.planmain th{background:#edf4f7}.planmain a{color:var(--blue);text-decoration:underline}.planmain .btn{color:#fff;text-decoration:none}.architecture{padding:25px;background:#f4f7f8;font-size:15px;white-space:pre-wrap;line-height:1.9}.planmain blockquote{margin:20px 0;padding-left:20px;border-left:3px solid var(--blue)}@media(max-width:1000px){.wrap{width:calc(100% - 44px)}.navlinks{gap:16px}.nav{gap:20px}.hero h1{font-size:46px}.hero-image{min-height:355px;padding:15px}.hero-image img{height:300px}.split,.project-grid{gap:35px}.product-grid{grid-template-columns:repeat(3,1fr)}.product-img{height:170px}.planmain{margin:20px;padding:35px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.topline{font-size:11px}.topline .wrap>span{max-width:210px}.nav{height:72px}.nav>.btn{display:none}.menu{display:block}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:22px;box-shadow:0 15px 20px #10293715}.navlinks.open{display:flex;flex-direction:column;align-items:stretch}.brand{font-size:24px}.hero{padding-top:38px}.hero-grid,.split,.project-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:44px;letter-spacing:-1.5px}.hero-copy{font-size:17px}.hero-image{min-height:320px;border-radius:120px 120px 3px 3px}.hero-image img{height:280px}.cap-strip{grid-template-columns:1fr 1fr;margin-top:35px;gap:15px;font-size:12px}.section{padding:55px 0}.section-head{display:block}.section-head>p{margin-top:20px}.section h2{font-size:32px}.cards,.product-grid{grid-template-columns:1fr}.card{padding:25px}.steps{grid-template-columns:1fr 1fr;gap:28px 20px}.product-img{height:240px}.product{padding:26px}.project h2{font-size:37px}.fields{grid-template-columns:1fr}.full{grid-column:auto}form{padding:22px}.footer-row,.footer-bottom{flex-direction:column;align-items:start}.footer-links{flex-wrap:wrap;gap:16px}.planmain{margin:0;padding:25px 20px}.planmain h1{font-size:30px}.planmain table{font-size:13px}.planmain th,.planmain td{padding:8px;overflow-wrap:anywhere}.architecture{font-size:13px;padding:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.topline,.footer,.planmain>.actions{display:none}.planmain{margin:0;padding:0;max-width:none}.planmain h2{break-after:avoid}.planmain tr{break-inside:avoid}}

.subhero{padding:35px 0 60px;background:#edf4f7}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:35px}.breadcrumb a{text-decoration:underline}.subhero h1{font-size:clamp(36px,4.5vw,60px);letter-spacing:-1.8px;max-width:900px;margin:18px 0 24px}.subintro{font-size:20px;color:var(--muted);max-width:860px}.detail-width{max-width:1120px}.detail-body{margin-top:26px}.detail-body>p{max-width:920px;color:var(--muted);margin-bottom:20px}.detail-body .cards{margin-top:30px}.detail-body h3{font-size:23px}.table-scroll{overflow-x:auto}.detail-table{border-collapse:collapse;width:100%;font-size:16px}.detail-table th,.detail-table td{text-align:left;vertical-align:top;padding:20px;border-bottom:1px solid var(--line)}.detail-table th{background:var(--navy);color:white;font-weight:600}.detail-table td:first-child{font-weight:600;width:27%}.detail-table td:not(:first-child){color:var(--muted)}.detail-table tr:nth-child(even){background:var(--light)}.case-inline{padding:30px;background:var(--light);border:1px solid var(--line)}.case-inline h3{margin:15px 0}.case-inline p{max-width:850px;color:var(--muted)}.detail-list{padding-left:22px;line-height:2;color:var(--muted)}.detail-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.detail-cta p:not(.eyebrow){margin-top:20px;color:#bfd3dc;max-width:620px}.frequency-panel{margin-top:42px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;max-width:820px;padding:32px;background:var(--navy);color:white;gap:30px}.frequency-panel strong{font:600 60px Manrope,sans-serif}.frequency-panel small{font-size:22px}.frequency-panel span{display:block;font-size:13px;color:#c1d7e0}.probe-label{font-weight:700;text-align:center;color:var(--cyan);border-left:1px solid #52707f;border-right:1px solid #52707f;padding:18px 10px}.probe-label span{font-weight:400;margin-top:5px}@media(max-width:760px){.subhero{padding:25px 0 40px}.subhero h1{font-size:36px}.subintro{font-size:17px}.detail-table{font-size:14px}.detail-table th,.detail-table td{padding:13px 10px}.detail-table td:first-child{width:31%}.detail-cta{display:block}.detail-cta>.btn{margin-top:25px}.frequency-panel{padding:20px 12px;gap:10px}.frequency-panel strong{font-size:35px}.frequency-panel small{font-size:16px}.frequency-panel span{font-size:12px}.probe-label{font-size:13px}.case-inline{padding:22px}}

/* User-supplied Hong Kong project photographs */
.project-photos{background:#f2f6f7}.project-photos>div>p{max-width:760px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}.photo-grid figure{margin:0;background:#fff;border:1px solid #dbe5e9;border-radius:12px;overflow:hidden}.photo-grid figure>a{display:block;background:#e4eaeb}.photo-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}.photo-grid figcaption{padding:22px;line-height:1.65}.photo-grid figcaption strong,.photo-grid figcaption span{display:block}.photo-grid figcaption span{color:#526975;margin-top:8px}.photo-note{font-size:14px;color:#526975;margin-top:20px}.case-with-photo{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:32px;align-items:center}.case-photo{display:block}.case-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;border-radius:8px}@media(max-width:700px){.photo-grid,.case-with-photo{grid-template-columns:1fr}.photo-grid{gap:24px}.case-photo{max-width:300px;width:100%;margin:auto}.photo-grid figcaption{padding:18px}}

.probe-design-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;margin-top:44px;background:white;border:1px solid #dbe5e9;border-radius:12px;padding:28px}.probe-design-detail figure{margin:0}.probe-design-detail img{display:block;width:100%;height:auto;object-fit:contain}.probe-design-detail figcaption{font-size:13px;color:#526975;line-height:1.6;margin-top:14px}.probe-design-detail h3{font-size:30px;line-height:1.2}.probe-design-detail p{line-height:1.7}@media(max-width:700px){.probe-design-detail{grid-template-columns:1fr;gap:20px;padding:18px}.probe-design-detail h3{font-size:26px}}

.engineering-photos img{aspect-ratio:4/3;height:auto;object-fit:contain}#test-interface{scroll-margin-top:90px}

.hardware-photos figure>a{background:#eef2f3}.hardware-photos img{aspect-ratio:4/3;width:100%;height:auto;object-fit:contain}#board-photos,#prototype-debugging{scroll-margin-top:90px}

#test-record{scroll-margin-top:90px}.report-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;margin-top:32px}.report-detail figure{margin:0}.report-detail img{display:block;width:100%;height:auto;object-fit:contain;border:1px solid #dbe5e9}.report-detail figcaption{font-size:13px;line-height:1.6;color:#526975;margin-top:12px}.record-facts{display:grid;grid-template-columns:1fr 1.3fr;gap:12px 20px;margin:24px 0;line-height:1.6}.record-facts dt{font-weight:600}.record-facts dd{margin:0;color:#526975}@media(max-width:700px){.report-detail{grid-template-columns:1fr;gap:24px}.record-facts{grid-template-columns:1fr;gap:6px}.record-facts dd{margin-bottom:12px}}

.ned-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.ned-hero img{display:block;width:100%;height:auto;object-fit:contain;background:white;border-radius:12px}.ned-hero h1{font-size:clamp(32px,4vw,56px)}@media(max-width:700px){.ned-hero{grid-template-columns:1fr;gap:26px}}

.evidence{background:#f6f9fa}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.evidence-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:0}.evidence-card:hover{border-color:#93b7c6}.evidence-image{display:block;height:230px;overflow:hidden;background:#e8eef0}.evidence-image img{width:100%;height:100%;object-fit:cover}.evidence-document{background:#e7edef;padding:18px}.evidence-document img{object-fit:contain}.evidence-meta{display:flex;flex:1;flex-direction:column;padding:24px}.evidence-meta small{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--blue)}.evidence-meta strong{font:700 21px/1.25 Manrope,sans-serif;margin:12px 0}.evidence-meta>span{font-size:14px;color:var(--muted)}.evidence-meta b{font-size:14px;margin-top:auto;padding-top:22px}.navlinks a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--navy);color:#fff;padding:10px 14px}.skip-link:focus{top:16px}@media(max-width:760px){.evidence-grid{grid-template-columns:1fr}.evidence-image{height:240px}}

.case-with-photo{grid-template-columns:minmax(240px,320px) 1fr;gap:44px;padding:36px;background:#f6f9fa;border-radius:14px;box-shadow:0 18px 50px #1029370a}.case-with-photo .case-photo img{border-radius:10px}@media(max-width:700px){.case-with-photo{grid-template-columns:1fr;gap:26px;padding:24px}.case-with-photo .case-photo{max-width:320px}}

/* Keep mobile form controls readable without changing the page layout. */
@media(max-width:760px){input,select,textarea{font-size:16px}}
