/* AUTO-GENERATED by `python -m brand.build` — DO NOT EDIT. */
/* Edit packages/brand/src/brand/tokens.py and rerun the build. */

/* Google Fonts — single canonical @import used by every landing page. */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Source+Sans+3:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Google+Sans:wght@400;500;600;700&display=swap');

:root {
  /* ── Ink scale ─────────────────────────────── */
  --ink:            #1C1917;
  --ink-dark:       #292524;
  --ink-light:      #44403c;
  --ink-black:      #0F0E0C;
  --ink-fixed:      #1C1917;
  --ink-dark-fixed: #292524;
  --ink-black-fixed:#0F0E0C;

  /* ── Warm neutrals ────────────────────────── */
  --cream:          #FAF8F4;
  --cream-dark:     #F0EBE3;
  --cream-dk:       #F0EBE3;  /* legacy alias, kept for landing pages */
  --stone:          #57534E;
  --muted:          #A8A29E;
  --border:         #E7E1D8;
  --card:           #FFFFFF;
  --card-solid:     #FFFFFF;
  --cream-fixed:    #FAF8F4;

  /* ── Terracotta (primary accent) ──────────── */
  --terra:           #DA654D;
  --terra-dk:        #C8533C;
  --terra-lt:        #FDF0ED;
  --terracotta:      var(--terra);
  --terracotta-dk:   var(--terra-dk);
  --terracotta-lt:   var(--terra-lt);

  /* ── Teal (escrow / trust) ────────────────── */
  --teal:           #115E59;
  --teal-dk:        #0D4F47;
  --teal-lt:        #ECFDF5;

  /* ── Semantic colours ─────────────────────── */
  --amber:          #F59E0B;
  --amber-dk:       #92400E;
  --amber-lt:       #FFFBEB;
  --green:          #10B981;
  --green-dk:       #166534;
  --green-lt:       #ECFDF5;
  --red:            #E53E3E;
  --red-lt:         #FEE2E2;

  /* ── Platform ─────────────────────────────── */
  --wa-green:       #25D366;
  --wa-green-dk:    #1EB853;

  /* ── Radius scale ─────────────────────────── */
  --r:              6px;
  --r-xs:           3px;
  --r-sm:           6px;
  --r-md:           8px;
  --r-lg:           14px;
  --r-xl:           20px;
  --r-pill:         999px;

  /* Semantic card radii */
  --card-radius:         var(--r);
  --card-radius-feature: var(--r-lg);
  --modal-radius:        var(--r-xl);

  /* ── Typography ───────────────────────────── */
  --serif: 'Playfair Display', Georgia, serif;
  --sans:  'Source Sans 3', system-ui, sans-serif;
  --font-display:  var(--serif);
  --font-heading:  var(--serif);
  --font-body:     var(--sans);

  /* ── Scrim / overlay ramps ────────────────── */
  --scrim-white-08: rgba(255,255,255,.08);
  --scrim-white-12: rgba(255,255,255,.12);
  --scrim-white-15: rgba(255,255,255,.15);
  --scrim-white-55: rgba(255,255,255,.55);
  --scrim-white-65: rgba(255,255,255,.65);
  --scrim-white-92: rgba(255,255,255,.92);
  --scrim-black-04: rgba(0,0,0,.04);
  --scrim-black-06: rgba(0,0,0,.06);
  --scrim-black-08: rgba(0,0,0,.08);
  --scrim-black-12: rgba(0,0,0,.12);
  --scrim-black-25: rgba(0,0,0,.25);
  --scrim-black-35: rgba(0,0,0,.35);
  --scrim-black-45: rgba(0,0,0,.45);
  --scrim-black-55: rgba(0,0,0,.55);

  /* ── Shadow ladder ────────────────────────── */
  --shadow-header-light: 0 1px 4px var(--scrim-black-04);
  --shadow-header-dark:  0 1px 4px rgba(0,0,0,.2), 0 0 1px rgba(0,0,0,.3);
  --shadow-card:         0 4px 16px var(--scrim-black-08);
  --shadow-card-hover:   0 8px 30px var(--scrim-black-08);
  --shadow-modal:        0 24px 80px var(--scrim-black-45), 0 0 0 1px rgba(255,255,255,.04) inset;
  --shadow-dropdown:     0 4px 20px var(--scrim-black-12);
  --shadow-glass-light:  0 8px 32px var(--scrim-black-08), inset 0 1px 0 rgba(255,255,255,.8);
  --shadow-glass-dark:   0 8px 32px var(--scrim-black-25), inset 0 1px 0 rgba(255,255,255,.06);
  --shadow-hero-cta:     0 4px 24px var(--scrim-black-25);
  --shadow-focus-terra:  0 0 0 3px rgba(218,101,77,.18);

  /* ── Semantic card presets ────────────────── */
  --card-bg:           var(--card);
  --card-bg-muted:     var(--cream-dk);
  --card-bg-dark:      var(--ink-fixed);
  --card-border:       var(--border);
  --card-border-dark:  var(--scrim-white-12);
  --card-text:         var(--ink);
  --card-text-dark:    var(--cream);
}

[data-theme="dark"] {
  /* ── Colour overrides ─────────────────────── */
  --ink: #FAF8F4;
  --ink-dark: #F0EBE3;
  --ink-light: #D6CFC3;
  --ink-black: #FFFFFF;
  --cream: #1A1714;
  --cream-dark: #0F0E0C;
  --stone: #D6CFC3;
  --muted: #78716C;
  --border: #3B3632;
  --card: #252220;
}

[data-theme="warm_drift"] {
  /* ── Colour overrides ─────────────────────── */
  --ink: #2A2520;
  --ink-dark: #3A3226;
  --ink-light: #5A4E42;
  --ink-black: #1A1510;
  --cream: #F7EFE0;
  --cream-dark: #EADFC8;
  --stone: #7A6A54;
  --muted: #B5A68A;
  --border: #DCCDAF;
  --card: #FCF6E9;
  --terracotta: #E07A4D;
  --terracotta-light: #FDF1E5;
  --terracotta-dark: #B45A34;
  --amber: #D99A2B;
  --amber-light: #FBF4DE;
  --amber-dark: #8F6512;
}

[data-theme="vitrina_sky"] {
  /* ── Colour overrides ─────────────────────── */
  --ink: #1F2A3A;
  --ink-dark: #0F1826;
  --ink-light: #4A5468;
  --ink-black: #0A1120;
  --cream: #F7F2E4;
  --cream-dark: #ECE1C8;
  --stone: #6B7892;
  --muted: #9AA7BD;
  --border: #E4DCC6;
  --card: #FCFBF6;
  --dijon: #D89B2E;
  --dijon-light: #F9E8C2;
  --dijon-dark: #8A6116;
  --sky: #3F7DD6;
  --sky-light: #CEE4FB;
  --sky-dark: #1F4B96;
  --terracotta: #E07A4D;
  --terracotta-light: #FDF1E5;
  --terracotta-dark: #B45A34;
  --user-bubble-bg: #CEE4FB;
  --user-bubble-text: #1F2A3A;
}

.card-title,
h3.card-title {
  margin: 0 0 6px;
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -.01em;
  line-height: 1.25;
}
.card-title-sm,
h3.card-title-sm {
  margin: 0 0 3px;
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.25;
}
.card-title-on-dark,
h3.card-title-on-dark {
  margin: 0 0 2px;
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  line-height: 1.25;
}
.display-num {
  font-family: var(--serif);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1;
}
