/* The public pages share the visual language of the BeMyArtisan client area. */
:root {
  --pine: #243549;
  --dark: #243449;
  --ink: #243449;
  --muted: #596575;
  --cream: #f7f6f2;
  --gold: #315cb5;
  --line: #dce1e7;
  --paper: #ffffff;
  --r-ink: #243449;
  --r-paper: #f7f6f2;
  --r-accent: #315cb5;
  --r-line: #dce1e7;
  --client-blue: #315cb5;
  --client-blue-hover: #254991;
  --client-peach: #f7e2d7;
}

body { background: var(--cream); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
button, input, select, textarea { font-family: inherit; }
h1, h2, .r-main h1, .r-main h2, .access-card h3, .public-form h2,
.r-price, .r-price small { font-family: Arial, Helvetica, sans-serif; }
h1, h2, .r-main h1, .r-main h2 { font-weight: 700; letter-spacing: -.025em; }
h1 em, .r-main h1 em { color: var(--client-blue); font-style: normal; font-weight: 700; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, .r-main a:focus-visible, .r-main button:focus-visible,
.r-main input:focus-visible, .r-nav a:focus-visible,
.public-form input:focus-visible, .public-form textarea:focus-visible,
.public-form select:focus-visible, .public-form button:focus-visible {
  outline: 3px solid var(--client-blue); outline-offset: 3px;
}

/* Both generations of public pages use the client's dark navigation and BA mark. */
.r-header {
  max-width: none;
  padding: 18px max(28px, calc((100vw - 1124px)/2));
  background: #243549; border-bottom: 1px solid #35475b;
}
.header {
  max-width: none;
  padding: 18px max(24px, calc((100vw - 1216px)/2));
  background: #243549; color: #ffffff;
}
.r-brand, .brand { color: #ffffff; }
.r-brand { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.r-brand small, .header .brand small { color: #cbd4df; }
.brand-mark, .r-brand .brand-mark {
  width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px;
  background: var(--client-peach); color: #91452b;
  font: 700 18px Georgia, serif;
}
.r-nav a, .header nav a { color: #edf1f5; }
.r-nav a:hover, .header nav a:hover { color: #ffffff; }
.r-nav a[aria-current=page] { text-decoration-color: var(--client-peach); }
.header .member { border-color: #637182; }
.r-btn, .button, .public-form button {
  background: var(--client-blue); border-color: var(--client-blue);
  color: #ffffff; border-radius: 7px;
  font-family: Arial, Helvetica, sans-serif;
}
.r-btn:hover, .button:hover, .public-form button:hover:not(:disabled) {
  background: var(--client-blue-hover); border-color: var(--client-blue-hover); color: #ffffff;
}
.r-nav .r-btn, .header nav .button { color: #ffffff; }
.r-header a:focus-visible, .header a:focus-visible { outline-color: #ffffff; }
.r-header .r-btn:focus-visible, .header .button:focus-visible { outline-color: var(--client-peach); }

/* Warm canvas, plain white cards, small blue accents. */
.r-kicker, .eyebrow, .prose .eyebrow, .r-step, .number,
.r-session b, .r-flow li:not(:last-child)::after { color: var(--client-blue); }
.r-small, .r-intro, .cards p, .split>div>p:not(.eyebrow),
.prose p, .prose li, .fine { color: var(--muted); }
.r-link, .member-link, .contact-email a { color: var(--client-blue); }
.r-demo, .r-offer, .r-free, .r-case, .access-card, .workshop-map,
.cards article, .contact-form, .r-main .public-form, .public-form {
  background: #ffffff; border: 1px solid var(--line);
  border-radius: 12px; box-shadow: none;
}
.r-demo { color: var(--ink); }
.r-demo .r-kicker { color: var(--client-blue); }
.r-demo label, .r-demo .r-small { color: var(--muted); }
.r-demo input, .contact-form input, .contact-form select,
.contact-form textarea, .public-form input:not([type=checkbox]),
.public-form select, .public-form textarea {
  border: 1px solid #8c99aa; background: #ffffff; color: var(--ink);
  border-radius: 7px;
}
.r-number, .r-cost-prices strong, .r-cost-total strong { color: var(--client-blue); }
.r-results, .ec-pie-legend li { border-color: var(--line); }
.r-case { padding: 24px; }
.r-offer { gap: 48px; }
.r-price { font-weight: 700; }
.r-price small { font-weight: 400; }
.r-main .public-form #form-result:not(:empty) { background: #eef3fc; }
.public-form { color: var(--ink); }
.public-form label, .public-form h2, .public-form p { font-family: inherit; }
.notice, .r-note { border-color: #be8e34; }
.notice { background: #fff3dc; }
.step { color: var(--client-blue); }
.access-card h3 { font-weight: 700; }
.workshop-map { transform: none; }
.hero, .closing { background: #243549; color: #ffffff; }
.hero .eyebrow, .hero h1 em { color: var(--client-peach); }
.hero .lead, .hero-note, .closing p { color: #e3eaf2; }
.footer { border-top: 1px solid var(--line); }
.footer .brand { color: var(--ink); }
.footer .brand small { color: var(--muted); }
.cgv-document { color: var(--ink); }
.cgv-note { border-color: #be8e34; }

/* The interactive cost example follows the same form and status styling. */
.ec-view-switch { background: #eef1f5; border-color: var(--line); }
.ec-view-switch button { color: var(--ink); font-family: inherit; }
.ec-view-switch button[aria-pressed=true] { background: var(--client-blue); color: #ffffff; }
.ec-view-switch button:focus-visible, .ec-simulation input:focus-visible,
.ec-simulation button:focus-visible { outline-color: var(--client-blue); }
.ec-view-caption, .ec-margin-note { color: var(--muted); }
.ec-margin-summary, .ec-simulation {
  background: #f9fafc; border: 1px solid var(--line); color: var(--ink);
}
.ec-margin-summary strong, .ec-margin-summary .ec-margin-rate,
.ec-sim-heading, .ec-sim-fields output { color: var(--client-blue); }
.ec-margin-rate small, .ec-sim-fields label { color: var(--muted); }
.ec-sim-fields input[type=number] {
  background: #ffffff; color: var(--ink); border-color: #8c99aa;
  font-family: inherit;
}
.ec-sim-fields input[type=range] { accent-color: var(--client-blue); }
.ec-simulation [data-sim-reset] {
  background: #eef1f5; color: var(--ink); border-color: var(--line);
  font-family: inherit;
}
.ec-simulation [data-sim-error] { color: #9e342d; }
.ec-sim-warning, .ec-margin-summary[data-state=loss] {
  background: #fff0ed; border-color: #d99280; color: #742d28;
}
.ec-margin-summary[data-state=loss] strong,
.ec-margin-summary[data-state=loss] .ec-margin-rate { color: #9e342d; }
.ec-margin-summary[data-state=below], .ec-margin-summary[data-state=neutral],
.ec-margin-summary[data-state=incomplete] {
  background: #fff7e8; border-color: #dcc28f; color: var(--ink);
}
.ec-margin-summary[data-state=below] strong,
.ec-margin-summary[data-state=below] .ec-margin-rate,
.ec-margin-summary[data-state=neutral] strong,
.ec-margin-summary[data-state=neutral] .ec-margin-rate { color: #795516; }

@media (max-width: 800px) {
  .r-header { padding: 16px 20px; }
  .header { padding: 18px 24px; }
  .r-demo { box-shadow: none; }
}
@media (max-width: 520px) {
  .r-header { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
  .r-nav { margin-top: 0; justify-content: flex-start; gap: 10px 16px; }
  .r-brand { font-size: 20px; }
  .r-brand .brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .r-case { padding: 20px; }
  .r-offer { gap: 24px; }
  .r-demo { padding: 22px; }
}
