:root { --primary:#004f20; --primary-container:#006a2d; --surface:#f8f9ff; --surface-low:#f2f3f9; --surface-container:#eceef3; --surface-lowest:#fff; --on-surface:#191c20; --on-variant:#3f493f; --radius:24px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--surface); color:var(--on-surface); font-family:"Plus Jakarta Sans", "Avenir Next", Avenir, system-ui, sans-serif; font-size:16px; font-weight:500; line-height:1.55; }
a { color:inherit; text-underline-offset:3px; }
a:focus-visible, summary:focus-visible { outline:3px solid var(--primary); outline-offset:4px; border-radius:4px; }
.shell { width:min(100% - 40px, 1120px); margin-inline:auto; }
.skip-link { position:fixed; top:8px; left:8px; z-index:3; padding:12px 16px; color:#fff; background:var(--primary); border-radius:12px; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.site-header { padding:20px 0; }
.nav { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.wordmark { color:var(--primary); font-size:1.35rem; font-style:italic; font-weight:800; letter-spacing:-.035em; text-decoration:none; }
.nav-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:20px; font-size:.875rem; }
.nav-links a { color:var(--on-variant); }
.hero { padding:88px 0 112px; }
.eyebrow { margin:0 0 16px; color:var(--primary); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
h1, h2, h3 { margin:0; letter-spacing:-.03em; line-height:1.14; }
h1 { max-width:760px; font-size:clamp(3rem, 8vw, 6.5rem); font-weight:800; }
h2 { max-width:620px; font-size:clamp(2rem, 4vw, 3.4rem); font-weight:800; }
h3 { font-size:1.23rem; font-weight:800; }
.hero-copy { max-width:600px; margin:28px 0 16px; color:var(--on-variant); font-size:clamp(1.1rem, 2.2vw, 1.35rem); }
.platform-note { margin:0 0 28px; font-weight:700; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:12px 20px; border-radius:16px; background:linear-gradient(135deg, var(--primary-container), var(--primary)); color:#fff; font-weight:700; text-decoration:none; box-shadow:0 12px 32px rgba(25,28,32,.1); transition:transform .16s ease; }
.button:active { transform:scale(.98); }
.features-section { padding:88px 0; background:var(--surface-low); }
.features { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:44px 0 0; padding:0; list-style:none; }
.features li { min-height:230px; padding:28px; border-radius:var(--radius); background:var(--surface-lowest); }
.features span { display:block; margin-bottom:40px; color:var(--primary); font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.features p { margin:16px 0 0; color:var(--on-variant); }
.availability { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:end; padding:96px 0; }
.availability > p { max-width:430px; margin:0; color:var(--on-variant); font-size:1.1rem; }
.faq-section { padding:88px 0; background:var(--surface-container); }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; }
.faq-list { display:grid; gap:16px; }
details { padding:24px 0; background:var(--surface-lowest); border-radius:16px; }
summary { padding:0 24px; cursor:pointer; font-weight:800; }
details p { margin:16px 24px 0; color:var(--on-variant); }
.disclaimer { padding:64px 0; }
.disclaimer p { max-width:760px; margin:0; color:var(--on-variant); font-size:.95rem; }
.site-footer { padding:40px 0; background:var(--surface-low); }
.footer-content { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:16px 24px; font-size:.875rem; }
@media (max-width:760px) { .nav { align-items:flex-start; } .nav-links { gap:12px; } .hero { padding:56px 0 72px; } .features { grid-template-columns:1fr; margin-top:32px; } .features li { min-height:0; } .features span { margin-bottom:28px; } .availability, .faq-layout { grid-template-columns:1fr; gap:28px; padding-top:64px; padding-bottom:64px; } .footer-content { align-items:flex-start; flex-direction:column; } .footer-links { justify-content:flex-start; flex-direction:column; gap:12px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }
