/* Design tokens — Hospital Campos Elísios */
:root {
  /* Brand — Direction A (Modern Humanized) */
  --ce-navy-900: #0a1f3d;
  --ce-navy-800: #14315b;
  --ce-navy-700: #1e4578;
  --ce-navy-500: #2e6bb3;
  --ce-navy-100: #e8eff8;
  --ce-navy-50:  #f4f7fb;

  --ce-terracotta: #c85a3e;
  --ce-terracotta-dark: #a04228;
  --ce-terracotta-50: #fbf0ec;

  --ce-sand-50: #faf7f2;
  --ce-sand-100: #f3eee5;
  --ce-sand-200: #e7dfcf;

  --ce-ink-900: #1a1d24;
  --ce-ink-700: #3e434d;
  --ce-ink-500: #6b7280;
  --ce-ink-400: #9ca3af;
  --ce-ink-300: #d1d5db;
  --ce-ink-200: #e5e7eb;
  --ce-ink-100: #f3f4f6;

  --ce-green: #1f7a4d;
  --ce-green-50: #eaf5ee;

  /* Type */
  --font-display: 'Fraunces', 'Source Serif Pro', Georgia, serif;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;

  /* Radius */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-full: 999px;

  /* Shadow */
  --sh-sm: 0 1px 2px rgba(10,31,61,0.06), 0 1px 3px rgba(10,31,61,0.04);
  --sh-md: 0 4px 12px rgba(10,31,61,0.07), 0 2px 4px rgba(10,31,61,0.04);
  --sh-lg: 0 12px 32px rgba(10,31,61,0.10), 0 4px 8px rgba(10,31,61,0.05);
  --sh-xl: 0 24px 64px rgba(10,31,61,0.14);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-sans);
  color: var(--ce-ink-900);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: #fff;
}
button { font-family: inherit; cursor: pointer; border: none; background: none; }
a { color: inherit; text-decoration: none; }
input, select, textarea { font-family: inherit; font-size: inherit; }
img { display: block; max-width: 100%; }

/* Placeholder image blocks */
.ph {
  background: linear-gradient(135deg, #e7dfcf 0%, #d4c9b2 100%);
  color: rgba(26,29,36,0.55);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; text-align: center; padding: 8px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-weight: 500;
  position: relative;
  overflow: hidden;
}
.ph::before {
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 14px, rgba(255,255,255,0.25) 14px, rgba(255,255,255,0.25) 15px);
  pointer-events: none;
}
.ph > span { position: relative; z-index: 1; max-width: 80%; }

.ph.navy { background: linear-gradient(135deg, #1e4578 0%, #0a1f3d 100%); color: rgba(255,255,255,0.8); }
.ph.terracotta { background: linear-gradient(135deg, #c85a3e 0%, #a04228 100%); color: rgba(255,255,255,0.9); }
.ph.sand { background: linear-gradient(135deg, #f3eee5 0%, #e7dfcf 100%); color: rgba(26,29,36,0.5); }

/* Scrollbar hide on canvas children */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }
