* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; color: #202923; background: #fff; font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
a:focus-visible { outline: 3px solid #278953; outline-offset: 6px; }
.skip { position: fixed; top: -100px; left: 20px; z-index: 20; background: #fff; padding: 10px; }
.skip:focus { top: 10px; }
.site-header { height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 0 6%; background: #fff; position: sticky; top: 0; z-index: 10; border-bottom: 1px solid #e5e8e5; }
.brand { display: flex; align-items: center; gap: 18px; font-weight: 800; font-size: 30px; line-height: 1.2; }
.brand span { padding-left: 18px; border-left: 1px solid #cbd2cc; font-size: 13px; font-weight: 500; }
.site-header nav { display: flex; gap: 36px; font-size: 14px; }
.site-header nav a { padding: 10px 0; border-bottom: 2px solid transparent; }
.site-header nav a:hover { border-color: #28794a; color: #28794a; }
.hero { position: relative; isolation: isolate; height: min(690px, 77svh); min-height: 520px; color: white; background: #233b36; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; position: absolute; z-index: -2; }
.hero::before { content: ""; position: absolute; inset: 0; background: #071d17; opacity: .55; z-index: -1; }
.hero-content { padding: 62px 8% 90px; }
.eyebrow { margin: 0 0 24px; font-size: 12px; font-weight: 700; }
h1 { margin: 0; font-size: 86px; line-height: 1.1; font-weight: 700; }
h1 span { display: block; margin-top: 20px; font-size: 32px; font-weight: 500; }
.hero-desc { font-size: 19px; margin: 26px 0; color: #edf5ef; }
.primary-link { display: inline-flex; align-items: center; gap: 48px; padding: 14px 20px; background: #dcf49e; color: #18291d; font-size: 14px; }
.primary-link:hover { background: #fff; }
.hero-bottom { position: absolute; bottom: 24px; left: 8%; right: 8%; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #ffffff60; padding-top: 14px; font-size: 12px; }
.hero-bottom a { font-size: 24px; padding: 0 10px; }
.section { padding: 80px 8%; }
.section-heading { max-width: 740px; margin-bottom: 44px; }
.section-heading .eyebrow { color: #357344; margin-bottom: 18px; }
h2 { margin: 0 0 22px; font-size: 44px; line-height: 1.2; font-weight: 500; }
.section-heading > p:last-child { color: #647068; max-width: 590px; }
.services-layout { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 64px; align-items: start; }
.service-nav { position: sticky; top: 118px; display: grid; }
.service-nav a { padding: 16px 0; border-bottom: 1px solid #dce3dd; font-size: 13px; display: flex; align-items: baseline; gap: 14px; }
.service-nav a span { color: #7d8c80; font-size: 11px; }
.service-nav a:hover { color: #28794a; }
.service { display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: center; gap: 24px; border-top: 1px solid #dce3dd; padding: 34px 0; }
.service-number { font-size: 12px; color: #357344; }
h3 { font-size: 24px; font-weight: 500; line-height: 1.35; margin: 12px 0; overflow-wrap: anywhere; }
.service p { color: #647068; font-size: 14px; margin-bottom: 0; }
.service img { width: 180px; height: 170px; object-fit: contain; }
.advantages { background: #eaf0eb; }
.advantage-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 32px; }
.advantage-grid article { border-top: 1px solid #a8baad; padding-top: 24px; }
.advantage-number { color: #6d8973; font-size: 14px; }
.advantage-grid h3 { font-size: 22px; margin-top: 36px; }
.advantage-grid p { font-size: 14px; color: #526759; }
.partner-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #e7eae7; border-left: 1px solid #e7eae7; }
.partner-grid div { display: flex; align-items: center; justify-content: center; height: 110px; padding: 24px; border-right: 1px solid #e7eae7; border-bottom: 1px solid #e7eae7; }
.partner-grid img { max-height: 60px; width: 100%; object-fit: contain; }
footer { padding: 44px 8%; background: #1f2d25; color: #fff; display: flex; gap: 28px; align-items: center; justify-content: space-between; }
footer .brand { font-size: 26px; }
footer p, footer > a:last-child { font-size: 12px; color: #c0cbc3; }
@media (min-width: 1600px) { .section { padding-left: max(8%, calc((100% - 1400px)/2)); padding-right: max(8%, calc((100% - 1400px)/2)); } }
@media (max-width: 1000px) {
    .services-layout { grid-template-columns: 180px minmax(0,1fr); gap: 32px; }
    .service { grid-template-columns: 1fr; }
    .service img { width: 150px; height: 120px; }
    .advantage-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    footer { flex-wrap: wrap; }
}
@media (max-width: 600px) {
    html { scroll-padding-top: 120px; }
    .site-header { height: 104px; padding: 14px 6%; flex-direction: column; gap: 12px; align-items: flex-start; }
    .brand { font-size: 26px; }
    .site-header nav { gap: 28px; font-size: 12px; }
    .site-header nav a { padding: 0; }
    .hero { height: 530px; min-height: 480px; }
    .hero-content { padding: 38px 6% 75px; }
    h1 { font-size: 54px; }
    h1 span { font-size: 25px; margin-top: 14px; }
    .hero-desc { font-size: 15px; margin: 24px 0; }
    .eyebrow { font-size: 10px; margin-bottom: 20px; }
    .hero-bottom { left: 6%; right: 6%; bottom: 16px; }
    .section { padding: 56px 6%; }
    h2 { font-size: 32px; }
    .services-layout { display: block; }
    .service-nav { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; margin-bottom: 32px; }
    .service-nav a { font-size: 12px; gap: 8px; }
    .service { padding: 26px 0; }
    .advantage-grid { gap: 28px 20px; }
    .advantage-grid h3 { font-size: 19px; margin-top: 22px; }
    .partner-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .partner-grid div { height: 80px; padding: 14px; }
    footer { padding: 32px 6%; gap: 16px; }
    footer p { width: 100%; margin: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
