/* EverCare Advisors — Design tokens · Refined Editorial Warmth
   Fraunces (variable serif, display) + Instrument Sans (body).
   Warm ivory backgrounds, deep forest teal, earthier coral.
   Senior-care advisor: serious, thoughtful, human — not tech-startup or medical-corporate. */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
  /* Brand — deepened teal + softened coral */
  --ec-primary: #0F4C4A;
  --ec-primary-hover: #083432;
  --ec-primary-soft: #134E4A;
  --ec-accent: #E85D1F;
  --ec-accent-hover: #C44310;
  --ec-accent-soft: #FCD7B0;

  /* Warm neutrals — ivory over cold white */
  --ec-bg-base: #FAF7F0;
  --ec-bg-soft: #F2EDE0;
  --ec-bg-paper: #FDFBF5;
  --ec-ink: #1A1410;
  --ec-ink-soft: #2C241E;
  --ec-ink-muted: #5E554D;
  --ec-ink-faint: #8A8178;
  --ec-border: #E0D9CA;
  --ec-border-soft: #EDE6D6;

  /* Editorial accents */
  --ec-forest: #1E3A36;
  --ec-terracotta: #B1533F;
  --ec-sand: #D4B896;

  /* Typography */
  --ec-font-display: 'Fraunces', 'Iowan Old Style', 'Palatino', 'Georgia', serif;
  --ec-font-body: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ec-font-mono: 'Courier Prime', 'Courier New', monospace;

  /* Spacing */
  --ec-space-1: 4px;
  --ec-space-2: 8px;
  --ec-space-3: 12px;
  --ec-space-4: 16px;
  --ec-space-5: 24px;
  --ec-space-6: 32px;
  --ec-space-7: 48px;
  --ec-space-8: 72px;
  --ec-space-9: 112px;
  --ec-space-10: 160px;

  /* Radii */
  --ec-radius-sm: 4px;
  --ec-radius-md: 6px;
  --ec-radius-lg: 10px;
  --ec-radius-xl: 18px;

  /* Shadows — subtle, warm */
  --ec-shadow-sm: 0 1px 2px rgba(26, 20, 16, 0.04), 0 1px 3px rgba(26, 20, 16, 0.06);
  --ec-shadow-md: 0 4px 10px rgba(26, 20, 16, 0.06), 0 2px 4px rgba(26, 20, 16, 0.04);
  --ec-shadow-lg: 0 20px 40px -15px rgba(26, 20, 16, 0.18), 0 8px 16px -8px rgba(26, 20, 16, 0.10);
  --ec-shadow-xl: 0 40px 80px -30px rgba(26, 20, 16, 0.25);

  /* Motion */
  --ec-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ec-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ec-dur-fast: 180ms;
  --ec-dur-med: 280ms;
  --ec-dur-slow: 500ms;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  background: var(--ec-bg-base);
  color: var(--ec-ink);
  font-family: var(--ec-font-body);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: -0.003em;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ec-font-display);
  color: var(--ec-ink);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-top: 0;
}

h1 {
  font-size: clamp(42px, 6.5vw, 76px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-variation-settings: "opsz" 96, "SOFT" 50;
}

h2 {
  font-size: clamp(30px, 3.8vw, 44px);
  font-weight: 450;
  line-height: 1.1;
  letter-spacing: -0.025em;
  font-variation-settings: "opsz" 72;
  margin: var(--ec-space-8) 0 var(--ec-space-4) 0;
}

h3 {
  font-size: clamp(22px, 2.2vw, 26px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.015em;
  font-variation-settings: "opsz" 36;
  margin: var(--ec-space-5) 0 var(--ec-space-3) 0;
}

h4 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  font-family: var(--ec-font-body);
  letter-spacing: 0;
}

p {
  margin: 0 0 var(--ec-space-4) 0;
  max-width: 68ch;
}

a {
  color: var(--ec-primary);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 95%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: color var(--ec-dur-fast) var(--ec-ease-out);
}

a:hover { color: var(--ec-primary-hover); }

strong { font-weight: 600; color: var(--ec-ink); }
em { font-style: italic; }

blockquote {
  border-left: 3px solid var(--ec-accent);
  padding-left: var(--ec-space-5);
  margin: var(--ec-space-7) 0;
  font-family: var(--ec-font-display);
  font-weight: 400;
  font-style: italic;
  font-size: 22px;
  line-height: 1.4;
  color: var(--ec-ink-soft);
  font-variation-settings: "opsz" 48, "SOFT" 100;
}

ul, ol {
  margin: 0 0 var(--ec-space-5) 0;
  padding-left: 1.25em;
}

li { margin-bottom: var(--ec-space-2); }

/* Buttons — editorial pill, not bubble */
.ec-btn-primary,
.wp-block-button__link.ec-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--ec-ink);
  color: var(--ec-bg-paper);
  border: 0;
  border-radius: 999px;
  padding: 14px 26px;
  font-family: var(--ec-font-body);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.01em;
  cursor: pointer;
  text-decoration: none;
  transition: transform var(--ec-dur-fast) var(--ec-ease-out),
              background var(--ec-dur-fast) var(--ec-ease-out),
              box-shadow var(--ec-dur-fast) var(--ec-ease-out);
  background-image: none;
}
.ec-btn-primary:hover,
.wp-block-button__link.ec-btn-primary:hover {
  background: var(--ec-accent);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: var(--ec-shadow-md);
}

.ec-btn-secondary,
.wp-block-button__link.ec-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--ec-ink);
  border: 1px solid var(--ec-ink);
  border-radius: 999px;
  padding: 13px 25px;
  font-family: var(--ec-font-body);
  font-weight: 500;
  font-size: 15px;
  cursor: pointer;
  text-decoration: none;
  transition: all var(--ec-dur-fast) var(--ec-ease-out);
  background-image: none;
}
.ec-btn-secondary:hover,
.wp-block-button__link.ec-btn-secondary:hover {
  background: var(--ec-ink);
  color: var(--ec-bg-paper);
}

*:focus-visible {
  outline: 2px solid var(--ec-accent);
  outline-offset: 3px;
  border-radius: 2px;
}

::selection {
  background: var(--ec-accent);
  color: #fff;
}
