:root{
  /* Light background like your onboarding */
  --bg1:#f9fbff;
  --bg2:#f1f6ff;

  --card:#ffffff;
  --stroke:#e6edf7;

  --text:#0b1220;
  --muted:#5a6572;
  --accent:#2563eb;

  --shadow:0 8px 24px rgba(30,64,175,0.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}

/* === Light gradient background (SwiftUI onboarding vibe) === */
body{
  min-height:100vh;
  /* two soft blue “circle” glows + a very light base gradient */
  background:
    radial-gradient(520px 520px at 20% 12%, rgba(37,99,235,0.14), rgba(37,99,235,0) 52%),
    radial-gradient(680px 680px at 82% 88%, rgba(37,99,235,0.12), rgba(37,99,235,0) 50%),
    linear-gradient(180deg, #fbfdff 0%, #f2f6ff 100%);
  color:#0b1220; /* readable on light */
  font:16px/1.65 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, Segoe UI, Roboto, system-ui, sans-serif;
  -webkit-font-smoothing:antialiased; 
  -moz-osx-font-smoothing:grayscale;
}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1040px;margin:0 auto;padding:28px 20px}

/* Header */
.nav{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;
  position:relative; z-index:1000; /* ensure nav sits above hero */
}
.brand{
  display:flex;align-items:center;gap:10px;
  position:relative; z-index:1001; /* above hero layers */
}
.brand-name{ font-weight:600; letter-spacing:.2px; }

/* Hero: image left, text right on desktop; stacked on mobile */
.hero{
  display:grid; gap:24px;
  grid-template-columns:1fr; align-items:center;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.35));
  border:1px solid var(--stroke);
  border-radius:18px; padding:22px;
  box-shadow:var(--shadow);
  position:relative; z-index:0; /* keep hero behind nav */
}
@media(min-width:880px){
  .hero{ grid-template-columns:1fr 1fr; padding:28px; }
}

/* If a decorative rectangle/overlay exists, push it behind and ignore pointer */
.hero::before,
.hero::after,
.rect-overlay{
  position:absolute; z-index:-1; pointer-events:none;
}

.kicker{
  display:inline-flex;gap:8px;align-items:center;
  padding:6px 10px;border-radius:999px;
  background:rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.25);
  color:#1e3a8a;font-size:13px;
}

h1{margin:10px 0 8px;font-size:32px;line-height:1.15}
p{margin:0 0 12px;color:var(--muted)}

.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:12px;border:1px solid var(--stroke);
  background:#f8fbff;color:var(--text);box-shadow:0 6px 16px rgba(37,99,235,.06)
}
.btn:hover{background:#f1f6ff}
.btn.primary{
  background:linear-gradient(135deg,#7dd3fc 0%,#a78bfa 100%);
  color:#061018; border-color:transparent
}
.btn.ghost{background:transparent}

/* Device image block (left) */
.device{
  display:flex; align-items:center; justify-content:center;
  padding:10px; background:transparent; border:0; box-shadow:none;
}
.device picture, .device img{ display:block; }
.device img{
  width:auto; height:auto;
  max-width:min(520px, 45vw);
  max-height:clamp(320px, 52vh, 760px);
  object-fit:contain;
  transition:transform .25s ease;
  position:relative; z-index:0; /* behind nav */
}
.device img:hover{ transform: translateY(-2px); }

/* Cards */
.grid{display:grid;gap:14px;margin-top:16px}
@media(min-width:720px){ .grid{grid-template-columns:1fr 1fr} }
.card{
  background:var(--card); border:1px solid var(--stroke);
  border-radius:16px; padding:18px; box-shadow:var(--shadow)
}

/* Footer */
.footer{
  margin-top:20px;padding:14px;text-align:center;font-size:14px;color:var(--muted)
}
.footer a{color:var(--muted)} .footer a:hover{color:var(--text)}

/* Prose (Terms/Privacy) */
.prose{max-width:820px;margin:0 auto}
.prose .paper{
  background:var(--card); border:1px solid var(--stroke);
  border-radius:16px; padding:22px; box-shadow:var(--shadow)
}
.prose h1{font-size:28px;margin:0 0 6px}
.prose h2{font-size:20px;margin:18px 0 8px}
.prose h3{font-size:16px;margin:14px 0 6px}
.prose p, .prose li{color:var(--muted)}
.prose ul{margin:8px 0 8px 20px}
.small{font-size:13px;color:var(--muted)}
.center{text-align:center}
.badge{font-size:12px;padding:4px 8px;border:1px solid var(--stroke);border-radius:999px;background:#f6f9ff}

/* === Force light background globally (wins over any old rules) === */
html, body {
  background:
    radial-gradient(520px 520px at 20% 12%, rgba(37,99,235,0.14), rgba(37,99,235,0) 52%),
    radial-gradient(680px 680px at 82% 88%, rgba(37,99,235,0.12), rgba(37,99,235,0) 50%),
    linear-gradient(180deg, #fbfdff 0%, #f2f6ff 100%) !important;
  color: #0b1220;
}

/* Prevent browsers from auto-switching to dark */
:root { color-scheme: light; }

/* --- App icon in the nav (single, consolidated definition) --- */
.launchlogo{
  position:relative; z-index:1002;    /* sits above hero */
  width:40px; height:40px;
  display:block;                      /* picture is block-level */
  border-radius:12px;
  overflow:hidden;                    /* keeps rounded corners crisp */
  box-shadow:0 2px 8px rgba(37,99,235,.12);
  border:1px solid #e6edf7;
}
.launchlogo img{
  display:block;
  width:100%; height:100%;
  object-fit:cover;                   /* use 'contain' if you prefer letterboxed */
  transition:transform .25s ease;
}
.launchlogo:hover img{ transform: translateY(-2px); }

/* Ensure no clipping in the nav chain */
.nav, .brand { overflow: visible; }
