/* moldr — shared site styles (nav, footer, doc/legal pages) */
:root{
  --sage:#D3C6AA; --sage-deep:#8a8164; --ink:#1b1b1f; --muted:#62646c;
  --line:rgba(55,52,30,.12); --bg:#fff;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; color:var(--ink); background:var(--bg);
      font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
      -webkit-font-smoothing:antialiased; line-height:1.5; }
a{ color:inherit; text-decoration:none; }

/* ── floating nav ── */
.nav{
  position:fixed; top:16px; left:50%; transform:translateX(-50%);
  width:min(1180px, calc(100% - 36px)); height:58px; z-index:400;
  display:flex; align-items:center; justify-content:space-between; padding:0 10px 0 22px;
  background:rgba(250,249,244,.9);
  border-radius:30px; box-shadow:0 8px 30px rgba(70,66,38,.14), inset 0 0 0 .5px rgba(255,255,255,.6);
}
.brand{ display:flex; align-items:center; gap:10px; font-weight:600; font-size:18px; letter-spacing:-.3px; }
.brand .mark{ width:32px; height:32px; display:block; object-fit:contain; margin:-2px 0; }
.brand-logo{ height:30px; width:auto; display:block; }
.nav .links{ display:flex; align-items:center; gap:26px; font-size:14px; color:#3a3a3e; }
.nav .links a{ opacity:.82; }
.nav .links a:hover,.nav .links a.active{ opacity:1; color:var(--ink); font-weight:600; }
.appstore{ display:flex; align-items:center; gap:9px; background:#000; color:#fff; border-radius:22px; padding:8px 16px 8px 14px; box-shadow:0 4px 14px rgba(0,0,0,.18); }
.appstore .logo{ font-size:19px; line-height:1; margin-top:-2px; }
.appstore .txt{ display:flex; flex-direction:column; line-height:1.05; text-align:left; }
.appstore .txt .s{ font-size:9px; opacity:.85; }
.appstore .txt .b{ font-size:14px; font-weight:600; letter-spacing:-.2px; }

/* ── buy CTA pill (direct purchase) ── */
.cta-buy{ display:inline-flex; align-items:center; gap:9px; background:#000; color:#fff; font-weight:600; font-size:14px; padding:11px 22px; border-radius:22px; box-shadow:0 4px 14px rgba(70,66,38,.18); }
.cta-buy:hover{ background:var(--ink); }
.cta-buy.big{ font-size:19px; padding:16px 34px; border-radius:30px; }
.cta-buy .price{ opacity:.6; font-weight:500; }

/* ── checkout page ── */
.checkout-head{ position:fixed; top:0; left:0; right:0; height:64px; z-index:400; display:flex; align-items:center; justify-content:space-between; padding:0 28px;
  background:rgba(255,255,255,.82); backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px); border-bottom:.5px solid var(--line); }
.checkout-head .secure{ font-size:13px; color:var(--muted); display:flex; align-items:center; gap:7px; }
.checkout{ min-height:100vh; background:linear-gradient(180deg,#f4f2ea,#edebde); padding:108px 24px 70px; }
.checkout .grid{ max-width:920px; margin:0 auto; display:grid; grid-template-columns:1fr 1.05fr; gap:28px; align-items:start; }
.panel{ background:#fff; border-radius:20px; padding:32px; box-shadow:0 18px 50px rgba(70,66,38,.10), inset 0 0 0 .5px var(--line); }
.panel h2{ font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); margin:0 0 20px; }
.summary .item{ display:flex; gap:14px; align-items:center; }
.summary .item img{ width:52px; height:52px; }
.summary .item .nm{ font-size:18px; font-weight:600; } .summary .item .sub{ font-size:14px; color:var(--muted); }
.summary .item .amt{ margin-left:auto; font-size:18px; font-weight:700; }
.summary ul{ list-style:none; padding:0; margin:22px 0; display:flex; flex-direction:column; gap:11px; }
.summary li{ font-size:15px; color:#3c3e45; padding-left:24px; position:relative; }
.summary li::before{ content:"✓"; position:absolute; left:0; color:var(--sage-deep); font-weight:700; }
.summary .promo{ display:flex; gap:8px; margin:20px 0; }
.summary .total{ display:flex; justify-content:space-between; border-top:.5px solid var(--line); padding-top:18px; font-size:18px; font-weight:700; }
.field{ margin-bottom:16px; } .field label{ display:block; font-size:13px; font-weight:600; color:#3c3e45; margin-bottom:7px; }
.input{ width:100%; height:44px; border:1px solid var(--line); border-radius:11px; padding:0 14px; font-size:15px; background:#fcfcfa; color:var(--ink); outline:none; font-family:inherit; }
.input:focus{ border-color:var(--sage-deep); box-shadow:0 0 0 3px rgba(211,198,170,.35); }
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.card-icons{ display:flex; gap:6px; } .card-icons span{ font-size:11px; font-weight:700; color:#9b9da6; border:1px solid var(--line); border-radius:5px; padding:2px 6px; }
.btn-pay{ width:100%; height:52px; border:0; border-radius:13px; background:var(--ink); color:#fff; font-size:17px; font-weight:600; margin-top:8px; cursor:pointer; }
.btn-pay:hover{ background:#000; }
.payform .secured{ text-align:center; font-size:13px; color:var(--muted); margin-top:16px; }
.payform .terms{ font-size:12px; color:#9b9da6; text-align:center; margin-top:10px; line-height:1.5; }
.payform .terms a{ color:var(--sage-deep); text-decoration:underline; }
.checkout .demo-note{ max-width:920px; margin:18px auto 0; text-align:center; font-size:12px; color:#9b9da6; }
@media (max-width:760px){ .checkout .grid{ grid-template-columns:1fr; } }

/* ── doc / legal / support pages ── */
.doc{ max-width:760px; margin:0 auto; padding:150px 24px 110px; }
.doc h1{ font-size:clamp(42px,5.6vw,68px); font-weight:700; letter-spacing:-2.2px; margin:0 0 10px; line-height:1.02; }
.doc .sub{ font-size:20px; color:var(--muted); margin:0 0 14px; }
.doc .updated{ color:#9b9da6; font-size:14px; margin:0 0 12px; }
.doc h2{ font-size:25px; font-weight:700; letter-spacing:-.7px; margin:48px 0 12px; }
.doc h3{ font-size:18px; font-weight:600; margin:30px 0 8px; }
.doc p, .doc li{ font-size:17px; color:#3c3e45; line-height:1.72; }
.doc p{ margin:0 0 14px; }
.doc ul{ padding-left:22px; margin:0 0 14px; }
.doc li{ margin:7px 0; }
.doc a.inline{ color:var(--sage-deep); text-decoration:underline; }
.doc code{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.88em; background:rgba(20,30,55,.06); padding:2px 7px; border-radius:6px; }
.doc .keys{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.86em; font-weight:700; color:#3a3a3e; background:rgba(20,30,55,.06); padding:3px 8px; border-radius:7px; }
.doc .lead-divider{ height:.5px; background:var(--line); border:0; margin:8px 0 0; }

/* requirement chips + cards (support page) */
.reqgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:8px 0 8px; }
.reqgrid .chip{ background:#f4f2e9; border-radius:14px; padding:18px 20px; box-shadow:inset 0 0 0 .5px var(--line); }
.reqgrid .chip b{ display:block; font-size:16px; margin-bottom:3px; }
.reqgrid .chip span{ font-size:14px; color:var(--muted); }
.steps{ counter-reset:step; padding:0; list-style:none; margin:0 0 14px; }
.steps li{ position:relative; padding-left:46px; margin:16px 0; }
.steps li::before{ counter-increment:step; content:counter(step); position:absolute; left:0; top:-2px;
  width:30px; height:30px; border-radius:50%; background:var(--ink); color:#fff; font-size:15px; font-weight:700;
  display:flex; align-items:center; justify-content:center; }
.faq h2{ margin-bottom:8px; }
.faq .q{ font-size:18px; font-weight:600; margin:34px 0 6px; }
.contact-card{ margin-top:40px; background:#0f1115; color:#fff; border-radius:20px; padding:32px; }
.contact-card h3{ margin:0 0 8px; color:#fff; font-size:22px; }
.contact-card p{ color:#9b9ea8; margin:0 0 16px; }
.contact-card a.btn{ display:inline-block; background:var(--sage); color:#23210f; font-weight:600; padding:11px 22px; border-radius:24px; }

/* ── shared footer ── */
.site-footer{ background:#0f1115; color:#cfd2da; padding:70px 0 36px; }
.site-footer .wrap{ max-width:1080px; margin:0 auto; padding:0 24px; }
.site-footer .cols{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:40px; }
.site-footer .brand{ color:#fff; }
.site-footer .brandcol p{ color:#8b8e98; font-size:14px; margin:14px 0 0; max-width:270px; line-height:1.6; }
.site-footer h4{ color:#fff; font-size:14px; font-weight:600; margin:2px 0 12px; }
.site-footer .cols a:not(.brand){ display:block; color:#9b9ea8; font-size:14px; padding:6px 0; }
.site-footer .cols a:not(.brand):hover{ color:#fff; }
.site-footer .bottom{ display:flex; justify-content:space-between; margin-top:48px; padding-top:24px; border-top:.5px solid rgba(255,255,255,.1); font-size:13px; color:#7e818b; }
@media (max-width:780px){
  .site-footer .cols{ grid-template-columns:1fr 1fr; gap:28px; }
  .reqgrid{ grid-template-columns:1fr; }
  .nav .links .muted-link{ display:none; }
}
