:root{font-size:18px;--ink:#17344f;--blue:#143f70;--muted:#4f6475;--paper:#eaf4ff;--light:#d9eaff;--line:#b8cee5;--accent:#b5dfef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Microsoft JhengHei","PingFang TC",Arial,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #b86510;outline-offset:5px}button:disabled{cursor:default}.skip{position:fixed;left:1rem;top:-100px;z-index:10;background:var(--blue);color:white;padding:1rem}.skip:focus{top:1rem}.utility{background:var(--blue);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:8px 5%;font-size:.78rem}.utility div{display:flex;gap:10px}.utility button{color:inherit;background:transparent;border:0;padding:6px 9px;min-height:44px}.utility button[aria-pressed=true]{background:#fff;color:#143f70;border-radius:3px}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5%;gap:30px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-icon{border:2px solid var(--blue);font-size:1.35rem;display:grid;place-items:center;width:46px;height:46px;border-radius:50%}.brand b{font-size:1.15rem;display:block;line-height:1.4}.brand small{display:block;font-size:.66rem;letter-spacing:.12em}nav{display:flex;gap:27px;font-size:.9rem;flex-wrap:wrap}nav a{padding:7px 0}nav a:hover{color:#2671a7;text-decoration:underline;text-underline-offset:7px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.hero-copy{padding:65px 10% 30px}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.13em;color:var(--blue);margin:0 0 16px}h1{font-size:clamp(2.2rem,3.7vw,3.4rem);line-height:1.35;letter-spacing:-.025em;margin:0 0 25px;font-weight:700}p{margin:0 0 1rem}.lead{font-size:1rem;color:var(--muted);max-width:520px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;background:var(--blue);color:white;padding:11px 26px;margin-top:16px;border-radius:3px;font-weight:600}.button:hover{background:#205585}.hero-foot{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:50px;font-size:.76rem;color:var(--muted)}.hero-foot span:first-child{font-weight:bold;letter-spacing:.12em}.hero-visual{position:relative;min-height:500px;background:#dce5eb;overflow:hidden}.hero-visual img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.image-note{position:absolute;bottom:0;left:0;right:0;color:#fff;padding:55px 7% 28px;background:linear-gradient(transparent,rgba(13,34,49,.82))}.image-note span{font-size:1.1rem;display:block}.image-note small{font-size:.7rem;letter-spacing:.17em}.section{padding:68px 5%;scroll-margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading h2,.about h2{font-size:2rem;line-height:1.4;margin:0}.section-heading p:last-child{max-width:450px;color:var(--muted);font-size:.94rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:29px;border:1px solid var(--line);background:var(--paper);border-top:3px solid var(--blue)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.tag{color:var(--blue);font-size:.78rem;font-weight:bold}.card-num{font-size:1.75rem;color:#8299ab}.card h3{font-size:1.24rem;line-height:1.5;margin:0 0 16px}.card p{color:var(--muted);font-size:.91rem}.text-button{background:none;border:0;border-bottom:1px solid var(--blue);color:var(--blue);padding:10px 0 5px;min-height:44px;font-weight:bold;font-size:.85rem}.text-button:hover{border-bottom-width:3px}.research{background:var(--light)}.research-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.research-layout>div{padding-top:10px}.research-layout h3{font-size:1.55rem;margin:0 0 15px}.research-layout p{color:var(--muted)}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:27px;padding:19px 0;border-bottom:1px solid var(--line)}.steps li:first-child{padding-top:0}.steps span{font-size:1.45rem;color:var(--blue);font-weight:600}.steps h3{font-size:1.1rem;margin:0}.steps p{font-size:.91rem;margin:4px 0 0}.case-card{background:var(--light);border-top:0}.case-card .card-top{border-bottom:1px solid var(--line);padding-bottom:22px}.products{border-top:1px solid var(--line)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product{padding:24px 0;border-top:2px solid var(--blue)}.product .category{font-size:.76rem;color:var(--muted)}.product h3{font-size:1.1rem;margin:8px 0 13px}.product p{font-size:.87rem;color:var(--muted)}.disclaimer{font-size:.78rem;color:var(--muted);margin:28px 0 0}.about{background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9%}.about .eyebrow{color:var(--accent)}.about h3{font-size:2rem;line-height:1.5;margin:30px 0 0}.about p{color:#e4edf5}.about h4{margin:28px 0 12px}.socials{display:flex;flex-wrap:wrap;gap:10px}.socials a,.socials button{color:white;border:1px solid #a7bdcf;background:transparent;padding:10px 15px;font-size:.83rem;border-radius:3px;min-height:46px}.socials button:disabled{color:#c4d2e1}.social-note{font-size:.77rem;margin-top:15px}footer{padding:25px 5%;display:flex;justify-content:space-between;gap:20px;font-size:.77rem;color:var(--muted)}dialog{width:min(750px,calc(100% - 32px));border:0;border-radius:6px;padding:45px;max-height:85vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(9,27,44,.65)}dialog h2{font-size:1.65rem;line-height:1.5}dialog h3{font-size:1.1rem}dialog p{color:var(--muted)}.close{position:absolute;top:9px;right:15px;background:none;border:0;color:var(--ink);font-size:1.8rem;min-width:44px;min-height:44px}.large{font-size:22px}.contrast{--ink:#fff;--blue:#fff;--muted:#eee;--paper:#0b1520;--light:#152536;--line:#a3b6c7;--accent:#fff}.contrast .utility,.contrast .about{background:#000}.contrast .button{background:#fff;color:#000}.contrast .card-num{color:#c5d8e8}.contrast nav a:hover{color:#fff}.contrast .brand-icon{border-color:white}.contrast .eyebrow{color:white}@media(min-width:1550px){main,header,footer,.utility{max-width:1700px;margin:auto}}@media(max-width:1050px){header{align-items:start;flex-direction:column;gap:12px;position:relative}nav{gap:20px}.hero-copy{padding:40px 10%}.hero-foot{margin-top:30px}.product-grid{grid-template-columns:repeat(2,1fr)}html{scroll-padding-top:20px}}@media(max-width:700px){.utility{align-items:start;gap:7px;flex-direction:column}.utility div{width:100%;justify-content:space-between}.utility button{padding:5px}header{padding:20px 6%}nav{gap:8px 18px;font-size:.85rem}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6%}.hero-visual{min-height:320px}.hero-foot{gap:18px}.section{padding:45px 6%}.section-heading{display:block}.section-heading p:last-child{margin-top:14px}.cards,.research-layout,.about{grid-template-columns:1fr}.cards{gap:16px}.research-layout{gap:25px}.about{gap:30px}.about h3{font-size:1.7rem}.product-grid{gap:20px}.product h3{font-size:1rem}.card{padding:23px}footer{flex-direction:column;gap:8px}dialog{padding:38px 24px}.large .product-grid{grid-template-columns:1fr}.large nav{font-size:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* WCAG-oriented reading, reflow and focus improvements. */
header{position:relative}
html{scroll-padding-top:1rem}
body{overflow-wrap:anywhere}
main:focus,h2[tabindex]:focus{outline:3px solid #143f70;outline-offset:5px}
button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #143f70;outline-offset:4px;box-shadow:0 0 0 7px #fff}
.utility button:focus-visible,.about a:focus-visible{outline-color:#fff;box-shadow:0 0 0 7px #000}
nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 5px}
.brand small,.image-note small{font-size:.8rem}
.hero-foot{flex-wrap:wrap;font-size:.85rem}
.hero-foot span:first-child{color:var(--muted)}
.image-note{background:#17344f;padding:22px 7%}
.image-note small{color:#fff}
.card-num{color:#506b80}
.category,.tag,.eyebrow,.disclaimer,.social-note,footer,.text-button{font-size:max(.8rem,14px)}
.section-heading,.hero-copy,.research-layout>div,.about>div,.card,.product{min-width:0}
.reading-tools{margin:0;padding:25px 5%;border-block:1px solid var(--line);background:var(--light)}
.reading-tools h2{font-size:1.15rem;margin:0 0 14px;line-height:1.5}
.reader-options,.reader-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.reader-options{margin-bottom:14px}
.reader-options label{font-weight:600}
.reader-options select{font:inherit;background:var(--paper);color:var(--ink);border:2px solid var(--muted);padding:8px 12px;min-height:48px;max-width:100%;border-radius:3px}
.reader-controls button{font:inherit;background:var(--paper);color:var(--ink);border:2px solid var(--blue);padding:9px 18px;min-height:48px;border-radius:3px}
.reader-controls button:not(:disabled):hover{background:var(--blue);color:var(--paper)}
.reader-controls button:disabled{color:var(--muted);border-color:var(--line);background:var(--light)}
.reader-status{font-size:.9rem;min-height:1.75em;margin:12px 0 3px}
.reader-help{font-size:.85rem;color:var(--muted);margin:0}
.article-reader{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
dialog{overflow-y:auto}
dialog form{display:flex;justify-content:end;margin:0 0 15px}
.close{position:static;font-size:1rem;padding:8px 15px;border:2px solid var(--blue);border-radius:3px;line-height:1.5}
.social-placeholder{border:1px solid #a7bdcf;padding:10px 15px;display:inline-flex;flex-direction:column;gap:2px;font-size:.9rem;color:#fff;min-height:48px}
.social-placeholder small{font-size:.8rem;color:#e4edf5}
.about .social-heading{font-size:1.1rem;margin:28px 0 12px}
.contrast .skip{background:#fff;color:#000}
.contrast button:focus-visible,.contrast a:focus-visible,.contrast select:focus-visible,.contrast h2[tabindex]:focus,.contrast main:focus{outline-color:#ffdf3c;box-shadow:0 0 0 7px #000}
.contrast .reader-controls button:not(:disabled):hover{background:#fff;color:#000}
.contrast .card-num{color:#eee}
@media(max-width:700px){.reader-options{align-items:stretch}.reader-options label{flex-basis:100%}.reader-options select{width:100%}.reader-controls button{flex:1 1 130px}.reading-tools{padding:22px 6%}.hero-copy{padding:35px 6%}.hero-visual{min-height:360px}}
@media(max-width:400px){.product-grid{grid-template-columns:1fr}.utility div{flex-wrap:wrap}.utility button{flex:1 1 90px}.hero-foot{gap:10px}.image-note{padding:16px 6%}}
@media(forced-colors:active){button,a,select{forced-color-adjust:auto}button:focus-visible,a:focus-visible,select:focus-visible,h2[tabindex]:focus{outline:3px solid Highlight;box-shadow:none}.button{border:2px solid ButtonText}.image-note{background:Canvas;color:CanvasText}.image-note small{color:CanvasText}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

/* Light blue palette for the standard reading mode. */
:root:not(.contrast) .about{background:var(--light);color:var(--ink)}
:root:not(.contrast) .about .eyebrow{color:var(--blue)}
:root:not(.contrast) .about p{color:var(--muted)}
:root:not(.contrast) .about .socials a,:root:not(.contrast) .social-placeholder{color:var(--ink);border-color:var(--muted)}
:root:not(.contrast) .social-placeholder small{color:var(--muted)}
:root:not(.contrast) .about a:focus-visible{outline-color:var(--blue);box-shadow:0 0 0 7px var(--paper)}
