:root {
  --bg: #f2ebe0;
  --bg-soft: #e8dece;
  --paper: rgba(255,255,255,0.78);
  --paper-strong: rgba(255,255,255,0.9);
  --line: rgba(81,63,45,0.12);
  --ink: #2f2923;
  --muted: rgba(47,41,35,0.68);
  --accent: #ab7344;
  --accent-2: #d39b67;
  --green: #727d6a;
  --dark: #1d1814;
  --dark-soft: #2a231d;
  --dark-line: rgba(255,255,255,0.12);
  --dark-text: #f3ede6;
  --dark-muted: rgba(243,237,230,0.74);
  --radius-xl: 42px;
  --radius-lg: 28px;
  --radius-md: 18px;
  --shadow: 0 24px 80px rgba(58,43,28,0.14);
  --container: 1340px;
  --scroll-progress: 0%;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 0% 0%, rgba(171,115,68,0.08), transparent 26%),
    radial-gradient(circle at 100% 20%, rgba(114,125,106,0.08), transparent 26%),
    linear-gradient(180deg, #f7f2ea 0%, #f1e9dd 42%, #ebe1d2 100%);
  line-height: 1.45;
  overflow-x: hidden;
}

body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: var(--scroll-progress);
  height: 3px;
  z-index: 200;
  background: linear-gradient(90deg, var(--accent), var(--green));
  box-shadow: 0 0 12px rgba(171,115,68,0.28);
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }

.container { width: min(var(--container), calc(100% - 32px)); margin: 0 auto; }

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  height: auto;
  width: auto;
  display: block;
  top: 5px;
  left: 5px;
  z-index: 100000;
  padding: 15px 23px 14px;
  background-color: #f1f1f1;
  color: #21759b;
  font-size: 0.875rem;
  line-height: normal;
  text-decoration: none;
}

.custom-logo-link { display: inline-flex; justify-content: center; }
.custom-logo { max-height: 34px; width: auto; }
