/* Content pages share the homepage header and navigation without moving them. */
body.inner-page{background:#fff;color:#111;overflow:hidden}
.inner-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;overflow:hidden}
.inner-main{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}
.inner-banner-band{display:flex;flex:none;align-items:center;justify-content:center;width:100%;background:#fff}
.inner-banner{display:block;flex:none;width:var(--site-banner-width);height:auto;aspect-ratio:1432/214;overflow:hidden}
.inner-article{display:flex;flex:1;flex-direction:column;min-height:0;padding:0 clamp(24px,4.3vw,62px) 28px;overflow:hidden}
.inner-title{flex:none;margin:0 0 8px;padding:0 0 0 14px;border-left:8px solid #ff0808;color:#e9850d;font-size:clamp(30px,3.05vw,44px);font-weight:400;line-height:1.4;overflow-wrap:anywhere}
@media(prefers-reduced-motion:no-preference){
  .inner-title-letter{animation:inner-title-reveal 100ms ease-out calc(var(--letter-index) * var(--letter-stagger,110ms)) backwards}
  @keyframes inner-title-reveal{from{opacity:0}}
}
html[lang="en"] .inner-title{--letter-stagger:40ms}
.inner-prose{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-left:30px;font-family:"Microsoft JhengHei","PingFang TC",Arial,sans-serif;font-size:clamp(18px,1.7vw,25px);line-height:1.5}
.inner-prose p{margin:0 0 23px}
.inner-prose p:last-child{margin-bottom:0}
.inner-prose strong{font-weight:700}
.service-prose{display:flex;flex:1;flex-direction:column;padding-bottom:50px}
.service-scope{margin:26px 0 36px!important;padding-left:6.3vw}
.service-community{margin-top:auto!important;padding-top:30px;font-weight:600}
.quality-prose{font-size:clamp(16px,1.38vw,20px);line-height:1.55}
.quality-prose p{margin:0}
.qualification-list{list-style:none;margin:28px 0 0;padding:0}
.qualification-list li{position:relative;margin:0 0 28px;padding-left:24px}
.qualification-list li::before{position:absolute;left:0;content:"*";font-weight:bold}
.contact-list{display:grid;gap:12px;margin:36px 0 0 8px;padding:0;list-style:none}
.contact-prose{padding-left:0}
.contact-list li{display:flex;align-items:center;gap:12px;min-height:58px}
.contact-list img{display:block;flex:none;width:56px;height:56px;object-fit:contain}
.contact-list a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.contact-list a:hover{text-decoration:underline}
.contact-list a:focus-visible{outline:2px solid #31d0d4;outline-offset:4px}
.inner-footer.home-footer{display:block}
.inner-footer p{margin:0 auto}
.project-workspace{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}
.project-sidebar{display:flex;flex:none;flex-direction:column;min-height:0;max-height:50%;padding:0 clamp(24px,4.3vw,62px) 14px;border-bottom:1px solid #ddd;overflow:hidden}
.project-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px}
.project-heading>.inner-title{flex:0 1 auto;min-width:0;margin-bottom:0}
.project-heading>.project-download{flex:0 1 auto;min-width:0;margin:0;white-space:normal;text-align:right;overflow-wrap:anywhere}
.project-description{white-space:normal;overflow-wrap:anywhere;margin:8px 0 14px}
html[lang="en"] .project-download{white-space:normal}
.project-years{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;min-height:0;overflow:auto;overscroll-behavior:contain;margin:12px 0 0;font-size:clamp(20px,1.65vw,25px);line-height:1.4}
.project-years a{color:#111;text-decoration:none}
.project-years a:hover,.project-years a:focus-visible{color:#d77713;text-decoration:underline}
.project-years a:focus-visible{outline:2px solid #31d0d4;outline-offset:3px}
.project-years [aria-current="page"]{font-weight:bold}
.project-year-overview{display:flex;flex:none;flex-wrap:wrap;align-items:baseline;gap:8px 18px}
.project-latest-year{flex:none;white-space:nowrap}
.project-status{display:flex;flex:none;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:8px 18px;margin:0}
.project-archives{display:flex;flex:none;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:8px 24px;width:100%;max-width:100%;margin-top:18px;overflow-x:visible}
.project-archives:empty{display:none}
.project-archives a{flex:none;white-space:nowrap}
.project-download{margin-top:32px;padding:0;border:0;background:transparent;color:#31d0d4;font:inherit;font-size:clamp(16px,1.4vw,21px);white-space:nowrap;cursor:pointer}
.project-sidebar .project-download{color:#31d0d4}
.project-sidebar .project-download:hover,.project-sidebar .project-download:focus-visible{color:#31d0d4;text-decoration:underline}
.project-download:focus-visible{outline:2px solid #31d0d4;outline-offset:3px}
.project-download:active{text-decoration-thickness:2px}
.project-viewer{flex:1;min-width:0;min-height:0;padding:12px 20px 24px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.project-sheet,.project-description-content{display:block;width:min(85%,1100px);margin:0 auto 24px}
.project-sheet img{display:block;width:100%;height:auto}
.project-sheet:focus-visible{outline:3px solid #31d0d4;outline-offset:3px}
.project-report-link{display:inline-block;margin-bottom:10px;color:#146e73;text-decoration:underline}
.project-pdf{display:block;width:100%;height:72svh;min-height:320px;border:1px solid #ddd}
.project-empty{display:grid;place-items:center;min-height:100%;padding:40px;color:#666;font-size:22px;text-align:center}
.project-feedback{flex:none;margin:8px 0 0;color:#9a3b15;font-size:14px;line-height:1.5}
.project-feedback[hidden]{display:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1000px){
  .inner-article{padding-bottom:clamp(8px,1.4svh,18px);scrollbar-gutter:auto}
  .inner-title{font-size:clamp(28px,4.8svh,40px);line-height:1.15;margin-bottom:clamp(5px,.7svh,8px)}
  .inner-prose{font-size:clamp(17px,2.9svh,24px);line-height:1.4}
  .inner-prose p{margin-bottom:clamp(6px,1.3svh,14px)}
  .inner-prose p:last-child{margin-bottom:0}
  .quality-prose{font-size:clamp(14px,2.35svh,19px);line-height:1.4}
  .quality-prose p{margin:0}
  .service-prose{padding-bottom:clamp(10px,2svh,24px)}
  .service-scope{margin:1.6svh 0 2.2svh!important}
  .service-community{padding-top:12px}
  .qualification-list{margin-top:clamp(12px,2svh,22px)}
  .qualification-list li{margin-bottom:clamp(10px,2.2svh,22px)}
  .contact-list{margin-top:clamp(12px,2.3svh,24px);gap:clamp(6px,1.4svh,12px)}
  .contact-list li{min-height:clamp(34px,6svh,52px)}
  .contact-list img{width:clamp(32px,5.8svh,50px);height:clamp(32px,5.8svh,50px)}
  .project-years{margin-top:8px;font-size:clamp(16px,2.5svh,22px);line-height:1.3}
  .project-archives{margin-top:clamp(10px,2svh,18px)}
  .project-download{margin-top:clamp(12px,2svh,22px);font-size:clamp(14px,2.2svh,18px)}
  .project-workspace{display:grid;grid-template-columns:clamp(240px,22.7vw,330px) minmax(0,1fr)}
  .project-sidebar{max-height:none;padding:0 14px 24px clamp(24px,4.3vw,62px);border-bottom:0}
  .project-heading{display:block}
  .project-heading>.inner-title{margin-bottom:8px}
  .project-years{width:calc(100% - 24px);margin-left:24px}
  .project-year-overview{flex-direction:column;align-items:flex-start;gap:0}
  .project-status{flex-direction:column;gap:0;margin-left:32px}
  .project-archives{flex-direction:column;flex-wrap:nowrap;gap:0;overflow-x:visible}
  .project-viewer{padding-top:0}
}
@media(min-width:1000px) and (max-width:1190px){
  .inner-prose{font-size:clamp(16px,2.3svh,20px)}
  .quality-prose{font-size:clamp(14px,1.9svh,16px)}
}
@media(min-width:1000px) and (max-height:700px){
  .quality-article{padding-bottom:4px}
  .quality-article .inner-title{margin-bottom:4px}
  .quality-prose{line-height:1.28}
}
@media(max-width:900px){
  .inner-title{font-size:32px}
  .inner-prose{padding-left:20px;font-size:18px}
  .contact-prose{padding-left:0}
  .quality-prose{font-size:16px}
  .project-years{font-size:20px}
  .project-sidebar .inner-title{font-size:30px}
  .project-download{font-size:15px;white-space:normal}
}
@media(max-width:600px){
  .inner-page .home-nav-links a{margin:2px}
  .inner-article{padding:0 20px 16px}
  .inner-title{margin-bottom:16px;border-left-width:5px;padding-left:10px;font-size:30px;line-height:1.5}
  .inner-prose{padding-left:0;font-size:17px;line-height:1.8;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto}
  .inner-prose p{margin-bottom:20px}
  .quality-prose{font-size:16px}
  .quality-prose p{margin-bottom:12px}
  .service-prose{padding-bottom:12px}
  .service-scope{padding-left:20px;margin:12px 0 28px!important}
  .service-community{padding-top:12px}
  .qualification-list{margin-top:16px}
  .qualification-list li{margin-bottom:20px;padding-left:18px}
  .contact-list{gap:16px;margin:8px 0 0}
  .contact-list li{align-items:flex-start;gap:10px;min-height:44px}
  .contact-list img{width:42px;height:42px}
  .contact-list li>span{padding-top:4px;min-width:0}
  .inner-footer.home-footer{padding:10px 16px}
  .project-sidebar{flex:none;max-height:50%;padding:0 20px 12px;border:0;border-bottom:1px solid #ddd}
  .project-years{flex:0 1 auto;margin:0;font-size:18px}
  .project-status{display:inline-flex;flex-direction:row;gap:16px;margin:0}
  .project-archives{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 18px;margin-top:12px}
  .project-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
  .project-heading>.inner-title{flex:0 1 auto;min-width:135px;margin-bottom:0}
  .project-heading>.project-download{flex:0 1 auto;min-width:0;margin:0;font-size:16px;line-height:1.4;white-space:normal;text-align:right;overflow-wrap:anywhere}
  .project-viewer{flex:1;min-height:0;margin:12px 0 0;padding:0 12px 12px;overflow:auto;scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}
  .project-sheet,.project-description-content{width:100%;max-width:100%}
  .project-empty{padding:24px 12px;font-size:18px}
}
@media(orientation:landscape) and (max-height:500px){
  .inner-page .home-header{padding:2px 0}
  .inner-page .company-heading{max-width:min(340px,calc(100vw - 20px))}
  .inner-page .inner-banner-band{height:44px}
  .inner-page .inner-banner{width:auto;max-width:100%;height:100%}
  .inner-page .inner-title{font-size:24px;line-height:1.2}
  .inner-page .inner-footer{padding:4px 12px}
  .inner-page .inner-footer p{font-size:12px;line-height:1.4}
  .project-sidebar{max-height:calc(100% - 64px);padding-bottom:6px}
  .project-heading{margin-bottom:0}
  .project-heading>.project-download{font-size:14px}
  .project-years{margin-top:6px;font-size:16px;line-height:1.3}
  .project-archives{margin-top:6px}
  .project-viewer{margin-top:0}
}
@media(orientation:landscape) and (max-height:500px){
  .inner-page .home-nav{grid-template-columns:minmax(0,1fr) 32px;gap:0 10px;min-height:0;padding:6px 16px}
  .inner-page .home-nav-links{grid-column:1;grid-row:1;display:flex;width:100%}
  .inner-page .home-nav-links li{border-right:0}
  .inner-page .home-nav-links li:last-child{border-right:1px solid #efefef}
  .inner-page .home-language-control{grid-column:2;grid-row:1;margin-right:0}
  .inner-page .home-language{padding:0}
  .inner-page .home-language svg{width:26px;height:26px}
}
@media(min-width:1000px) and (orientation:landscape) and (max-height:500px){
  .project-sidebar{max-height:none}
}
