/* The app look: one restrained palette. Dark navy header, white cards, dark gray text, ONE accent (deep green) for the main action.
   Applies to the app pages (body.app: install, sign in, join, dashboard, lead detail) and to the directory listings (body.dir). Looks only; no behavior. */
body.app, body.dir {
  --navy: #0b1f44; --ink: #1a2433; --muted: #5b6573; --line: #e3e6ea; --card: #ffffff; --canvas: #f2f3f5; --accent: #1f5c3f; --accent-d: #17482f;
  --font: Inter, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
body.app { background: var(--canvas); color: var(--ink); font-family: var(--font); }
body.app * { font-family: var(--font); }
body.app h1, body.app h2, body.app h3, body.app h4, body.app .eyebrow { font-family: var(--font); text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--navy); }
body.app h1 { font-size: clamp(1.9rem, 6vw, 2.4rem); line-height: 1.15; margin: 8px 0 14px; }
body.app h2 { font-size: 1.25rem; line-height: 1.25; margin: 34px 0 10px; }
body.app p, body.app li { color: var(--ink); line-height: 1.55; }
body.app .note, body.app .sub, body.app small { color: var(--muted); }

/* header: navy, shield and name only */
body.app header.top { background: var(--navy); border-bottom: 0; position: static; padding: 6px 0 34px; }
body.app header.top .wrap.nav { padding-top: 14px; padding-bottom: 6px; }
body.app header.top ul, body.app header.top .menu-btn { display: none !important; }
body.app header.top .brand { gap: 12px; }
body.app header.top .brand span { font: 600 1.15rem/1 var(--font); letter-spacing: 0; text-transform: none; color: #fff; }
body.app header.top .brand svg path:first-child { fill: #d9b45a; }
body.app header.top .brand svg path:last-child { stroke: var(--navy); }
body.app main { margin-top: -22px; position: relative; }
body.app .s { padding: 0 0 40px; background: transparent; }
body.app .s .wrap { background: var(--card); border-radius: 22px; box-shadow: 0 12px 34px rgba(11, 31, 68, .08); padding: 30px 26px 34px; margin-left: 16px; margin-right: 16px; max-width: 760px; }
@media (min-width: 800px) { body.app .s .wrap { margin-left: auto; margin-right: auto; } }
body.app .eyebrow { font-size: .85rem; font-weight: 500; color: var(--muted); text-transform: none; margin: 0 0 4px; }
body.app .eyebrow i { display: none; }

/* buttons: one accent for the main action, everything else a quiet outline */
body.app .btn { font: 600 .98rem var(--font); letter-spacing: 0; text-transform: none; border-radius: 12px; padding: 12px 20px; box-shadow: none; transition: none; }
body.app .btn-sm { padding: 9px 16px; font-size: .9rem; }
body.app .btn-lg { padding: 14px 22px; font-size: 1.02rem; }
body.app .btn-alert, body.app .btn-teal, body.app .btn-amber { background: var(--accent); color: #fff; border: 1.5px solid var(--accent); }
body.app .btn-alert:hover, body.app .btn-teal:hover, body.app .btn-amber:hover { background: var(--accent-d); }
body.app .btn-ghost-dark, body.app .btn-ghost, body.app .btn-dark { background: #fff; color: var(--navy); border: 1.5px solid var(--navy); }
body.app .btn[disabled] { opacity: .55; }
body.app a { color: var(--navy); }
body.app .msg { border-radius: 12px; font-size: .95rem; }

/* lead detail: Call is the main button; Maps, Text, Email are quiet outlines */
body.app .tapgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0 8px; }
body.app .tap { min-height: 0; padding: 12px 10px; border-radius: 12px; background: #fff; color: var(--navy); border: 1.5px solid var(--navy); flex-direction: row; align-items: center; justify-content: center; gap: 8px; text-align: center; }
body.app .tap b { font: 600 .98rem var(--font); text-transform: none; letter-spacing: 0; }
body.app .tap span { display: none; }
body.app .tap.t-call { grid-column: 1 / -1; order: -1; background: var(--accent); color: #fff; border-color: var(--accent); padding: 16px 12px; }
body.app .tap.t-call b { font-size: 1.15rem; }
body.app .tap.t-call span { display: inline; color: rgba(255,255,255,.9); font-size: .95rem; opacity: 1; }
body.app .tap.t-find { grid-column: 1 / -1; order: -1; background: var(--accent); color: #fff; border-color: var(--accent); padding: 16px 12px; }
body.app .tap.t-find span { display: inline; color: rgba(255,255,255,.9); font-size: .9rem; opacity: 1; }
body.app .findbox input { border: 1.5px solid var(--line); border-radius: 12px; }

/* status */
body.app .stbar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
body.app .st { background: #eceef1; color: #3b4452; border: 1.5px solid #dfe3e8; border-radius: 12px; font: 500 .92rem var(--font); padding: 12px 4px; }
body.app .st.on, body.app .st.on.s-not_yet, body.app .st.on.s-called, body.app .st.on.s-won, body.app .st.on.s-lost { background: var(--navy); color: #fff; border-color: var(--navy); }
body.app .stnote { color: var(--muted); font: 400 .82rem var(--font); }
body.app .pill, body.app .pill.s-called, body.app .pill.s-won, body.app .pill.s-lost, body.app .pill.s-not_yet { background: #eceef1; color: #3b4452; font: 500 .8rem var(--font); border-radius: 8px; padding: 4px 10px; }
body.app .heat { font: 600 .78rem var(--font); letter-spacing: 0; text-transform: none; border-radius: 8px; padding: 4px 10px; }
body.app .heat-hot { background: #f0c4c4; color: #8c2323; }
body.app .heat-warm { background: #e4e6e9; color: #4a5361; }

/* dashboard */
body.app .dhead h1 { margin: 0; }
body.app .dpanel { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px 20px; margin-top: 22px; box-shadow: none; }
body.app .dpanel.still { border: 1.5px solid #c9d1dc; }
body.app .dpanel h2 { margin-top: 0; }
body.app .dday { font: 600 .9rem var(--font); letter-spacing: 0; text-transform: none; color: var(--muted); margin: 22px 0 10px; }
body.app .leadcard { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px 16px 14px; margin-bottom: 14px; }
body.app .heatcard-hot { border-left: 1px solid var(--line); }
body.app .ltitle { font: 600 1.08rem var(--font); color: var(--navy); text-decoration: none; letter-spacing: 0; text-transform: none; }
body.app .findlink { font: 600 .9rem var(--font); color: var(--navy); border: 1.5px solid var(--navy); border-radius: 10px; padding: 7px 14px; text-decoration: none; margin: 4px 0 12px; }
body.app .dfilters select { border: 1.5px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); font: 500 .95rem var(--font); }
body.app .phone { border-bottom: 1px solid var(--line); }
body.app .evt { border-bottom: 1px solid var(--line); }

/* install page: same palette and spacing, one green button */
body.app #ia-install-steps h2 { margin-top: 26px; }
body.app #enable-btn { width: 100%; justify-content: center; }
body.app #install-btn { background: var(--accent); }

/* quiet footer: just the legal line */
body.app footer.bot { background: transparent; border: 0; padding: 0 16px 40px; }
body.app footer.bot .fgrid { display: none; }
body.app footer.bot .note { color: #7a8493 !important; text-align: center; font-size: .78rem; margin: 0 !important; }
body.app #stickycta, body.app #toTop { display: none !important; }

/* directory list (city pages): navy and white, outline buttons, gold-free */
body.dir .listing { background: #fff; border: 1px solid #e3e6ea; border-radius: 16px; box-shadow: 0 6px 18px rgba(11,31,68,.05); padding: 22px 22px; }
body.dir .listing h3 { font: 600 1.2rem Inter, sans-serif; letter-spacing: 0; text-transform: none; color: #0b1f44; }
body.dir .listing p { color: #3b4452; }
body.dir .listing .btn { background: #fff; color: #0b1f44; border: 1.5px solid #0b1f44; border-radius: 12px; font: 600 .92rem Inter, sans-serif; box-shadow: none; }
body.dir .listing.featured { border: 1.5px solid #0b1f44; }
body.dir .listing .badge, body.dir .pill.ok { background: #eceef1; color: #3b4452; border-radius: 8px; font: 600 .75rem Inter, sans-serif; letter-spacing: 0; text-transform: none; }
body.dir #stickycta { background: #0b1f44; }
body.dir #stickycta .btn { background: #d9b45a; color: #0b1f44; border: 0; border-radius: 12px; box-shadow: none; font: 700 .9rem Inter, sans-serif; }

body.app .cardrow { display: flex; gap: 10px; flex-wrap: wrap; margin: 6px 0 2px; }
body.app #ia-dash .btn { background: #fff; color: var(--navy); border: 1.5px solid var(--navy); }
body.app .eyebrow + .heat { display: inline-block; margin: 0 0 10px; }
body.app .eyebrow { display: inline-block; margin-right: 10px; }
body.dir main h2 { font-family: Inter, -apple-system, "Segoe UI", sans-serif; text-transform: none; letter-spacing: 0; font-weight: 600; color: #0b1f44; }
body.dir .slot { background: #fff; border: 1.5px dashed #c9d1dc; border-radius: 16px; }
body.dir .slot .btn { background: #d9b45a; color: #0b1f44; border: 0; border-radius: 12px; box-shadow: none; }
body.dir #toTop { background: #0b1f44; color: #fff; box-shadow: none; }

/* ===== landing page: same look as the app. Dark navy header, white background, gold for the main buttons. ===== */
body.land { --navy: #0b1f44; --navy2: #0a1a38; --gold: #d9b45a; --gold-d: #c29f45; --ink: #1a2433; background: #fff; color: var(--ink); }
body.land header.top { background: var(--navy); border-bottom: 0; }
body.land header.top .brand span { font-family: Inter, -apple-system, "Segoe UI", sans-serif; text-transform: none; letter-spacing: 0; font-weight: 600; }
body.land header.top .brand svg path:first-child { fill: var(--gold); }
body.land header.top ul .l { color: #dfe6f2; }
body.land .btn-alert, body.land .btn-amber, body.land .btn-teal { background: var(--gold); color: var(--navy); border: 0; box-shadow: none; font-weight: 700; }
body.land .btn-alert:hover, body.land .btn-amber:hover, body.land .btn-teal:hover { background: var(--gold-d); }
body.land .btn-ghost { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.6); }
body.land .btn-ghost-dark, body.land .btn-dark { background: #fff; color: var(--navy); border: 1.5px solid var(--navy); }
body.land header.top .btn-amber { background: var(--gold); color: var(--navy); }
/* hero: navy, the team photo, no red glow */
body.land .cine { background: linear-gradient(180deg, var(--navy), var(--navy2)); }
body.land .cine .redglow, body.land .cine .scan, body.land .cine .grain { display: none; }
body.land .cine .bgimg { opacity: .14; filter: saturate(.3) brightness(.9); }
body.land .cine .shade { background: linear-gradient(90deg, var(--navy) 8%, rgba(11,31,68,.82) 46%, rgba(11,31,68,.2) 100%); }
body.land .cine h1 em { color: var(--gold); text-shadow: none; }
body.land .cine .eyebrow { color: var(--gold); } body.land .cine .eyebrow i { background: var(--gold); box-shadow: none; }
body.land .cine .man::before { background: radial-gradient(circle, rgba(217,180,90,.28), rgba(217,180,90,0) 66%); animation: none; }
body.land .cine .man img { filter: drop-shadow(0 0 2px rgba(255,255,255,.45)) drop-shadow(0 18px 40px rgba(0,0,0,.45)); }
body.land .chip { background: #fff; color: var(--navy); border: 0; box-shadow: 0 10px 30px rgba(0,0,0,.3); }
body.land .chip b { color: #8c2323; background: #f0c4c4; border-radius: 6px; padding: 2px 7px; }
body.land .cine .proof b { color: #fff; font-family: Inter, sans-serif; font-weight: 700; font-size: 1.2rem; }
body.land .feed { background: var(--navy2); color: #dfe6f2; border-color: rgba(255,255,255,.08); }
body.land .feed b { color: var(--gold); background: transparent; }
/* phone mockup: Call is the main button, the others are quiet outlines */
body.land .appsec { background: #fff; color: var(--ink); }
body.land .appsec h2 { color: var(--navy); } body.land .appsec .sub, body.land .appsec .ticks li { color: #3b4452; }
body.land .appsec .eyebrow { color: #5b6573; } body.land .appsec .eyebrow i { background: var(--gold); box-shadow: none; }
body.land .appsec .ticks li::before { background: var(--navy); }
body.land .phoneframe { background: #14171d; box-shadow: 0 28px 60px rgba(11,31,68,.28); }
body.land .pbar { background: var(--navy); }
body.land .pitem.open { border: 1.5px solid var(--navy); }
body.land .ptag { background: #f0c4c4; color: #8c2323; }
body.land .ptaps { grid-template-columns: repeat(3, 1fr); }
body.land .ptaps span { background: #fff; color: var(--navy); border: 1.5px solid var(--navy); font: 600 .82rem Inter, Arial, sans-serif; letter-spacing: 0; text-transform: none; padding: 9px 2px; border-radius: 10px; }
body.land .ptaps span:first-child { grid-column: 1 / -1; background: #1f5c3f; border-color: #1f5c3f; color: #fff; font-size: .95rem; padding: 12px 2px; }
body.land .pfoot span, body.land .pfoot span:nth-child(1), body.land .pfoot span:nth-child(2), body.land .pfoot span:nth-child(3) { background: #eceef1; color: #3b4452; border-color: #dfe3e8; }
body.land .pfoot span:nth-child(1) { background: var(--navy); color: #fff; border-color: var(--navy); }
/* sections: white and navy only */
body.land .weekband, body.land .problem, body.land .solution { background: var(--navy); color: #e6ecf6; border: 0; }
body.land .weekband::before { display: none; }
body.land .problem::before { color: rgba(255,255,255,.04); }
body.land .weekband .bignum b { color: var(--gold); text-shadow: none; }
body.land .bar i, body.land .bt i { background: var(--gold); box-shadow: none; }
body.land .solution { background: var(--navy2); }
body.land .solution .eyebrow, body.land .solution .sub { color: #c9d6ea !important; } body.land .solution .eyebrow i { background: var(--gold) !important; }
body.land .problem .photo.cast::after { background: linear-gradient(0deg, rgba(11,31,68,.6), rgba(11,31,68,.1) 55%, rgba(5,8,13,.25)); }
body.land .s.teal, body.land .s.paper { background: #f5f6f8; color: var(--ink); }
body.land .s.teal h2, body.land .s.paper h2, body.land .s h2 { color: var(--navy); }
body.land .vcard, body.land .card, body.land .step, body.land .plan { background: #fff; border: 1px solid #e3e6ea; border-radius: 16px; box-shadow: 0 6px 18px rgba(11,31,68,.05); }
body.land .plan.best { border: 2px solid var(--gold); } body.land .pbadge { background: var(--gold); color: var(--navy); }
body.land .plan.exc { border: 2px solid var(--navy); } body.land .pbadge.pb-ex { background: var(--navy); color: #fff; }
body.land .pill { background: #eceef1; color: #3b4452; } body.land .pill.late { background: #f0c4c4; color: #8c2323; }
body.land .vi { color: var(--navy); background: #eef1f6; }
body.land footer.bot { background: var(--navy); }
body.land #stickycta { background: var(--navy); } body.land #stickycta .btn { background: var(--gold); color: var(--navy); }
body.land #toTop { background: var(--navy); color: #fff; box-shadow: none; }
body.land .vidsec .vplay { background: var(--navy); box-shadow: 0 0 0 8px rgba(11,31,68,.2); }
body.land .exbox, body.land .exrow { border-color: #e3e6ea; background: #fff; }
body.land .soldout { background: #eceef1; color: #3b4452; }
body.land .cine { min-height: min(76vh, 680px); }
body.land .eyebrow i { background: var(--gold) !important; box-shadow: none !important; }
body.land .step::before, body.land .step:nth-child(2)::before, body.land .step:nth-child(3)::before { background: var(--navy); color: #fff; }
/* these pages use one fixed light look (navy, white, gold): keep it in a dark-mode browser too */
@media (prefers-color-scheme: dark) {
  body.app, body.dir, body.land { --cream: #f7f4ee; --paper: #fff; --line: #e4ded2; --text: #14212e; --muted: #5a6775; --teal-bg: #e6f5f3; --red-bg: #fdecec; color-scheme: light; }
  body.app { background: #f2f3f5; }
}
.dpanel.upg{border:1.5px solid #0b1f44}
