/* /assets/css/base.css */
/* Professional, neutral, high-trust base styles */

:root{
  /* Typography */
  --font-sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  --fs-0: .875rem;
  --fs-1: 1rem;
  --fs-2: 1.125rem;
  --fs-3: 1.25rem;
  --fs-4: 1.5rem;
  --fs-5: 1.875rem;
  --fs-6: 2.25rem;

  /* Colors (Light, professional) */
  --bg: #f6f8fb;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --text: #0f172a;
  --muted: #475569;
  --muted-2: #64748b;
  --line: #e2e8f0;

  /* Brand accents (subtle) */
  --brand: #0f172a;
  --accent: #2563eb;
  --accent-2: #0ea5e9;

  /* Status */
  --ok: #16a34a;
  --warn: #f59e0b;

  /* Radius + shadow */
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 18px;

  --shadow-1: 0 6px 18px rgba(2, 6, 23, 0.06);
  --shadow-2: 0 10px 30px rgba(2, 6, 23, 0.08);

  /* Spacing */
  --space-1: .5rem;
  --space-2: .75rem;
  --space-3: 1rem;
  --space-4: 1.25rem;
  --space-5: 1.5rem;
  --space-6: 2rem;

  /* Layout */
  --container: 1120px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--fs-1);
  line-height:1.6;
  color:var(--text);
  background: var(--bg);
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; }
p{ margin:0 0 1rem; }

h1,h2,h3,h4{
  line-height:1.2;
  margin:0 0 .75rem;
  letter-spacing:-.02em;
}
h1{ font-size:clamp(1.75rem, 4vw, 2.75rem); }
h2{ font-size:clamp(1.25rem, 3vw, 1.75rem); }
h3{ font-size:clamp(1.125rem, 2.5vw, 1.375rem); }

small, .small{ font-size:var(--fs-0); }
.muted{ color:var(--muted); }
.muted-2{ color:var(--muted-2); }

.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;height:1px; overflow:hidden;
}
.skip-link:focus{
  left:1rem; top:1rem;
  width:auto; height:auto;
  background:var(--surface);
  border:1px solid var(--line);
  padding:.5rem .75rem;
  border-radius:var(--r-sm);
  box-shadow:var(--shadow-1);
  z-index:9999;
}

.sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* Focus styles (accessible) */
:focus-visible{
  outline: 3px solid rgba(37, 99, 235, .35);
  outline-offset: 2px;
  border-radius: 8px;
}

/* Selection */
::selection{ background: rgba(37,99,235,.18); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}