/* ============================================================
   SDPZ Design System — core tokens
   ============================================================ */

@font-face {
  font-family: "Segoe UI";
  src: url("../fonts/Segoe_UI.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Segoe UI";
  src: url("../fonts/Segoe_UI_Italic.ttf") format("truetype");
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "Segoe UI";
  src: url("../fonts/Segoe_UI_Bold.ttf") format("truetype");
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Segoe UI";
  src: url("../fonts/Segoe_UI_Bold_Italic.ttf") format("truetype");
  font-weight: 700; font-style: italic; font-display: swap;
}

:root {
  --sdpz-brown-900:#3a2614; --sdpz-brown-800:#4a3020; --sdpz-brown-700:#5a3d22;
  --sdpz-brown-600:#7a5a3a; --sdpz-brown-500:#96744e; --sdpz-brown-400:#b69878;
  --sdpz-brown-300:#d4bfa4; --sdpz-brown-200:#e6dfd1; --sdpz-brown-100:#f2ecdf;
  --sdpz-brown-50: #faf7f1;
  --sdpz-orange-600:#a85a20; --sdpz-orange-500:#c8712d; --sdpz-orange-400:#d88845; --sdpz-orange-300:#e6a876;
  --sdpz-yellow-500:#c29636; --sdpz-yellow-400:#d9a94a; --sdpz-yellow-300:#e6bf6e; --sdpz-yellow-200:#f0d79a;
  --sdpz-green-700:#345a30; --sdpz-green-600:#4a7a42; --sdpz-green-500:#6a9860;
  --sdpz-blue-400:#7fa8c7; --sdpz-blue-300:#a9c7e0; --sdpz-blue-200:#c9dbec;
  --sdpz-ink:#2a221a; --sdpz-ink-2:#4a3f32; --sdpz-ink-3:#6b5d4c; --sdpz-ink-4:#9b8b75;
  --sdpz-bg: var(--sdpz-brown-50);
  --sdpz-surface:#ffffff; --sdpz-surface-2:#f5efe3;

  --color-bg:var(--sdpz-bg); --color-surface:var(--sdpz-surface); --color-surface-alt:var(--sdpz-surface-2);
  --color-fg-1:var(--sdpz-ink); --color-fg-2:var(--sdpz-ink-2); --color-fg-3:var(--sdpz-ink-3); --color-fg-muted:var(--sdpz-ink-4);
  --color-border:var(--sdpz-brown-200); --color-border-strong:var(--sdpz-brown-300);
  --color-accent:var(--sdpz-orange-500); --color-accent-hover:var(--sdpz-orange-600);
  --color-primary:var(--sdpz-brown-600); --color-primary-hover:var(--sdpz-brown-700);
  --color-signal:var(--sdpz-yellow-400);

  --font-sans:"Segoe UI","Segoe UI Web (West European)",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-mono:"Consolas","SF Mono","Menlo","Monaco",monospace;
  --font-serif:"Source Serif Pro","Georgia",serif;

  --fs-display:clamp(2.5rem,4vw + 1rem,4rem);
  --fs-h1:clamp(2rem,2vw + 1.25rem,2.75rem);
  --fs-h2:clamp(1.5rem,1vw + 1.1rem,2rem);
  --fs-h3:1.375rem; --fs-lead:1.1875rem; --fs-body:1.0625rem; --fs-small:.9375rem; --fs-caption:.8125rem;

  --fw-light:400; --fw-regular:400; --fw-medium:400; --fw-semibold:700; --fw-bold:700;
  --lh-tight:1.15; --lh-snug:1.25; --lh-body:1.6;
  --tracking-tight:-0.01em; --tracking-snug:-0.005em; --tracking-body:0; --tracking-label:0.08em;

  --space-0:0; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
  --section-y:96px; --section-y-tablet:64px; --section-y-mobile:48px;
  --content-max:1200px; --prose-max:680px;

  --r-none:0; --r-sm:4px; --r-md:8px; --r-lg:12px; --r-pill:999px;
  --border-hairline:1px solid var(--color-border);
  --border-strong:1px solid var(--color-border-strong);
  --rule-accent:2px solid var(--sdpz-orange-500);
  --shadow-card:0 1px 2px rgba(42,34,26,.04),0 2px 8px rgba(42,34,26,.06);
  --shadow-sticky:0 1px 0 rgba(42,34,26,.06);
  --ease-out:cubic-bezier(.4,0,.2,1); --dur-fast:120ms; --dur-base:200ms; --dur-slow:320ms;
  --focus-ring:0 0 0 3px rgba(200,113,45,.35);
}

html { font-size:16px; -webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
body { margin:0; background:var(--color-bg); color:var(--color-fg-1); font-family:var(--font-sans); font-size:var(--fs-body); line-height:var(--lh-body); font-weight:var(--fw-regular); }
h1,h2,h3,h4,h5,h6 { color:var(--color-fg-1); font-weight:var(--fw-regular); margin:0 0 var(--space-4); text-wrap:balance; }
h1 { font-size:var(--fs-h1); line-height:var(--lh-tight); letter-spacing:var(--tracking-snug); font-weight:var(--fw-light); }
h2 { font-size:var(--fs-h2); line-height:var(--lh-snug); }
h3 { font-size:var(--fs-h3); line-height:var(--lh-snug); font-weight:var(--fw-semibold); }
h4 { font-size:var(--fs-body); font-weight:var(--fw-semibold); line-height:var(--lh-snug); }
p { margin:0 0 var(--space-4); text-wrap:pretty; }
.lead { font-size:var(--fs-lead); color:var(--color-fg-2); line-height:var(--lh-body); }
small,.caption { font-size:var(--fs-caption); color:var(--color-fg-3); }
.label { font-size:var(--fs-caption); text-transform:uppercase; letter-spacing:var(--tracking-label); color:var(--color-fg-3); font-weight:var(--fw-semibold); }
a { color:var(--color-accent); text-decoration:none; transition:color var(--dur-base) var(--ease-out); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover { text-decoration:underline; }
a:active { color:var(--color-accent-hover); }
code,pre,kbd,samp { font-family:var(--font-mono); font-size:.9em; }
hr { border:0; border-top:var(--border-hairline); margin:var(--space-7) 0; }
::selection { background:var(--sdpz-yellow-200); color:var(--color-fg-1); }
:focus-visible { outline:none; box-shadow:var(--focus-ring); border-radius:var(--r-sm); }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
