/* doClima brand tokens — Montserrat-only, no italic accents */

@font-face { font-family: 'Montserrat'; src: url('fonts/Montserrat-VariableFont_wght.ttf') format('truetype-variations'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('fonts/Inter-VariableFont_opsz_wght.ttf') format('truetype-variations'); font-weight: 100 900; font-style: normal; font-display: swap; }

:root {
  --dc-ink:        #1E3C42;
  --dc-teal:       #397F94;
  --dc-orange:     #F38C48;
  --dc-yellow:     #FAC461;
  --dc-lime:       #DDE390;
  --dc-cream:      #FAF3DB;

  --dc-teal-1:     #4297B0;
  --dc-teal-2:     #55C7D2;
  --dc-green-1:    #99D5B1;
  --dc-cream-1:    #ECF0C3;
  --dc-yellow-1:   #FCDD76;
  --dc-orange-1:   #F8AA4E;
  --dc-orange-2:   #F38C48;

  --dc-ink-70:     rgba(30,60,66,0.7);
  --dc-ink-60:     rgba(30,60,66,0.6);
  --dc-ink-45:     rgba(30,60,66,0.45);
  --dc-ink-20:     rgba(30,60,66,0.2);
  --dc-ink-10:     rgba(30,60,66,0.1);
  --dc-ink-05:     rgba(30,60,66,0.05);

  --dc-cream-deep: #F2E8C4;
  --dc-cream-warm: #FAF8F3;
  --dc-paper:      #FFFFFF;

  /* Montserrat for everything per user request */
  --dc-display: 'Montserrat', 'Inter', system-ui, -apple-system, sans-serif;
  --dc-sans:    'Montserrat', 'Inter', system-ui, -apple-system, sans-serif;
  --dc-serif:   'Montserrat', 'Inter', system-ui, sans-serif;

  --dc-tr: 0.22s cubic-bezier(.2,.7,.3,1);
  --dc-r-sm: 6px;
  --dc-r:    14px;
  --dc-r-lg: 28px;
}

.dc-site, .dc-site *, .dc-site *::before, .dc-site *::after { box-sizing: border-box; }
.dc-site {
  font-family: var(--dc-sans);
  color: var(--dc-ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.dc-site a:not([class*="dc-btn"]) { color: inherit; text-decoration: none; }
.dc-site a[class*="dc-btn"] { text-decoration: none; }
.dc-site button { font-family: inherit; cursor: pointer; }

/* No italics globally — user requested */
.dc-site em, .dc-site i, .dc-site cite { font-style: normal; }

@keyframes dc-float-slow {
  0%, 100% { transform: translate(0,0) rotate(0deg); }
  50%      { transform: translate(8px,-12px) rotate(2deg); }
}
@keyframes dc-float-med {
  0%, 100% { transform: translate(0,0) rotate(0deg); }
  50%      { transform: translate(-10px,8px) rotate(-3deg); }
}
.dc-float-slow { animation: dc-float-slow 12s ease-in-out infinite; }
.dc-float-med  { animation: dc-float-med  9s ease-in-out infinite; }

.dc-site ::selection { background: var(--dc-yellow); color: var(--dc-ink); }

/* ──────────────────────────────────────────────────────────────────
   White-first background policy.
   The legacy cream/paper tokens still drive text-on-ink colors
   (so .dc-sec--ink and similar dark sections keep their cream type),
   but any element using them as BACKGROUND is normalized to white
   or a near-white off-white for very subtle section alternation.
   ────────────────────────────────────────────────────────────────── */
html, body.dc-site { background: #ffffff; }

/* Inline `style="background: var(--dc-cream)"` sections — keep a hint of
   warmth so adjacent sections still read as bands, but barely. */
[style*="background:var(--dc-cream)"],
[style*="background: var(--dc-cream)"],
[style*="background:var(--dc-cream-warm)"],
[style*="background: var(--dc-cream-warm)"],
[style*="background:var(--dc-cream-deep)"],
[style*="background: var(--dc-cream-deep)"] {
  background: #FAF8F3 !important;
}
[style*="background:var(--dc-paper)"],
[style*="background: var(--dc-paper)"],
[style*="background:#FBF6E2"],
[style*="background: #FBF6E2"],
[style*="background:#FAF3DB"],
[style*="background: #FAF3DB"] {
  background: #ffffff !important;
}
