:root { color-scheme: light; --ink: #172d26; --green: #1b5b42; --muted: #59675e; --paper: #fff7e9; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; padding: 0 20px; color: var(--ink); background: var(--paper); font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Thai", sans-serif; }
main { width: 100%; max-width: 1100px; margin: auto; text-align: center; }
.icon { display: block; margin: 0 auto 16px; border-radius: 24px; object-fit: contain; }
h1 { font-size: clamp(36px, 8vw, 52px); line-height: 1.15; margin: 0 0 16px; }
h1 span { color: #ba4625; }
.tagline { color: var(--green); font-size: 24px; font-weight: 650; line-height: 1.3; margin: 0 0 28px; }
.card { padding: 24px; background: white; border: 1px solid #b5c7ba; border-radius: 24px; text-align: left; }
h2 { font-size: 22px; line-height: 1.3; margin-top: 0; }
ul { padding-left: 22px; }
li { margin: 8px 0; }
p { overflow-wrap: anywhere; }
.play-store-link { width: 180px; min-height: 0; margin-top: 12px; padding: 0; }
.play-store-link img { display: block; width: 180px; max-width: 100%; height: auto; }
nav { display: flex; flex-direction: column; align-items: center; margin: 20px 0; }
a { display: inline-flex; align-items: center; min-height: 48px; padding: 8px; color: var(--green); text-underline-offset: 4px; }
a:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; border-radius: 4px; }
footer { color: var(--muted); font-size: 14px; padding: 32px 0; }
.skip-link { position: absolute; top: -100px; left: 16px; background: white; z-index: 10; }
.skip-link:focus { top: 16px; }
.site-header { max-width: 1100px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 90px; }
.wordmark { gap: 10px; color: var(--ink); font-size: 24px; font-weight: 800; text-decoration: none; padding: 0; }
.wordmark img { border-radius: 12px; }
.site-header nav { flex-direction: row; flex-wrap: wrap; margin: 0; gap: 12px; font-size: 14px; font-weight: 650; }
.hero { padding: 48px 24px; background: #dcece3; border-radius: 28px; }
.hero .icon { width: 180px; height: 180px; border-radius: 40px; }
.tagline { font-size: clamp(26px, 4vw, 42px); margin-bottom: 0; }
.card, .workflow, .support { margin-top: 28px; padding: 40px; }
.card p { max-width: 72ch; }
.workflow { text-align: left; border-radius: 24px; color: white; background: var(--green); }
.workflow h2, .support h2 { font-size: clamp(26px, 3vw, 34px); }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 0; list-style: none; }
.steps li { border-top: 1px solid #8ab19b; padding-top: 16px; }
.steps h3 { font-size: 20px; line-height: 1.3; }
.steps p { color: #e5f0e9; }
.support { border-radius: 24px; background: #f4ead8; text-align: left; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.support nav { align-items: stretch; margin: 0; }
.support a { border-bottom: 1px solid #d8cdbb; }
@media (max-width: 680px) { body { padding: 0 14px; } .site-header { flex-wrap: wrap; padding-block: 14px; gap: 4px 16px; } .steps, .support { grid-template-columns: 1fr; gap: 16px; } .card, .workflow, .support { padding: 28px 24px; margin-top: 18px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
