/* PropertySift marketing site — static, Cloudflare Pages.
   Branding matched to the app dashboard + email reports (dark theme,
   cyan accent, Segoe UI). Palette mirrors webui _BASE_CSS. */
:root{
  --bg:#0e1621; --surface:#16222f; --card:#1e2d3d; --border:#2a3b4d;
  --text:#e3ecf3; --muted:#8fa3b0; --accent:#4fc3f7; --accent-d:#2b9fd6;
  --green:#27ae60; --gold:#f4c430; --navy:#0b3d6b; --ink-on-accent:#06121d;
  --radius:12px; --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);
  font-family:'Segoe UI',system-ui,Arial,sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:#7fd6fb}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.prose{max-width:780px}
.accent{color:var(--accent)}

/* ── Buttons ── */
.btn{display:inline-block;background:var(--accent);color:var(--ink-on-accent);
  font-weight:700;padding:12px 24px;border-radius:9px;font-size:15px;
  border:1px solid var(--accent);transition:transform .12s,box-shadow .12s,filter .12s}
.btn:hover{filter:brightness(1.06);transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(79,195,247,.25);color:var(--ink-on-accent)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn.ghost:hover{border-color:var(--accent);color:#fff;box-shadow:none}

/* ── Header (sticky, glassy) ── */
header.site{position:sticky;top:0;z-index:20;
  background:rgba(14,22,33,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border)}
header.site .wrap{display:flex;align-items:center;gap:18px;padding:14px 22px;flex-wrap:wrap}
header.site .brand{display:flex;align-items:center;gap:9px;margin-right:auto;
  font-size:20px;font-weight:800;letter-spacing:-.3px;color:#fff}
header.site .brand img{width:27px;height:27px;display:block}
.wm .p{color:#fff}
.wm .s{color:var(--accent)}
/* big lockup for the hero */
.hero .brand-lg{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.hero .brand-lg img{width:56px;height:56px;display:block}
.hero .brand-lg .wm{font-size:32px;font-weight:800;letter-spacing:-.5px}
header.site nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
header.site nav a{color:var(--muted);font-size:14.5px;font-weight:500}
header.site nav a:hover{color:#fff}
header.site nav a.signin{color:var(--accent)}

/* ── Hero ── */
.hero{position:relative;overflow:hidden;
  background:
    radial-gradient(900px 420px at 78% -10%,rgba(79,195,247,.18),transparent 60%),
    linear-gradient(160deg,#0b3d6b 0%,#0c2236 46%,var(--bg) 100%)}
.hero .wrap{padding:84px 22px 78px}
.hero .eyebrow{display:inline-block;background:rgba(79,195,247,.12);
  border:1px solid rgba(79,195,247,.35);color:#bfe6fb;font-size:13px;font-weight:600;
  padding:5px 13px;border-radius:999px;margin-bottom:20px}
.hero h1{font-size:46px;line-height:1.1;margin-bottom:16px;color:#fff;letter-spacing:-1px;max-width:760px}
.hero p.sub{font-size:19px;color:#c4d6e6;max-width:640px;margin-bottom:28px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.note{font-size:13.5px;color:#86a7c0;margin-top:16px}

/* ── Sections ── */
section{padding:64px 0}
.section-head{max-width:680px;margin-bottom:34px}
section h2{font-size:30px;color:#fff;letter-spacing:-.5px;margin-bottom:10px}
section h2 .bar{display:block;width:46px;height:3px;background:var(--accent);
  border-radius:3px;margin-top:14px}
.lead{color:var(--muted);font-size:17px}
.alt{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.band{background:linear-gradient(180deg,#0c2236,var(--bg));text-align:center;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.band .wrap{max-width:780px}
.band .bar{margin:14px auto 18px}
.band .lead{margin:0 auto}

/* ── Cards / features ── */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.feature{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:26px;transition:transform .14s,border-color .14s,box-shadow .14s}
.feature:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow)}
.feature .ic{font-size:24px;display:inline-block;margin-bottom:12px}
.feature h3{font-size:17.5px;color:#fff;margin-bottom:7px}
.feature p{margin:0;color:var(--muted);font-size:14.5px}
.step .ic{color:var(--accent);font-weight:800;font-size:15px;
  background:rgba(79,195,247,.12);border:1px solid rgba(79,195,247,.3);
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* ── Pricing ── */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;max-width:880px}
.plan{position:relative;background:var(--card);border:1px solid var(--border);
  border-radius:16px;padding:30px 28px}
.plan.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 14px 40px rgba(79,195,247,.14)}
.plan .badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:#3a2c00;font-size:12px;font-weight:800;
  padding:4px 12px;border-radius:999px;letter-spacing:.3px}
.plan h3{font-size:16px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700}
.plan .price{font-size:40px;font-weight:800;color:#fff;margin:10px 0 2px;letter-spacing:-1px}
.plan .price small{font-size:15px;font-weight:500;color:var(--muted)}
.plan ul{list-style:none;margin:18px 0 24px}
.plan li{color:#c4d6e6;font-size:14.5px;padding:7px 0 7px 26px;position:relative}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.plan .btn{width:100%;text-align:center}

/* ── Hero visual (framed screenshots) ── */
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}
.hero-visual{position:relative;padding:0 0 34px 30px}
.hero-phone{position:absolute;left:-4px;bottom:-6px;width:152px;z-index:2;
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.5))}

/* Browser frame */
.frame-browser{background:#0a121c;border:1px solid var(--border);border-radius:12px;
  overflow:hidden;box-shadow:var(--shadow)}
.fb-bar{display:flex;align-items:center;gap:7px;padding:9px 12px;
  background:#101b28;border-bottom:1px solid var(--border)}
.fb-dot{width:10px;height:10px;border-radius:50%;background:#2f4258;flex:0 0 auto}
.fb-dot:nth-child(1){background:#e0605e}.fb-dot:nth-child(2){background:#e5b567}
.fb-dot:nth-child(3){background:#59b26a}
.fb-url{margin-left:10px;flex:1;max-width:340px;background:#0c1622;border:1px solid var(--border);
  color:var(--muted);font-size:11.5px;padding:3px 12px;border-radius:999px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.frame-browser img{display:block;width:100%;height:auto}

/* Phone frame */
.frame-phone{background:#0a121c;border:1px solid #33465c;border-radius:16px;padding:9px;
  box-shadow:var(--shadow)}
.fp-notch{width:44%;height:5px;border-radius:999px;background:#2a3b4d;margin:2px auto 7px}
.fp-screen{border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.fp-screen img{display:block;width:100%;height:auto}

/* ── "See it in action" tour ── */
#tour .section-head{margin-bottom:48px}
.tour-row{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;
  margin-bottom:74px}
.tour-row:last-child{margin-bottom:0}
.tour-row.flip .tour-shot{order:2}
.tour-row.flip .tour-copy{order:1}
.tour-shot{min-width:0}
.tour-shot .frame-phone{width:min(290px,84%);margin:0 auto}
.tour-copy .tag{display:inline-block;color:var(--accent);font-size:12.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px}
.tour-copy h3{font-size:24px;color:#fff;letter-spacing:-.4px;margin-bottom:14px}
.points{list-style:none;margin:0}
.points li{color:#c4d6e6;font-size:15px;padding:7px 0 7px 26px;position:relative}
.points li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}

@media(max-width:880px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{margin-top:34px;padding-left:0}
  .hero-phone{left:10px;bottom:-14px;width:120px}
  .tour-row,.tour-row.flip{grid-template-columns:1fr;gap:26px;margin-bottom:56px}
  .tour-row.flip .tour-shot{order:2}
  .tour-row.flip .tour-copy{order:1}
  .tour-row .tour-copy{order:1}
  .tour-row .tour-shot{order:2}
}

/* placeholder token (fill before launch) */
.ph{background:rgba(244,196,48,.16);color:var(--gold);padding:0 5px;border-radius:4px;
  font-weight:600;border:1px dashed rgba(244,196,48,.5)}

/* ── Policy pages ── */
.policy{padding:54px 0}
.policy h1{font-size:34px;color:#fff;letter-spacing:-.5px;margin-bottom:6px}
.policy .updated{color:var(--muted);font-size:14px;margin-bottom:10px}
.policy h2{font-size:20px;color:#fff;margin:30px 0 8px}
.policy p,.policy li{color:#c4d6e6;margin-bottom:10px}
.policy ul{padding-left:22px;margin-bottom:10px}
.callout{background:rgba(79,195,247,.08);border-left:4px solid var(--accent);
  padding:14px 18px;border-radius:0 10px 10px 0;margin:20px 0;font-size:14.5px;color:#c4d6e6}

/* ── Footer ── */
footer.site{background:var(--surface);border-top:1px solid var(--border);
  padding:34px 0;font-size:14px;color:var(--muted);margin-top:10px}
footer.site .wrap{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
footer.site a{color:var(--muted)}
footer.site a:hover{color:#fff}
footer.site .links{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}

@media(max-width:640px){
  .hero h1{font-size:33px}.hero .wrap{padding:60px 22px 54px}
  section h2{font-size:25px}
  footer.site .links{margin-left:0}
}
