:root { --bg:#0a100c; --bg2:#0f1812; --panel:#15211a; --line:#22332a; --text:#eaf2ed; --muted:#9fb3a6; --accent:#4fae73; --accent-d:#2f7d4f; --glow:#2f7d4f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.wrap { max-width:1120px; margin:0 auto; padding:0 22px; }
.sr { position:absolute; left:-9999px; }
.tl { text-align:left; } .mt { margin-top:26px; } .more { margin-top:22px; text-align:center; }
.steps .badge { width:46px; height:46px; border-radius:14px; background:rgba(79,174,115,.14); border:1px solid rgba(79,174,115,.35); display:flex; align-items:center; justify-content:center; color:var(--accent); }
.steps .badge .ico { width:24px; height:24px; }

/* header */
header.site { position:sticky; top:0; z-index:20; background:rgba(10,16,12,.86); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
header.site .wrap { display:flex; align-items:center; justify-content:space-between; height:66px; }
.brand { display:flex; align-items:center; gap:12px; color:var(--text); font-weight:700; font-size:19px; letter-spacing:.2px; }
.brand img { width:34px; height:34px; border-radius:9px; }
.brand:hover { text-decoration:none; }
header.site nav { display:flex; align-items:center; gap:6px; }
header.site nav a { color:var(--muted); font-size:15px; padding:8px 12px; border-radius:10px; }
header.site nav a:hover { color:var(--text); text-decoration:none; background:var(--panel); }
header.site nav a.cta { background:var(--accent-d); color:#fff; border:1px solid var(--accent); margin-right:8px; padding:8px 16px; font-weight:600; }
header.site nav a.cta:hover { background:var(--accent); }

/* buttons, chips */
.btn { display:inline-flex; align-items:center; gap:10px; background:var(--accent-d); color:#fff; padding:14px 26px; border-radius:14px; font-weight:650; border:1px solid var(--accent); font-size:17px; }
.btn:hover { background:var(--accent); text-decoration:none; }
.btn.ghost { background:transparent; color:var(--text); border-color:var(--line); }
.btn.ghost:hover { border-color:var(--accent); background:var(--panel); }
.btn.soon { background:transparent; color:var(--text); border:1px dashed #3a5545; cursor:default; }
.chips { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 0; padding:0; list-style:none; }
.chips li { display:inline-flex; align-items:center; gap:8px; background:rgba(79,174,115,.1); border:1px solid rgba(79,174,115,.35); color:#cfe9d9; padding:7px 14px; border-radius:999px; font-size:15px; }
.ico { width:20px; height:20px; flex:none; stroke:currentColor; fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.chips .ico { width:16px; height:16px; color:var(--accent); }

/* hero */
.hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line);
  background: radial-gradient(800px 480px at 78% 30%, rgba(47,125,79,.45), transparent 70%), radial-gradient(600px 400px at 8% 90%, rgba(47,125,79,.22), transparent 70%), var(--bg); }
.hero .wrap { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:30px; padding-top:56px; padding-bottom:56px; min-height:640px; }
.eyebrow { color:var(--accent); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:13px; margin:0 0 14px; }
.hero h1 { font-size:clamp(36px,5.2vw,58px); line-height:1.06; margin:0 0 18px; letter-spacing:-.5px; }
.hero p.lead { font-size:clamp(18px,2vw,21px); color:var(--muted); margin:0 0 28px; max-width:520px; }
.hero .actions { display:flex; flex-wrap:wrap; gap:14px; }
.hero .fine { color:var(--muted); font-size:14px; margin:16px 0 0; }
.stack { position:relative; height:600px; }
.stack img { position:absolute; filter:drop-shadow(0 28px 40px rgba(0,0,0,.55)); }
.stack .c { width:290px; left:50%; top:10px; transform:translateX(-50%); z-index:3; }
.stack .l { width:236px; left:2%; top:70px; transform:rotate(-7deg); z-index:2; opacity:.96; }
.stack .r { width:236px; right:2%; top:70px; transform:rotate(7deg); z-index:2; opacity:.96; }

/* bands */
section.band { padding:84px 0; border-bottom:1px solid var(--line); }
section.band.alt { background:var(--bg2); }
section.band h2 { font-size:clamp(28px,3.6vw,40px); line-height:1.12; margin:0 0 14px; letter-spacing:-.3px; }
.kicker { color:var(--accent); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:13px; margin:0 0 10px; }
.sub { color:var(--muted); font-size:19px; max-width:640px; margin:0 0 36px; }
.center { text-align:center; } .center .sub { margin-left:auto; margin-right:auto; }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:20px; padding:26px 26px 28px; }
.card h3 { margin:14px 0 8px; font-size:20px; } .card p { margin:0; color:var(--muted); }
.card .badge { width:46px; height:46px; border-radius:14px; background:rgba(79,174,115,.14); border:1px solid rgba(79,174,115,.35); display:flex; align-items:center; justify-content:center; color:var(--accent); }
.card .badge .ico { width:24px; height:24px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset:s; margin:0; padding:0; list-style:none; }
.steps li { counter-increment:s; background:var(--panel); border:1px solid var(--line); border-radius:20px; padding:26px; position:relative; }
.steps li::before { content:counter(s); position:absolute; right:22px; top:14px; font-size:54px; font-weight:800; color:rgba(79,174,115,.18); line-height:1; }
.steps h3 { margin:14px 0 8px; font-size:20px; } .steps p { margin:0; color:var(--muted); }

/* feature rows */
.row { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.row.rev .txt { order:2; }
.row .pic { display:flex; justify-content:center; }
.row .pic img { width:min(320px,80%); filter:drop-shadow(0 26px 36px rgba(0,0,0,.5)); }
.row .pic.trio { position:relative; height:520px; }
.row .pic.trio img { position:absolute; width:230px; top:0; }
.row .pic.trio img:nth-child(1) { left:6%; top:46px; transform:rotate(-6deg); }
.row .pic.trio img:nth-child(2) { left:50%; transform:translateX(-50%); z-index:2; width:250px; }
.row .pic.trio img:nth-child(3) { right:6%; top:46px; transform:rotate(6deg); }
.row .txt h2 { margin-top:0; }
.row .txt p { color:var(--muted); font-size:18px; margin:0 0 14px; }
.ticks { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:10px; }
.ticks li { display:flex; gap:10px; color:#d6e3db; } .ticks .ico { color:var(--accent); margin-top:3px; }
.pcrow { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:end; justify-items:center; margin-top:10px; }
.pcrow img { width:100%; filter:drop-shadow(0 20px 30px rgba(0,0,0,.5)); }
.pcrow img:nth-child(1) { max-width:380px; } .pcrow img:nth-child(2) { max-width:280px; }

/* pricing */
.price { max-width:760px; margin:0 auto; text-align:center; background:linear-gradient(160deg,#17261d,#101a14); border:1px solid #2c4636; border-radius:28px; padding:48px 32px; box-shadow:0 0 0 1px rgba(79,174,115,.12), 0 30px 80px rgba(0,0,0,.4); }
.price .amount { font-size:72px; font-weight:800; line-height:1; letter-spacing:-2px; }
.price .amount small { font-size:20px; font-weight:600; color:var(--muted); letter-spacing:0; margin-left:8px; }
.price ul { list-style:none; margin:24px auto 30px; padding:0; display:inline-grid; gap:10px; text-align:left; }
.price li { display:flex; gap:10px; } .price .ico { color:var(--accent); margin-top:3px; }

/* apps block */
.apps { display:grid; gap:20px; }
.app { display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:center; background:var(--panel); border:1px solid var(--line); border-radius:22px; padding:28px; }
.app .logo { width:72px; height:72px; border-radius:18px; }
.app h3 { margin:0 0 6px; font-size:24px; } .app p { margin:0; color:var(--muted); }
.app .chips { margin-top:14px; }
.app.compact { grid-template-columns:auto 1fr auto; gap:18px; padding:16px 18px; border-radius:18px; }
.app.compact .logo { width:56px; height:56px; border-radius:14px; flex:none; } .app.compact h3 { font-size:19px; margin:0 0 2px; }
.app.compact p { font-size:15px; } .app.compact .btn { padding:11px 18px; font-size:15px; border-radius:12px; white-space:nowrap; }
.hero .apps { margin-top:28px; }
.hero.home .wrap { display:block; text-align:center; min-height:0; padding-top:52px; padding-bottom:64px; }
.hero.home h1 { max-width:880px; margin:0 auto 30px; }
.hero.home .sim { display:block; width:100%; max-width:1000px; margin:0 auto; border-radius:22px; border:1px solid var(--line); box-shadow:0 30px 80px rgba(0,0,0,.5); }
.hero.home .apps { max-width:760px; margin:30px auto 0; text-align:left; }
.app.compact h3 { white-space:nowrap; }
@media (max-width:760px) { .app { grid-template-columns:1fr; text-align:left; } .app .btn { justify-self:start; }
  .app.compact { grid-template-columns:auto 1fr; } .app.compact .btn { grid-column:1 / -1; justify-self:stretch; justify-content:center; } }

/* faq */
details { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px 20px; margin:12px 0; }
details summary { cursor:pointer; font-weight:650; font-size:18px; }
details[open] summary { margin-bottom:10px; }
details p, details div { color:#cddbd2; }
.faq { max-width:820px; margin:0 auto; }

/* prose pages */
.prose { max-width:760px; padding:48px 0 70px; } .prose h1 { font-size:40px; margin:0 0 6px; } .prose h2 { font-size:25px; margin:38px 0 8px; }
.prose p, .prose li { color:#d3dfd7; } .prose code { background:var(--panel); padding:2px 6px; border-radius:6px; font-size:.92em; }
.prose ul, .prose ol { padding-left:22px; }
.prose details { margin:10px 0; }

/* footer */
footer.site { background:#070b08; padding:40px 0 54px; color:var(--muted); font-size:14px; }
footer.site .cols { display:flex; flex-wrap:wrap; gap:26px 60px; justify-content:space-between; margin-bottom:26px; }
footer.site a { color:var(--muted); display:block; margin:6px 0; } footer.site a:hover { color:var(--text); }
footer.site a.brand { display:flex; color:var(--text); margin:0 0 12px; }
footer.site .about p { margin:0; max-width:300px; }
footer.site h4 { margin:0 0 8px; color:var(--text); font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
footer.site .fine { border-top:1px solid var(--line); padding-top:20px; }

@media (max-width:900px) {
  .hero .wrap { grid-template-columns:1fr; text-align:center; min-height:0; padding-top:40px; }
  .hero.home .wrap { padding-top:36px; }
  .hero.home .sim { border-radius:14px; }
  .hero p.lead { margin-left:auto; margin-right:auto; } .hero .actions, .chips { justify-content:center; }
  .stack { height:520px; max-width:420px; margin:0 auto; width:100%; } .stack .c { width:250px; } .stack .l, .stack .r { width:170px; top:90px; }
  .grid3, .steps { grid-template-columns:1fr; }
  .row { grid-template-columns:1fr; gap:28px; text-align:center; } .row.rev .txt { order:0; } .ticks li { text-align:left; }
  .row .pic.trio { height:430px; max-width:420px; margin:0 auto; width:100%; } .row .pic.trio img { width:170px; } .row .pic.trio img:nth-child(2) { width:190px; }
  .pcrow { grid-template-columns:1fr; }
  header.site nav a:not(.cta) { display:none; }
  section.band { padding:56px 0; }
}
@media (prefers-reduced-motion:no-preference) { .btn { transition:background .15s, border-color .15s; } }
