.sr-site{
  color: #174736;
  background-color: #fff;
  font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
  line-height: 1.7;
}
.sr-header{
  z-index: 100;
  grid-column-gap: 24px;
  grid-row-gap: 8px;
  background-color: #fff;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  height: auto;
  min-height: 88px;
  padding: 12px 5.8%;
  display: flex;
  position: sticky;
  top: 0;
  box-shadow: 0 2px 7px #0000001a;
}
.sr-brand{
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  color: #245330;
  flex-shrink: 0;
  align-items: center;
  text-decoration: none;
  display: flex;
}
.sr-logo{
  color: #fff;
  background-color: #6eac39;
  border: 5px solid #dceccf;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 54px;
  font-size: 37px;
  font-weight: 700;
  line-height: 1;
  display: flex;
}
.sr-brand-name{
  letter-spacing: 2px;
  font-size: 19px;
  font-weight: 700;
}
.sr-brand-en{
  letter-spacing: 1.9px;
  font-size: 9px;
  display: block;
}
.sr-nav{
  grid-column-gap: 24px;
  grid-row-gap: 8px;
  justify-content: center;
  align-items: center;
  min-width: 0;
  display: flex;
}
.sr-nav-link{
  color: #222;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
}
.sr-nav-link:hover{
  color: #1074a6;
}
.sr-language{
  color: #536365;
  white-space: nowrap;
  border: 1px solid #b9c6c7;
  padding: 3px 10px;
  font-size: 11px;
}
.sr-hero{
  background-image: url("/assets/home-original.png");
  background-position: 25%;
  background-size: cover;
  justify-content: flex-end;
  align-items: center;
  min-height: 640px;
  padding: 100px 7% 130px;
  scroll-margin-top: 96px;
  display: flex;
  position: relative;
}
.sr-hero-content{
  width: 53%;
  max-width: 710px;
}
.sr-hero-heading{
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  color: #174736;
  text-shadow: 0 1px 8px #ffffff80;
  flex-wrap: wrap;
  align-items: baseline;
  margin-bottom: 14px;
  display: flex;
}
.sr-h1{
  letter-spacing: 3px;
  margin: 0;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.2;
}
.sr-tagline{
  margin: 0;
  font-size: 20px;
}
.sr-about-panel{
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  color: #176b95;
  background-color: #ffffffe0;
  border-left: 3px solid #72b744;
  grid-template-rows: auto;
  grid-template-columns: 100px 1fr;
  padding: 32px;
  display: grid;
}
.sr-about-label{
  padding-top: 3px;
  font-size: 14px;
  font-weight: 700;
}
.sr-company{
  margin: 0 0 2px;
  font-size: 21px;
  line-height: 1.5;
}
.sr-company-en{
  letter-spacing: 1px;
  margin: 0 0 14px;
  font-size: 12px;
}
.sr-about-copy{
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.85;
}
.sr-text-link{
  color: #176b95;
  border-bottom: 1px solid #8db7c9;
  padding-bottom: 5px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.sr-scroll{
  color: #fff;
  letter-spacing: 2px;
  text-shadow: 0 1px 4px #173d29;
  font-size: 10px;
  text-decoration: none;
  position: absolute;
  bottom: 28px;
  left: 7%;
}
.sr-scroll-arrow{
  font-size: 26px;
  line-height: 1.5;
  display: block;
}
.sr-solutions{
  background-image: linear-gradient(#103e4d35, #103e4d45), url("/assets/reference-1.png");
  background-position: 50%;
  background-size: cover;
  min-height: 800px;
  padding: 45px 9% 100px;
  scroll-margin-top: 96px;
}
.sr-section-title{
  color: #fff;
  text-align: right;
  text-shadow: 0 2px 8px #163c4655;
}
.sr-english{
  margin: 0 0 9px;
  font-family: Georgia, Times, Times New Roman, serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
}
.sr-section-h2{
  margin: 0;
  font-size: 25px;
  line-height: 1.5;
}
.sr-circles{
  grid-column-gap: 36px;
  grid-row-gap: 36px;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 140px;
  display: flex;
}
.sr-circle{
  color: #126e96;
  background-color: #ffffffb8;
  border: 1px solid #fff9;
  border-radius: 50%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 270px;
  height: 270px;
  text-decoration: none;
  display: flex;
  box-shadow: 0 10px 30px #17473615;
}
.sr-circle:hover{
  background-color: #fffffff2;
}
.sr-circle-low{
  margin-top: 85px;
}
.sr-circle-icon{
  font-family: Georgia, Times, Times New Roman, serif;
  font-size: 75px;
  line-height: 1.1;
  display: none;
}
.sr-circle-title{
  margin: 8px 0 5px;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.4;
}
.sr-circle-en{
  letter-spacing: 1.6px;
  font-size: 9px;
}
.sr-circle-arrow{
  margin-top: 9px;
  font-size: 20px;
}
.sr-services{
  background-image: linear-gradient(#103e4d45, #103e4d55), url("/assets/reference-0.png");
  background-position: 50%;
  background-size: cover;
  min-height: 800px;
  padding: 58px 9% 90px;
  scroll-margin-top: 96px;
}
.sr-service-grid{
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 80px;
  display: grid;
}
.sr-service-card{
  color: #116a99;
  background-color: #ffffffe6;
  border-radius: 8px;
  padding: 34px 28px 40px;
  scroll-margin-top: 120px;
}
.sr-service-number{
  color: #217ba1;
  border-bottom: 2px solid #86b6c6;
  margin-bottom: 22px;
  padding-bottom: 22px;
  font-family: Georgia, Times, Times New Roman, serif;
  font-size: 55px;
  line-height: 1;
  display: block;
}
.sr-service-en{
  letter-spacing: 1.5px;
  margin: 0 0 12px;
  font-size: 10px;
}
.sr-service-title{
  margin: 0 0 14px;
  font-size: 26px;
  line-height: 1.4;
}
.sr-service-intro{
  color: #536c74;
  min-height: 44px;
  margin: 0 0 20px;
  font-size: 13px;
}
.sr-list{
  margin: 0;
  padding-left: 18px;
}
.sr-list-item{
  margin-bottom: 11px;
  font-size: 16px;
}
.sr-vision{
  background-image: linear-gradient(#103e4d45, #103e4d55), url("/assets/reference-2.png");
  background-position: 50%;
  background-size: cover;
  min-height: 700px;
  padding: 55px 9% 80px;
  scroll-margin-top: 96px;
}
.sr-vision-panel{
  color: #fff;
  background-color: #103e4dbd;
  border-top: 2px solid #badb8e;
  width: 52%;
  margin-top: 70px;
  margin-left: auto;
  padding: 40px;
}
.sr-vision-kicker{
  color: #d2e6c0;
  letter-spacing: 2px;
  margin: 0 0 18px;
  font-size: 10px;
}
.sr-vision-heading{
  margin: 0 0 24px;
  font-size: 38px;
  font-weight: 500;
  line-height: 1.5;
}
.sr-vision-copy{
  color: #e7f1eb;
  margin: 0 0 28px;
  font-size: 15px;
  line-height: 1.9;
}
.sr-vision-link{
  color: #fff;
  border-bottom: 1px solid #cce0d0;
  padding-bottom: 6px;
  font-size: 14px;
  text-decoration: none;
}
.sr-contact{
  grid-column-gap: 45px;
  grid-row-gap: 45px;
  background-color: #f2f7f7;
  justify-content: space-between;
  padding: 65px 9%;
  scroll-margin-top: 96px;
  display: flex;
}
.sr-contact-en{
  color: #1578a7;
  margin: 0 0 12px;
  font-family: Georgia, Times, Times New Roman, serif;
  font-size: 35px;
  font-weight: 700;
  line-height: 1.2;
}
.sr-contact-title{
  color: #254e4f;
  margin: 0;
  font-size: 25px;
}
.sr-contact-company{
  color: #255449;
  margin: 0;
  font-size: 18px;
}
.sr-contact-sub{
  color: #66807b;
  letter-spacing: 1px;
  margin: 4px 0 14px;
  font-size: 12px;
}
.sr-contact-pending{
  color: #688281;
  border-top: 1px solid #cddbd8;
  margin: 0;
  padding-top: 12px;
  font-size: 13px;
}
.sr-footer{
  grid-column-gap: 25px;
  grid-row-gap: 25px;
  color: #e4efed;
  background-color: #16495a;
  justify-content: space-between;
  padding: 22px 9%;
  font-size: 11px;
  display: flex;
}
.sr-backtop{
  color: #fff;
  white-space: nowrap;
  text-decoration: none;
}
.sr-service-photo{
  object-fit: cover;
  border: 3px solid #fff;
  border-radius: 50%;
  width: 90px;
  height: 90px;
  display: block;
}
.sr-header-logo-link{
  flex-shrink: 0;
  align-items: center;
  width: 240px;
  max-width: 100%;
  display: flex;
}
.sr-header-logo-image{
  object-fit: contain;
  width: 100%;
  max-width: 100%;
  height: 64px;
  padding-top: 0;
  padding-bottom: 0;
  display: block;
}
@media screen and (max-width: 991px){.sr-header{
    grid-column-gap: 18px;
    grid-row-gap: 8px;
    min-height: 80px;
    padding: 12px 4%;
  }
.sr-nav{
    grid-column-gap: 16px;
    grid-row-gap: 18px;
  }
.sr-nav-link{
    font-size: 13px;
  }
.sr-language{
    display: none;
  }
.sr-hero{
    min-height: 720px;
    padding: 80px 5% 110px;
  }
.sr-hero-content{
    width: 60%;
  }
.sr-h1{
    font-size: 36px;
  }
.sr-tagline{
    font-size: 17px;
  }
.sr-about-panel{
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    padding: 25px;
  }
.sr-solutions{
    min-height: 700px;
    padding-left: 5%;
    padding-right: 5%;
  }
.sr-circles{
    grid-column-gap: 18px;
    grid-row-gap: 18px;
    margin-top: 110px;
  }
.sr-circle{
    width: 225px;
    height: 225px;
  }
.sr-circle-icon{
    font-size: 59px;
  }
.sr-circle-title{
    font-size: 21px;
  }
.sr-services{
    padding-left: 5%;
    padding-right: 5%;
  }
.sr-service-grid{
    grid-column-gap: 18px;
    grid-row-gap: 18px;
  }
.sr-service-card{
    padding: 28px 20px;
  }
.sr-service-title{
    font-size: 22px;
  }
.sr-list-item{
    font-size: 14px;
  }
.sr-vision{
    padding-left: 5%;
    padding-right: 5%;
  }
.sr-vision-panel{
    width: 60%;
  }
.sr-contact{
    padding-left: 5%;
    padding-right: 5%;
  }
.sr-header-logo-link{
    width: 200px;
  }
.sr-header-logo-image{
    height: 54px;
  }
}
@media screen and (max-width: 767px){.sr-header{
    grid-column-gap: 12px;
    grid-row-gap: 4px;
    flex-wrap: wrap;
    min-height: 0;
    padding: 8px 20px;
  }
.sr-logo{
    width: 44px;
    height: 44px;
    font-size: 29px;
  }
.sr-brand-name{
    font-size: 17px;
  }
.sr-nav{
    grid-column-gap: 12px;
    grid-row-gap: 10px;
    justify-content: space-between;
    width: 100%;
    overflow: auto hidden;
  }
.sr-nav-link{
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 12px;
  }
.sr-hero{
    background-color: #edf5ec;
    background-position: 15% 0;
    background-repeat: no-repeat;
    background-size: auto 340px;
    align-items: flex-end;
    min-height: 0;
    padding: 365px 6% 70px;
    scroll-margin-top: 118px;
  }
.sr-hero-content{
    width: 100%;
    max-width: 100%;
  }
.sr-hero-heading{
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
.sr-h1{
    font-size: 34px;
  }
.sr-tagline{
    font-size: 16px;
  }
.sr-about-panel{
    background-color: #fffffff0;
    padding: 24px;
  }
.sr-company{
    font-size: 19px;
  }
.sr-scroll{
    bottom: 16px;
  }
.sr-scroll-arrow{
    padding-left: 14px;
    display: inline;
  }
.sr-solutions{
    padding: 45px 6% 60px;
    scroll-margin-top: 118px;
  }
.sr-section-title{
    text-align: right;
  }
.sr-english{
    font-size: 34px;
  }
.sr-section-h2{
    font-size: 21px;
  }
.sr-circles{
    grid-column-gap: 26px;
    grid-row-gap: 26px;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
  }
.sr-circle{
    width: 240px;
    height: 240px;
  }
.sr-circle-low{
    margin-top: 0;
  }
.sr-services{
    padding: 45px 6% 60px;
    scroll-margin-top: 118px;
  }
.sr-service-grid{
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    margin-top: 40px;
  }
.sr-service-card{
    padding: 30px;
    scroll-margin-top: 135px;
  }
.sr-service-number{
    margin-bottom: 16px;
    padding-bottom: 16px;
    font-size: 44px;
  }
.sr-service-title{
    font-size: 27px;
  }
.sr-service-intro{
    min-height: 0;
  }
.sr-list-item{
    font-size: 16px;
  }
.sr-vision{
    min-height: 650px;
    padding: 45px 6% 60px;
    scroll-margin-top: 118px;
  }
.sr-vision-panel{
    width: 100%;
    margin-top: 55px;
    padding: 30px;
  }
.sr-vision-heading{
    font-size: 32px;
  }
.sr-contact{
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    flex-direction: column;
    padding: 45px 6%;
    scroll-margin-top: 118px;
  }
.sr-contact-title{
    font-size: 23px;
  }
.sr-footer{
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-direction: column;
    padding: 25px 6%;
  }
}
@media screen and (max-width: 479px){.sr-nav{
    grid-column-gap: 8px;
    grid-row-gap: 8px;
  }
.sr-nav-link{
    font-size: 11px;
  }
.sr-hero{
    min-height: 0;
    padding-top: 365px;
  }
.sr-h1{
    font-size: 32px;
  }
.sr-tagline{
    font-size: 14px;
  }
.sr-company{
    font-size: 18px;
  }
.sr-about-copy{
    font-size: 14px;
  }
.sr-section-h2{
    font-size: 19px;
  }
.sr-vision-heading{
    font-size: 29px;
  }
.sr-header-logo-link{
    width: 180px;
  }
.sr-header-logo-image{
    height: 48px;
  }
}
.sr-about-copy,.sr-service-intro,.sr-vision-copy{font-size:1rem}
.sr-nav-link,.sr-text-link,.sr-contact-pending{font-size:.875rem}
.sr-circle-en,.sr-service-en,.sr-vision-kicker,.sr-scroll,.sr-language,.sr-footer{font-size:.75rem}
.sr-circle{flex-shrink:0;transition:background-color .2s ease}
.sr-service-grid>*{min-width:0}
@media(min-width:768px) and (max-width:1100px){.sr-circle{width:clamp(190px,25vw,270px);height:clamp(190px,25vw,270px)}
.sr-circles{gap:16px}
}

/* Homepage-only typography and responsive refinements. */
.home-reference{font-family:Arial,'Microsoft JhengHei',sans-serif;color:#174736}
.home-reference .sr-about-copy,.home-reference .sr-vision-copy,.home-reference .sr-service-intro{font-size:1rem}
.home-reference .sr-circle-en,.home-reference .sr-service-en,.home-reference .sr-vision-kicker,.home-reference .sr-scroll{font-size:.75rem}
.home-reference .sr-text-link,.home-reference .sr-contact-pending{font-size:.875rem}
.home-reference .sr-service-en{overflow-wrap:anywhere}
.home-reference .sr-list-item a:hover{text-decoration:underline}
.home-reference .sr-circle{flex-shrink:0;transition:background .2s ease}
.home-reference .sr-service-card{min-width:0}
.home-reference .platform-band{background:#16495a}
.home-reference .platform-band .english-title{font-family:Georgia,serif;color:#fff}
.home-reference .english-title{color:#176b95}
.home-reference .section.wash{background:#f2f7f7}
.home-reference .card{border-color:#cddbd8}
.home-reference .sr-contact-pending a{display:inline-block}
.home-reference .sr-contact{gap:30px}
@media(min-width:768px) and (max-width:1100px){.home-reference .sr-circle{width:clamp(185px,25vw,270px);height:clamp(185px,25vw,270px)}.home-reference .sr-circles{gap:18px}.home-reference .sr-circle-title{font-size:1.25rem}}
@media(max-width:767px){.home-reference .sr-hero{background-position:15% 0}.home-reference .sr-scroll{color:#174736;text-shadow:none}.home-reference .sr-contact-pending a{margin:6px 0}.home-reference .sr-hero-content{min-width:0}}
@media(prefers-reduced-motion:reduce){.home-reference *{transition:none!important}}

/* Unified core solutions and service links. */
.home-reference .sr-solutions-unified{min-height:0;padding-top:64px;padding-bottom:72px}
.home-reference .sr-solutions-summary{margin-top:14px;font-size:1rem}
.home-reference .sr-solutions-unified .sr-service-grid{margin-top:42px;scroll-margin-top:120px}
.home-reference .sr-solutions-unified .sr-service-card{padding:30px 26px;background:#fffffff0}
.home-reference .sr-solution-photo{display:block;width:112px;margin-bottom:24px}
.home-reference .sr-solution-photo .sr-service-photo{width:112px;height:112px}
.home-reference .sr-solutions-unified .sr-service-title a:hover{text-decoration:underline}
.home-reference .sr-solutions-unified .sr-service-en{font-size:.875rem;letter-spacing:.06em}
@media(max-width:767px){.home-reference .sr-solutions-unified{padding:45px 6% 55px}.home-reference .sr-solutions-unified .sr-service-grid{margin-top:30px}.home-reference .sr-solutions-unified .sr-service-card{padding:28px}}

.home-test-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center;max-width:1080px;margin-inline:auto}.home-test-photo{display:flex;justify-content:center;background:#e5eeea;border-radius:6px;overflow:hidden;padding:24px}.home-test-photo img{width:auto;height:auto;max-height:480px;max-width:100%;object-fit:contain}.home-test-copy{min-width:0}.home-test-copy .english-title{display:block;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.4;margin-bottom:18px}.home-test-copy h2{margin-bottom:24px}.home-test-copy p{color:var(--muted)}.home-test-copy .actions{margin-top:30px}@media(max-width:767px){.home-test-layout{grid-template-columns:1fr;gap:30px}.home-test-photo{padding:18px}.home-test-photo img{max-height:380px}.home-test-copy h2{margin-bottom:18px}}
