:root{--green:#174f3b;--green2:#0f3c2d;--gold:#b79246;--cream:#f6f3ec;--ink:#1f2925;--muted:#667069;--white:#fff;--line:#d9ddd9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}.wrap{width:min(1160px,calc(100% - 36px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #ecefec;backdrop-filter:blur(10px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green)}.brand strong{display:block;letter-spacing:.08em;font-family:Georgia,serif;font-size:1.2rem}.brand small{display:block;color:#8b743c;font-size:.72rem;letter-spacing:.03em}.logo-mark{width:46px;height:46px;color:var(--green);display:inline-flex}.logo-mark svg{width:100%;height:100%}nav{display:flex;align-items:center;gap:22px}nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}.lang-btn{border:1px solid var(--green);background:#fff;color:var(--green);border-radius:999px;padding:8px 13px;font-weight:700}.hero{padding:92px 0 78px;background:linear-gradient(135deg,#f8f6f0 0%,#fff 55%,#edf4f0 100%)}.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:46px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-size:.78rem;font-weight:800;margin:0 0 10px}.hero h1,.section h2{font-family:Georgia,serif;color:var(--green2);line-height:1.14;margin:.15em 0 .45em}.hero h1{font-size:clamp(2.4rem,5vw,4.6rem);max-width:900px}.hero-copy{font-size:1.15rem;color:#4e5952;max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;text-decoration:none;padding:12px 18px;border-radius:7px;font-weight:700}.primary{background:var(--green);color:#fff}.secondary{border:1px solid var(--green);color:var(--green);background:#fff}.hero-card{background:var(--green);color:#fff;border-radius:18px;padding:32px;box-shadow:0 16px 36px rgba(17,62,45,.18)}.hero-card h2{font-family:Georgia,serif;margin-top:0;color:#fff;font-size:2rem}.section{padding:78px 0}.section h2{font-size:clamp(2rem,3.5vw,3rem);max-width:800px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.service-card{border:1px solid var(--line);border-radius:14px;padding:25px;background:#fff}.service-card h3{margin-top:0;color:var(--green);font-size:1.18rem}.service-card p{color:var(--muted);margin-bottom:0}.alt{background:var(--cream)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.team-card{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:28px;background:#fff;border-radius:16px;border:1px solid #e4e4df}.initials{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800;font-size:1.25rem}.team-card h3{font-size:1.6rem;margin:0;color:var(--green2)}.role{color:var(--gold);font-weight:800;margin-top:4px}.focus{font-weight:700;color:#405149}.business-band{background:var(--green2);color:#fff}.business-band h2{color:#fff}.business-band .eyebrow{color:#d2b67c}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center}.two-col p{font-size:1.08rem}.contact-section{background:#fff}.contact-box{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;border:1px solid var(--line);border-radius:18px;padding:36px}.contact-details{background:#f7f7f4;padding:26px;border-radius:12px}.contact-details a{color:var(--green);text-decoration:none}.contact-details p{margin:0 0 18px}footer{background:#102d22;color:#dfe9e4;padding:26px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.9rem}@media(max-width:900px){.hero-grid,.team-grid,.two-col,.contact-box{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.hero{padding-top:60px}.hero-card{max-width:640px}.nav-wrap{align-items:flex-start;padding:14px 0}.nav-wrap nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}nav a{font-size:.85rem}}@media(max-width:640px){.brand small{display:none}.brand strong{font-size:1rem}.logo-mark{width:40px;height:40px}.nav-wrap{display:block}.brand{margin-bottom:10px}nav{justify-content:flex-start}.service-grid{grid-template-columns:1fr}.team-card{grid-template-columns:1fr}.hero h1{font-size:2.35rem}.section{padding:58px 0}.contact-box{padding:24px}}

/* Keep hero card headings visually balanced in both languages */
.hero-card h2 {
  text-wrap: balance;
}


/* Keep the One Team headline on one line and give the hero card a little more room */
.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(460px, 0.95fr);
}
.hero-card .one-team-title {
  white-space: nowrap;
  text-wrap: nowrap;
  font-size: clamp(2rem, 3vw, 2.75rem);
}
@media (max-width: 900px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }
  .hero-card .one-team-title {
    white-space: normal;
    text-wrap: balance;
  }
}

/* hero-solutions-fit-v2 */
@media (min-width: 900px) {
  .hero-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(470px, 1.05fr);
  }
  html[lang="zh"] .hero-solutions-title,
  body.zh .hero-solutions-title,
  .hero-solutions-title[data-zh] {
    font-size: clamp(2rem, 2.6vw, 2.7rem);
    white-space: nowrap;
    letter-spacing: -0.02em;
  }
  .hero-card {
    overflow: hidden;
  }
}
@media (max-width: 899px) {
  .hero-solutions-title {
    white-space: normal;
  }
}

.hero-card-title {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  max-width: 100%;
}

html[lang="zh"] .hero-card-title {
  white-space: nowrap;
  font-size: clamp(2rem, 3vw, 3.1rem);
}

@media (max-width: 900px) {
  html[lang="zh"] .hero-card-title {
    white-space: normal;
  }
}

.hero-split-title span {
  display: block;
}

/* Keep the final Chinese phrase together and avoid a one- or two-character orphan line. */
.no-break-zh { white-space: nowrap; }
@media (min-width: 900px) {
  html[lang="zh"] .hero-copy,
  body.zh .hero-copy {
    max-width: 720px;
    font-size: 0.98em;
    letter-spacing: -0.01em;
  }
}
