/* Public-site refinement. Loaded only by marketing/auth pages, after the legacy
   styles. Keep the existing compositions and the dashboard's orange identity. */
:root {
  --bg:#f4f6f8;
  --surface:#fff;
  --surface-2:#edf1f4;
  --surface-3:#e4eaef;
  --line:#dce2e7;
  --line-strong:#bcc8d2;
  --ink:#172630;
  --ink-2:#526573;
  --ink-3:#5e6f7d;
  --ink-inverse:#f4f6f8;
  --ember:#b44813;
  --ember-bright:#ff9259;
  --ember-deep:#a34011;
  --ember-soft:#fff0e5;
  --ember-ghost:rgba(230,100,37,.07);
  --font-display:var(--font-body);
  --shadow-sm:0 2px 4px rgba(23,38,48,.04);
  --shadow-md:0 10px 30px -14px rgba(23,38,48,.16);
  --shadow-lg:0 24px 64px -26px rgba(23,38,48,.24);
  --ring:0 0 0 3px rgba(180,72,19,.22);
  --r-md:12px;
  --r-lg:20px;
  --r-xl:24px;
}
[data-theme="dark"] {
  --bg:#10171e;
  --surface:#19232d;
  --surface-2:#202e3a;
  --surface-3:#293b49;
  --line:#334452;
  --line-strong:#526879;
  --ink:#e9f1f7;
  --ink-2:#bac5cf;
  --ink-3:#a7b6c2;
  --ink-inverse:#172630;
  --ember:#ff9259;
  --ember-bright:#ffa373;
  --ember-deep:#ff9259;
  --ember-soft:#38251a;
  --ember-ghost:rgba(255,146,89,.08);
  --moss:#8bc49a;
  --moss-soft:#20372d;
  --gold:#edc078;
  --gold-soft:#392e1f;
  --clay:#ff9d8a;
  --clay-soft:#3c292b;
  --slate:#a5bed5;
  --slate-soft:#243544;
  --shadow-sm:0 2px 4px rgba(0,0,0,.12);
  --shadow-md:0 10px 30px -14px rgba(0,0,0,.3);
  --shadow-lg:0 24px 64px -26px rgba(0,0,0,.5);
  --ring:0 0 0 3px rgba(255,146,89,.25);
}
body { -webkit-font-smoothing:antialiased; }
h1,h2,h3 { font-weight:650;letter-spacing:-.045em;text-wrap:balance; }
h4 { font-weight:650;letter-spacing:-.02em; }
.hero h1 .accent { font-style:normal; }
.page-hero h1 em { font-style:normal; }
.brand,.login-brand { font-family:var(--font-body);font-weight:750;letter-spacing:-.045em; }
.brand { font-size:1.25rem;gap:.65rem; }
.brand__mark { width:32px;height:36px;object-fit:contain; }
.brand-dot { color:#f77c32; }
.login-brand { color:var(--ink);text-decoration:none;gap:12px;margin-bottom:22px; }
.login-brand img { width:30px;height:34px;object-fit:contain; }
.login-card h1 { letter-spacing:-.035em;line-height:1.25; }
.login-card p.sub { line-height:1.55; }
.login-card { box-shadow:var(--shadow-lg); }
.site-header { background:color-mix(in srgb,var(--bg) 92%,transparent); }
.nav { gap:1.5rem; }
.nav__links { gap:1.25rem; }
.nav__links a { font-size:.85rem; }
.nav__links a:hover,.nav__links a.is-active { color:var(--ember); }
.nav__links a.is-active { text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px; }
.btn { border-radius:12px;min-height:44px; }
.btn--primary { background:#ff9259;color:#24160f;border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 4px rgba(40,20,5,.06); }
.btn--primary:hover { background:#ffa373;box-shadow:0 5px 16px -8px rgba(180,72,19,.45); }
.btn--primary:active { background:#f78448;transform:translateY(1px); }
.theme-toggle { width:40px;height:40px;border-radius:12px;background:var(--surface); }
.theme-toggle:hover { transform:none;color:var(--ember);border-color:var(--ember); }
.nav__burger { min-width:40px;min-height:40px;align-items:center;justify-content:center;border-radius:10px; }
.card--hover:hover { transform:translateY(-2px); }
.mock-panel,.float-card { box-shadow:var(--shadow-md); }
.mock-row__icon { border:1px solid color-mix(in srgb,currentColor 12%,transparent); }
.mock-panel__title { letter-spacing:-.02em; }
.sample-caption { font-size:.78rem;color:var(--ink-3);margin-block:0; }
.news-band,[data-theme="dark"] .news-band { background:#ff9259;color:#24160f; }
.news-band .btn--dark { background:#172630;color:#fff; }
.news-band::after { border-color:rgba(36,22,15,.07); }
.news-band a { text-underline-offset:3px; }
.price-card { border-color:var(--line-strong); }
.price-card--featured { border-color:var(--ember); }
.input,.select,.textarea { border-radius:12px; }
.input:focus,.select:focus,.textarea:focus { border-color:var(--ember); }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--ember);outline-offset:4px; }
.faq details[open] summary { color:var(--ember); }
.faq summary { padding-right:2.5rem; }
section[id],div[id] { scroll-margin-top:88px; }
.site-footer { background:var(--surface); }
.footer__bottom a { color:inherit;text-decoration:none; }
.footer__bottom a:hover { color:var(--ember); }
@media (min-width:881px) and (max-width:1100px) {
  .nav { gap:1rem; }
  .nav__links { gap:.75rem; }
  .nav__cta { gap:.5rem; }
  .nav .btn--sm { padding-inline:.65rem; }
  .brand { font-size:1.1rem; }
}
@media (max-width:880px) {
  .nav { justify-content:space-between;gap:.5rem; }
  .nav__links a { font-size:1rem; }
  .nav__links a.is-active { background:var(--ember-soft);border-radius:8px;padding-inline:12px;text-decoration:none; }
}
@media (max-width:480px) {
  .nav__cta { gap:.4rem; }
  .brand { font-size:1.12rem;gap:.4rem; }
  .brand__mark { width:27px;height:32px; }
  .nav .btn--sm { padding-inline:.7rem; }
  .hero__note { align-items:flex-start; }
  .login-wrap { padding:20px 16px; }
  .login-card { padding:28px 24px; }
  .mock-panel__title { flex-wrap:wrap;gap:.6rem; }
  .mock-row { gap:.7rem; }
  .mock-row > div:not(.mock-row__icon) { min-width:0; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
  .reveal { opacity:1;transform:none; }
}
/* Fit the complete illustrative conversation within its existing phone frame. */
.wa-msg { max-width:88%; }
.wa-chat { gap:.48rem; }
/* The orange newsletter panel needs its own contrasting keyboard indicator. */
.news-band :is(a,button,input):focus-visible {
  outline:2px solid #24160f;
  outline-offset:4px;
  box-shadow:none;
}

/* Public footer: one brand lockup, two useful navigation groups. */
.public-footer__main {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));
  gap:clamp(2rem,5vw,5rem);
  padding:48px 0 36px;
}
.public-footer__identity .brand { display:inline-flex;font-size:1.5rem; }
.public-footer__identity p { margin:18px 0 0;color:var(--ink-2);font-size:.9rem;line-height:1.75; }
.public-footer__links { display:flex;flex-direction:column;align-items:flex-start;gap:2px; }
.public-footer__links h2 { font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 12px; }
.public-footer__links a { display:inline-flex;align-items:center;min-height:40px;color:var(--ink-2);font-size:.9rem;text-decoration:none; }
.public-footer__links a:hover { color:var(--ember);text-decoration:underline;text-underline-offset:4px; }
.public-footer__links .public-footer__invite { color:var(--ember);font-weight:600;gap:10px; }
.public-footer__bottom { border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;color:var(--ink-3);font-size:.78rem; }
.public-footer__bottom a { color:inherit;text-decoration:none; }
.public-footer__bottom a:hover { color:var(--ember);text-decoration:underline;text-underline-offset:4px; }
@media (max-width:640px) {
  .public-footer__main { grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding:32px 0 28px; }
  .public-footer__identity { grid-column:1 / -1; }
  .public-footer__identity p { margin-top:12px; }
  .public-footer__links a { min-height:44px; }
}
