:root { color-scheme: light; font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; color: #263e35; background: #f4f6f3; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: flex; flex-direction: column; }
header, main, footer { width: min(100% - 64px, 1120px); margin-inline: auto; }
header { padding-block: 28px; border-bottom: 1px solid #dce4de; }
a { color: #21674f; text-underline-offset: 4px; }
a:focus-visible { outline: 3px solid #28664f; outline-offset: 5px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 24px; font-weight: 700; text-decoration: none; }
.mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; color: white; background: #21674f; }
main { flex: 1; padding-block: clamp(40px, 8vh, 90px); }
h1 { font-size: clamp(36px, 5vw, 60px); line-height: 1.24; letter-spacing: -.025em; margin: 0 0 24px; font-weight: 650; }
.intro { font-size: 19px; line-height: 1.8; color: #546a60; margin: 0 0 32px; }
nav { display: flex; gap: 16px; flex-wrap: wrap; }
nav a { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 12px 24px; border-radius: 6px; text-decoration: none; font-weight: 600; }
.primary { background: #21674f; color: #fff; }
.primary:hover { background: #174f3c; }
.secondary { border: 1px solid #21674f; }
.secondary:hover { background: #e8f1eb; }
section { margin-top: 56px; max-width: 660px; }
h2 { margin: 0 0 12px; font-size: 20px; }
section p { margin: 0; line-height: 1.8; color: #546a60; }
footer { border-top: 1px solid #dce4de; padding-block: 24px; display: flex; flex-wrap: wrap; gap: 12px 24px; color: #546a60; font-size: 13px; line-height: 1.6; }
::selection { background: #c7dfd1; color: #263e35; }
@media (max-width: 540px) { header, main, footer { width: calc(100% - 40px); } header { padding-block: 20px; } .intro { font-size: 17px; } nav { flex-direction: column; align-items: stretch; } section { margin-top: 40px; } }
