body { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; background: #EEF2EA; color: #1E3527; max-width: 720px; margin: 0 auto; padding: 44px 24px 80px; line-height: 1.6; }
h1 { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 46px; line-height: 1.03; margin: 0 0 12px; }
h1 em, h2 em { color: #2F7A4B; }
h2 { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 26px; margin: 34px 0 6px; }
p, li { color: #2E4136; font-size: 15px; }
ul { padding-left: 20px; }
a { color: #2F7A4B; }
.kicker { font-size: 13px; font-weight: 600; color: #56695D; margin-bottom: 26px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; margin-bottom: 30px; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 22px; color: #1E3527; }
.brand img { width: 36px; height: 36px; border-radius: 9px; }
.brand i { color: #2F7A4B; }
.hero { position: relative; border-radius: 24px; overflow: hidden; margin: 22px 0; }
.hero img { width: 100%; display: block; aspect-ratio: 4/3; object-fit: cover; }
.hero .chat { position: absolute; left: 14px; right: 14px; bottom: 14px; display: flex; flex-direction: column; gap: 6px; }
.bub { max-width: 80%; background: #fff; border-radius: 18px 18px 18px 5px; padding: 9px 13px; font-size: 15px; align-self: flex-start; }
.bub.out { background: #2F7A4B; color: #fff; border-radius: 18px 18px 5px 18px; align-self: flex-end; }
.card { border-top: 1px solid #DCE4D8; padding: 14px 0; }
footer { margin-top: 48px; font-size: 13px; color: #56695D; border-top: 1px solid #DCE4D8; padding-top: 16px; }
footer a { color: #56695D; margin-right: 14px; }
