:root {
  --primary: #D63B3A; --on-primary: #fff; --primary-container: #FFDAD5;
  --bg: #FBF7F6; --surface: #fff; --surface-2: #F3EEED;
  --text: #1F1A1A; --muted: #5E5554; --outline: #E6DEDC;
  --convert: #2E6BE6; --export: #14935A; --organize: #E07A00; --edit: #7448E8; --security: #0B8C83; --smart: #D93E7A;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --primary: #FFB4AB; --on-primary: #690005; --primary-container: #8C1D1C;
    --bg: #121011; --surface: #1C1A1A; --surface-2: #272323;
    --text: #EDE0DE; --muted: #C9BDBB; --outline: #3B3534;
    --convert: #8AB4FF; --export: #6FD8A0; --organize: #FFB866; --edit: #BBA4FF; --security: #5ED6CB; --smart: #FF9EC4;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: var(--primary); }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
header.top { display: flex; align-items: center; gap: 12px; padding: 18px 0; }
header.top img { width: 40px; height: 40px; border-radius: 12px; }
header.top b { font-size: 20px; }
header.top nav { margin-left: auto; display: flex; gap: 18px; font-weight: 600; }
header.top nav a { color: var(--text); text-decoration: none; }
.hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; padding: 40px 0 56px; }
.hero h1 { font-size: clamp(34px, 5vw, 54px); line-height: 1.08; margin: 0 0 16px; letter-spacing: -.02em; }
.hero p { font-size: 19px; color: var(--muted); margin: 0 0 28px; }
.btn { display: inline-flex; align-items: center; gap: 10px; background: var(--primary); color: var(--on-primary); padding: 14px 24px; border-radius: 28px; font-weight: 700; text-decoration: none; }
.badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.badge { background: var(--surface-2); border-radius: 10px; padding: 6px 12px; font-size: 14px; font-weight: 600; }
.shots { display: flex; gap: 16px; justify-content: center; }
.shots img { width: 46%; max-width: 260px; border-radius: 28px; border: 1px solid var(--outline); box-shadow: 0 20px 40px rgba(0,0,0,.12); }
.shots img:nth-child(2) { margin-top: 48px; }
section { padding: 32px 0; }
section h2 { font-size: 30px; margin: 0 0 8px; letter-spacing: -.01em; }
section .lead { color: var(--muted); margin: 0 0 24px; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.card { background: var(--surface); border: 1px solid var(--outline); border-radius: 18px; padding: 18px; }
.card h3 { margin: 0 0 6px; font-size: 17px; }
.card ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 15px; }
.dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 8px; }
.feature { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.feature .card p { margin: 0; color: var(--muted); }
.tablet img { width: 100%; border-radius: 20px; border: 1px solid var(--outline); }
article { max-width: 760px; padding-bottom: 48px; }
article h1 { font-size: 36px; margin: 24px 0 4px; }
article h2 { font-size: 21px; margin: 28px 0 6px; }
article .date { color: var(--muted); margin: 0 0 20px; }
footer { border-top: 1px solid var(--outline); padding: 28px 0 40px; color: var(--muted); font-size: 14px; }
footer .wrap { display: flex; flex-wrap: wrap; gap: 18px; }
footer a { color: var(--muted); }
@media (max-width: 760px) {
  .hero { grid-template-columns: 1fr; padding-top: 16px; }
  header.top nav { gap: 12px; font-size: 15px; }
  header.top nav a.hide-sm { display: none; }
}
form.contact { display: grid; gap: 8px; }
form.contact label { font-weight: 600; margin-top: 8px; }
form.contact textarea, form.contact input { width: 100%; font: inherit; color: var(--text); background: var(--surface); border: 1px solid var(--outline); border-radius: 12px; padding: 12px 14px; }
form.contact textarea:focus, form.contact input:focus { outline: 2px solid var(--primary); border-color: transparent; }
form.contact .hint { color: var(--muted); font-size: 14px; margin: 4px 0; }
form.contact .btn { justify-self: start; border: 0; cursor: pointer; font-size: 16px; }
form.contact .btn:disabled { opacity: .6; cursor: default; }
