:root{--brand:#2e9a45;--brand-deep:#1e7a34;--brand-soft:#aee6b6;--brand-wash:#2e9a451a;--bg:#fbfaf6;--bg-tint:#eef8ee;--surface:#fff;--ink:#1b1d1a;--ink2:#5d6159;--ink3:#9a9e94;--hairline:#1b1d1a1a;--radius:18px;--radius-sm:12px;--maxw:880px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}a{color:var(--brand-deep)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.site-header{border-bottom:1px solid var(--hairline);background:var(--surface)}.site-header .wrap{align-items:center;gap:12px;padding-top:16px;padding-bottom:16px;display:flex}.brand-lockup{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-lockup img{width:34px;height:34px;display:block}.brand-lockup .wordmark{letter-spacing:-.01em;font-size:22px;font-weight:700}.site-header nav{gap:20px;margin-left:auto;font-size:15px;display:flex}.site-header nav a{color:var(--ink2);text-decoration:none}.site-header nav a:hover{color:var(--ink)}.site-header nav a.lang-switch{color:var(--brand-deep);font-weight:600}.hero{background:linear-gradient(180deg, var(--bg-tint), var(--bg));text-align:center;padding:64px 0 56px}.hero h1{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(34px,6vw,56px);line-height:1.05}.hero p.lede{color:var(--ink2);max-width:620px;margin:0 auto 28px;font-size:clamp(17px,2.4vw,21px)}.cta-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-deep)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--hairline)}.btn[aria-disabled=true]{opacity:.5;pointer-events:none}main{padding-bottom:72px}section{padding:44px 0}section h2{letter-spacing:-.01em;margin:0 0 18px;font-size:clamp(24px,3.4vw,32px)}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.feature{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:22px}.feature h3{margin:0 0 8px;font-size:18px}.feature p{color:var(--ink2);margin:0;font-size:15px}.shots{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.shot-slot{aspect-ratio:9/16;border:1px dashed var(--brand);border-radius:var(--radius);background:var(--brand-wash);text-align:center;color:var(--brand-deep);justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex}.prose{max-width:720px;margin:0 auto;padding:48px 24px 72px}.prose h1{margin:0 0 8px;font-size:clamp(28px,4vw,38px)}.prose .updated{color:var(--ink3);margin:0 0 28px;font-size:14px}.prose h2{margin:32px 0 10px;font-size:20px}.prose p,.prose li{color:var(--ink2)}.placeholder-banner{border:2px solid var(--brand);background:var(--brand-wash);border-radius:var(--radius-sm);color:var(--brand-deep);margin:0 0 28px;padding:14px 18px;font-size:14px;font-weight:600}.join{text-align:center;max-width:560px;margin:0 auto;padding:56px 24px 72px}.join h1{margin:20px 0 10px;font-size:clamp(26px,4vw,34px)}.join .code-pill{letter-spacing:.12em;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;margin:8px 0 24px;padding:12px 22px;font-size:28px;font-weight:700;display:inline-block}.join .steps{text-align:left;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);margin:28px 0 0;padding:22px 24px}.join .steps ol,.join .steps ul{color:var(--ink2);margin:10px 0 0;padding-left:22px}.join .steps li{margin:8px 0}.join .muted{color:var(--ink3);font-size:14px}.site-footer{border-top:1px solid var(--hairline);color:var(--ink3);padding:28px 0;font-size:14px}.site-footer .wrap{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.site-footer nav{gap:18px;margin-left:auto;display:flex}.site-footer a{color:var(--ink2);text-decoration:none}
