/* BusiDash public site. Everything is scoped under .site so it can live inside the app page too. */
.site{
  --bg:#F4F3EF; --surface:#FFFFFF; --surface-2:#FAF9F6; --sunk:#EFEDE8; --line:#E3E0D8; --line-2:#D6D2C8;
  --ink:#17181C; --ink-2:#3E4149; --ink-3:#5F626B; --ink-4:#73767F;
  --acc:#A65D2F; --acc-h:#8E4B22; --acc-t:#9C5528; --acc-tint:#F8ECE3; --acc-line:#ECCDB8; --brand:#C77B4A;
  --good:#1F7A4D; --good-tint:#E6F4EC; --bad:#A8323F;
  --hero:#17181C; --hero-ink:#FFFFFF; --hero-sub:#B9BBC3;
  --shadow:0 1px 2px rgba(20,20,25,.04),0 10px 30px rgba(20,20,25,.07);
  background:var(--bg); color:var(--ink); font-family:'Space Grotesk',system-ui,-apple-system,sans-serif; line-height:1.55;
  -webkit-font-smoothing:antialiased; color-scheme:light;
}
@media (prefers-color-scheme: dark){
  .site{
    --bg:#111216; --surface:#1A1C21; --surface-2:#1F2126; --sunk:#16181D; --line:#2B2E36; --line-2:#353943;
    --ink:#F2F2F0; --ink-2:#D2D4DA; --ink-3:#A9ACB6; --ink-4:#9497A3;
    --acc:#A65D2F; --acc-h:#B86B3A; --acc-t:#E09A6B; --acc-tint:#2E1F15; --acc-line:#5A3A24;
    --good:#7AD3A0; --good-tint:#15291E; --bad:#F09AA6; --hero:#22252C;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.3);
    color-scheme:dark;
  }
}
body.site{ margin:0; }
.site *{ box-sizing:border-box; }
.site a{ color:var(--acc-t); }
.site :focus-visible{ outline:2px solid var(--acc); outline-offset:3px; border-radius:8px; }
.site img{ max-width:100%; height:auto; display:block; }
.site .mono{ font-family:'IBM Plex Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums; }
.site .wrap, .site .s-wrap{ max-width:1120px; margin:0 auto; padding:0 20px; }
.site .skip{ position:absolute; left:-999px; top:8px; background:var(--ink); color:var(--bg); padding:10px 14px; border-radius:10px; z-index:100; }
.site .skip:focus{ left:12px; }

/* ---------- header ---------- */
.site .s-head{ position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line); }
.site .s-head-in{ max-width:1120px; margin:0 auto; padding:12px 20px; display:flex; align-items:center; gap:18px; }
.site .s-logo{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-weight:700; font-size:18px; letter-spacing:-.01em; }
.site .s-logo img{ width:32px; height:32px; border-radius:9px; }
.site .s-nav{ display:flex; gap:4px; margin-left:8px; }
.site .s-nav a{ color:var(--ink-2); text-decoration:none; font-weight:500; font-size:15px; padding:8px 12px; border-radius:10px; }
.site .s-nav a:hover, .site .s-nav a[aria-current="page"]{ background:var(--sunk); color:var(--ink); }
.site .s-actions{ margin-left:auto; display:flex; gap:8px; align-items:center; }
.site .s-menu{ display:none; margin-left:auto; position:relative; }
.site .s-menu summary{ list-style:none; cursor:pointer; width:44px; height:44px; border-radius:12px; border:1px solid var(--line); background:var(--surface); display:grid; place-items:center; color:var(--ink); }
.site .s-menu summary::-webkit-details-marker{ display:none; }
.site .s-menu[open] .s-menu-pop{ display:flex; }
.site .s-menu-pop{ display:none; position:absolute; right:0; top:52px; width:min(300px, calc(100vw - 32px)); flex-direction:column; gap:2px; padding:10px; background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.site .s-menu-pop a{ text-decoration:none; color:var(--ink); font-weight:600; padding:12px 12px; border-radius:10px; }
.site .s-menu-pop a:hover{ background:var(--sunk); }
.site .s-menu-pop .btn{ margin-top:6px; }
@media (max-width:860px){ .site .s-nav, .site .s-actions{ display:none; } .site .s-menu{ display:block; } }

/* ---------- buttons ---------- */
.site .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 20px; border-radius:13px; border:1px solid var(--line); background:var(--surface); color:var(--ink); font:600 15px 'Space Grotesk',sans-serif; text-decoration:none; cursor:pointer; white-space:nowrap; }
.site .btn:hover{ border-color:var(--line-2); }
.site .btn.pri{ background:var(--acc); border-color:var(--acc); color:#fff; }
.site .btn.pri:hover{ background:var(--acc-h); border-color:var(--acc-h); }
.site .btn.sm{ min-height:40px; padding:0 14px; font-size:14px; border-radius:11px; }
.site .btn.lg{ min-height:54px; padding:0 26px; font-size:16.5px; border-radius:15px; }
.site .btn.ghost{ background:transparent; }

/* ---------- type ---------- */
.site h1, .site h2, .site h3{ color:var(--ink); letter-spacing:-.02em; text-wrap:balance; }
.site h1{ font-size:clamp(34px, 5.4vw, 58px); line-height:1.04; margin:0 0 18px; }
.site h2{ font-size:clamp(26px, 3.4vw, 38px); line-height:1.12; margin:0 0 12px; }
.site h3{ font-size:18px; line-height:1.3; margin:0 0 8px; letter-spacing:-.01em; }
.site p{ margin:0 0 14px; }
.site .lead{ font-size:clamp(17px, 2vw, 20px); color:var(--ink-3); max-width:640px; }
.site .eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--acc-t); background:var(--acc-tint); border:1px solid var(--acc-line); padding:5px 12px; border-radius:999px; margin:0 0 18px; }
.site .muted{ color:var(--ink-3); }
.site .small{ font-size:13.5px; color:var(--ink-4); }

/* ---------- sections ---------- */
.site .sec{ padding:72px 0; }
.site .sec.tight{ padding:48px 0; }
.site .sec-head{ max-width:720px; margin:0 0 34px; }
.site .sec-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.site .alt{ background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

/* hero */
.site .hero{ padding:64px 0 40px; }
.site .hero-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; align-items:center; }
.site .hero-cta{ display:flex; gap:10px; flex-wrap:wrap; margin:26px 0 12px; }
.site .hero-art{ position:relative; display:flex; justify-content:center; }
.site .phone{ width:min(320px, 78vw); border-radius:38px; padding:10px; background:#17181C; box-shadow:0 30px 80px rgba(20,20,25,.25); }
.site .phone img{ border-radius:30px; }
.site .float-card{ position:absolute; left:-10px; bottom:42px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:12px 14px; box-shadow:var(--shadow); font-size:14px; max-width:230px; }
.site .float-card b{ display:block; font-family:'IBM Plex Mono',monospace; font-size:20px; color:var(--good); }
.site .float-card.two{ left:auto; right:-6px; top:46px; bottom:auto; }
.site .float-card.two b{ color:var(--acc-t); }
@media (max-width:900px){ .site .hero-grid{ grid-template-columns:1fr; gap:36px; } .site .hero{ padding:40px 0 24px; } .site .float-card{ left:0; } .site .float-card.two{ right:0; } }

/* answer box (AEO: a crisp definition up top) */
.site .answer{ background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--brand); border-radius:16px; padding:18px 20px; max-width:860px; }
.site .answer p{ margin:0; font-size:17px; color:var(--ink-2); }
.site .answer b{ color:var(--ink); }

/* grids & cards */
.site .grid{ display:grid; gap:16px; }
.site .g2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.site .g3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.site .g4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:960px){ .site .g4{ grid-template-columns:repeat(2, minmax(0,1fr)); } .site .g3{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .site .g2, .site .g3, .site .g4{ grid-template-columns:1fr; } }
.site .card{ background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px; }
.site a.card{ display:block; text-decoration:none; color:inherit; transition:border-color .15s, transform .15s; }
.site a.card:hover{ border-color:var(--acc-line); transform:translateY(-2px); }
.site .card p{ color:var(--ink-3); margin:0; }
.site .card .go{ display:inline-block; margin-top:12px; color:var(--acc-t); font-weight:600; }
.site .ic{ width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--acc-tint); color:var(--acc-t); margin-bottom:14px; }
.site .ic svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.site .leak b{ display:block; font-size:18px; margin-bottom:6px; color:var(--ink); }
.site .check{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.site .check li{ position:relative; padding-left:28px; color:var(--ink-2); }
.site .check li::before{ content:""; position:absolute; left:0; top:4px; width:18px; height:18px; border-radius:50%; background:var(--good-tint); }
.site .check li::after{ content:""; position:absolute; left:6px; top:8px; width:6px; height:9px; border:solid var(--good); border-width:0 2px 2px 0; transform:rotate(45deg); }

/* showcase */
.site .showcase{ border-radius:22px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); background:var(--surface); }
.site .shots{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; align-items:start; }
.site .shots figure{ margin:0; }
.site .shots figcaption{ font-size:14px; color:var(--ink-3); margin-top:10px; text-align:center; }
.site .shots img{ border-radius:24px; border:1px solid var(--line); box-shadow:var(--shadow); }
@media (max-width:760px){ .site .shots{ grid-template-columns:repeat(3, 70%); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; } .site .shots figure{ scroll-snap-align:start; } }

/* feature rows (features page) */
.site .feat{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; padding:44px 0; border-top:1px solid var(--line); scroll-margin-top:80px; }
.site .feat:first-of-type{ border-top:0; }
.site .feat .check{ margin-top:16px; }
.site .feat-tag{ font-size:13px; font-weight:700; color:var(--acc-t); margin-bottom:8px; display:block; }
@media (max-width:820px){ .site .feat{ grid-template-columns:1fr; gap:20px; } }
.site .toc{ display:flex; gap:8px; flex-wrap:wrap; }
.site .toc a{ text-decoration:none; color:var(--ink-2); font-weight:600; font-size:14px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; background:var(--surface); }
.site .toc a:hover{ border-color:var(--acc-line); color:var(--acc-t); }

/* pricing */
.site .plans{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; max-width:880px; margin:0 auto; }
@media (max-width:720px){ .site .plans{ grid-template-columns:1fr; } }
.site .plan{ background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:28px; display:flex; flex-direction:column; gap:14px; }
.site .plan.pro{ border:2px solid var(--brand); position:relative; }
.site .plan.pro .badge{ position:absolute; top:-13px; left:24px; background:var(--acc); color:#fff; font-size:12.5px; font-weight:700; padding:4px 12px; border-radius:999px; }
.site .plan .price{ font-family:'IBM Plex Mono',monospace; font-size:44px; font-weight:600; letter-spacing:-.03em; color:var(--ink); line-height:1; }
.site .plan .price span{ font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:500; color:var(--ink-3); letter-spacing:0; }
.site .plan .btn{ margin-top:auto; }
.site .founder{ max-width:880px; margin:0 auto 22px; text-align:center; background:var(--acc-tint); border:1px solid var(--acc-line); color:var(--acc-t); padding:12px 16px; border-radius:14px; font-weight:600; }

/* tables */
.site .tablewrap{ border:1px solid var(--line); border-radius:16px; overflow-x:auto; background:var(--surface); }
.site table{ width:100%; border-collapse:collapse; font-size:15px; min-width:560px; }
.site th, .site td{ padding:13px 16px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.site thead th{ font-size:13px; font-weight:600; color:var(--ink-4); background:var(--surface-2); }
.site tbody th{ color:var(--ink); font-weight:600; }
.site td.us, .site th.us{ background:var(--acc-tint); color:var(--ink); font-weight:600; }
.site tr:last-child th, .site tr:last-child td{ border-bottom:none; }

/* FAQ */
.site .faq{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.site .faq details{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:0 20px; }
.site .faq summary{ cursor:pointer; list-style:none; padding:18px 30px 18px 0; font-weight:600; font-size:16.5px; color:var(--ink); position:relative; }
.site .faq summary::-webkit-details-marker{ display:none; }
.site .faq summary::after{ content:"+"; position:absolute; right:0; top:14px; font-size:24px; color:var(--acc-t); font-weight:400; }
.site .faq details[open] summary::after{ content:"–"; }
.site .faq details > div{ padding:0 0 18px; color:var(--ink-3); }
.site .faq details > div p:last-child{ margin:0; }
.site .faq-group{ max-width:820px; margin:34px auto 12px; font-size:20px; }

/* quote / story */
.site .story{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px; align-items:start; }
@media (max-width:820px){ .site .story{ grid-template-columns:1fr; } }
.site .story-card{ background:var(--hero); color:var(--hero-ink); border-radius:22px; padding:28px; }
.site .story-card p{ color:var(--hero-sub); }
.site .story-card b{ color:#fff; }
.site .story-card .big{ font-size:26px; line-height:1.25; color:#fff; font-weight:600; letter-spacing:-.01em; margin-bottom:14px; }

/* CTA band */
.site .cta-band{ background:var(--hero); color:var(--hero-ink); border-radius:26px; padding:48px 28px; text-align:center; }
.site .cta-band h2{ color:#fff; }
.site .cta-band p{ color:var(--hero-sub); }
.site .cta-band .btn{ margin-top:10px; }

/* breadcrumbs */
.site .crumbs{ font-size:14px; color:var(--ink-4); margin:26px 0 0; }
.site .crumbs a{ color:var(--ink-3); text-decoration:none; }
.site .crumbs a:hover{ color:var(--acc-t); }

/* footer */
.site .s-foot{ border-top:1px solid var(--line); margin-top:40px; padding:46px 0 34px; background:var(--surface); }
.site .s-foot-grid{ display:grid; grid-template-columns:1.4fr repeat(3, 1fr); gap:28px; }
@media (max-width:760px){ .site .s-foot-grid{ grid-template-columns:1fr 1fr; } }
.site .s-foot h3{ font-size:13.5px; color:var(--ink-4); font-weight:600; margin:0 0 12px; letter-spacing:0; }
.site .s-foot ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.site .s-foot a{ color:var(--ink-2); text-decoration:none; font-size:14.5px; }
.site .s-foot a:hover{ color:var(--acc-t); }
.site .s-foot-bottom{ margin-top:30px; padding-top:20px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13.5px; color:var(--ink-4); }

/* ---------- compare pages (existing content, new look) ---------- */
.site .eyebrow-plain{ font-size:13.5px; font-weight:600; color:var(--acc-t); margin:26px 0 10px; }
.site .back{ color:var(--ink-3); text-decoration:none; font-size:14px; display:inline-block; margin-top:26px; }
.site section.cmp{ margin:0 0 56px; }
.site .cards{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
.site .cards .card{ display:flex; flex-direction:column; gap:6px; text-decoration:none; color:var(--ink-3); }
.site .cards .card b{ font-size:20px; color:var(--ink); }
.site .vs{ font-size:12.5px; font-weight:600; color:var(--ink-4); }
.site .go{ color:var(--acc-t); font-weight:600; margin-top:6px; }
.site ul.why{ padding-left:20px; font-size:16px; line-height:1.7; color:var(--ink-2); } .site ul.why b{ color:var(--ink); }
.site .calc{ margin:28px 0 48px; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px; }
.site .calc label{ display:block; margin-bottom:8px; } .site .calc input{ width:100%; accent-color:var(--acc); margin-bottom:16px; }
.site .boxes{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.site .box{ background:var(--surface-2); border:1px solid var(--line); border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; }
.site .box.us{ border-color:var(--brand); background:var(--acc-tint); }
.site .box b{ font-family:'IBM Plex Mono',monospace; font-size:28px; color:var(--ink); }
.site .box small{ color:var(--ink-4); }
.site .save{ margin:14px 0 0; font-size:17px; font-weight:700; color:var(--good); min-height:1em; }
.site .foot-note{ margin:10px 0; }
.site .note, .site .foot-note{ font-size:13px; color:var(--ink-4); }
.site .win{ font-size:12px; font-weight:700; border-radius:7px; padding:3px 8px; color:var(--acc-t); background:var(--acc-tint); white-space:nowrap; }
.site .win.them{ color:#3B4FA0; background:#E7ECF8; }
.site .tie{ font-size:12px; color:var(--ink-4); }
.site .choose{ margin-bottom:18px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.site .cbox{ background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:20px; color:var(--ink-2); }
.site .cbox.us{ border-color:var(--brand); } .site .cbox ul{ margin:0; padding-left:18px; }
.site .final{ text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:36px 20px; }
.site .cta{ display:inline-flex; align-items:center; min-height:46px; background:var(--acc); color:#fff; text-decoration:none; font-weight:700; padding:0 20px; border-radius:13px; }
.site .cta:hover{ background:var(--acc-h); }
@media (max-width:640px){
  .site .cards, .site .choose{ grid-template-columns:1fr; }
  .site .cmp .tablewrap{ border:none; overflow:visible; background:none; }
  .site .cmp table, .site .cmp tbody, .site .cmp tr, .site .cmp th, .site .cmp td{ display:block; width:auto; }
  .site .cmp table{ min-width:0; } .site .cmp thead{ display:none; }
  .site .cmp tbody tr{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:12px 14px; margin-bottom:10px; }
  .site .cmp tbody th, .site .cmp td{ border:none !important; padding:3px 0; }
  .site .cmp td::before{ content:attr(data-label) ": "; color:var(--ink-4); font-weight:600; }
  .site .cmp td.us{ background:none; }
}

/* ---------- app sign-in / sign-up screens (inside the app page) ---------- */
.site.site-auth{ min-height:100vh; }
.site .auth-card{ max-width:440px; margin:40px auto 60px; background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:30px 28px; box-shadow:var(--shadow); }
.site .auth-card .auth-form-wrap{ max-width:none; margin:0; padding:0; background:none; border:0; }
.site .auth-card h2{ font-size:28px; margin:0 0 6px; color:var(--ink); }
.site .auth-card .auth-form-note{ color:var(--ink-3); font-family:inherit; font-size:15px; margin:0 0 18px; }
.site .auth-card .auth-field{ margin:0 0 14px; }
.site .auth-card .auth-field label{ display:block; font:600 13.5px 'Space Grotesk',sans-serif; color:var(--ink-3); text-transform:none; letter-spacing:0; margin:0 0 6px; }
.site .auth-card .auth-field input{ width:100%; height:48px; border-radius:12px; border:1px solid var(--line); background:var(--surface-2); color:var(--ink); padding:0 14px; font:500 16px 'Space Grotesk',sans-serif; outline:none; }
.site .auth-card .auth-field input:focus{ border-color:var(--acc); }
.site .auth-card .auth-submit{ width:100%; height:50px; border:0; border-radius:13px; background:var(--acc); color:#fff; font:700 16px 'Space Grotesk',sans-serif; cursor:pointer; margin-top:4px; }
.site .auth-card .auth-submit:hover{ background:var(--acc-h); }
.site .auth-card .auth-submit:disabled{ opacity:.6; }
.site .auth-card :is(.auth-forgot-link, .auth-back, .auth-switch button){ background:none; border:0; color:var(--acc-t); font:600 14px 'Space Grotesk',sans-serif; cursor:pointer; padding:6px 0; }
.site .auth-card .auth-switch{ font:500 14px 'Space Grotesk',sans-serif; color:var(--ink-3); margin-top:14px; }
.site .auth-card .auth-back{ display:block; margin-top:8px; color:var(--ink-3); }
.site .auth-card .auth-legal{ font-size:13px; color:var(--ink-4); margin:12px 0 0; }
.site .auth-card .auth-error{ background:#FCE8E6; color:#A3291A; border:1px solid #F2C4C0; border-radius:12px; padding:10px 12px; font:500 14px 'Space Grotesk',sans-serif; margin:0 0 14px; }
.site .auth-card .auth-message{ background:var(--good-tint); color:var(--good); border-radius:12px; padding:10px 12px; font:500 14px 'Space Grotesk',sans-serif; margin:0 0 14px; }
.site .auth-perks{ max-width:440px; margin:-36px auto 50px; padding:0 20px; display:grid; gap:8px; color:var(--ink-3); font-size:14.5px; }

/* inside the app page, neutralize app styles that share class names */
.site .card::before, .site .card::after{ content:none !important; display:none !important; }
.site .card{ box-shadow:none; cursor:auto; color:inherit; }
.site a.card{ cursor:pointer; }
.site .btn{ letter-spacing:0; text-transform:none; }
.site h1, .site h2, .site h3, .site p, .site ul, .site ol{ font-family:inherit; }
@media (max-width:560px){
  .site .float-card.two{ display:none; }
  .site .float-card{ font-size:12.5px; padding:9px 11px; bottom:24px; left:-4px; }
  .site .float-card b{ font-size:17px; }
  .site .hero-cta .btn{ flex:1 1 auto; }
}
