:root {
  --bg: #FBF7F0;
  --brand: #6B4F3A;
  --cta: #C24E2E;
  --ink: #2B2621;
  --muted: #7A6E63;
  --line: #D8CFC4;
  --surface: #F3ECE2;
  --paper: #FBF7F0;
  --font-main: Tahoma, "Trebuchet MS", Geneva, Verdana, sans-serif;
  --font-display: Tahoma, "Trebuchet MS", Geneva, Verdana, sans-serif;
  --font-body: "Trebuchet MS", Tahoma, Verdana, Geneva, sans-serif;
  --font-meta: Tahoma, Verdana, Geneva, sans-serif;
}

*, *::before, *::after {
  box-sizing: border-box;
  font-family: var(--font-main);
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
  line-height: 1.65;
}

body {
  margin: 0;
  background-color: var(--bg);
  color: var(--ink);
  font-family: var(--font-main);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  overflow-x: hidden;
}

img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--brand);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--ink);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.65;
  color: var(--ink);
  margin: 0 0 0.5em 0;
}

p {
  margin: 0 0 1.2em 0;
}

ul, ol {
  margin: 0 0 1.2em 0;
  padding-left: 1.2em;
}

li {
  font-weight: 400;
  line-height: 1.65;
}

table {
  max-width: 100%;
  border-collapse: collapse;
  width: 100%;
}

.table-responsive,
.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

.container {
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
}

.lead {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.65;
}

.meta {
  font-family: var(--font-meta);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin: 0 0 0.9em 0;
}

.btn {
  display: inline-block;
  background-color: var(--cta);
  color: var(--paper);
  border: 0;
  border-radius: 0;
  padding: 16px 28px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.65;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
}

.btn:hover,
.btn:focus-visible {
  background-color: var(--ink);
  color: var(--paper);
}

.marker {
  border-bottom: 8px solid var(--cta);
  padding-bottom: 2px;
  margin-bottom: -4px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.tilt {
  border: 10px solid var(--surface);
  box-shadow: 12px 12px 0 var(--line);
  max-width: 100%;
  height: auto;
  display: block;
}

.tilt--right { transform: rotate(1.5deg); }
.tilt--left  { transform: rotate(-1.5deg); }

input, textarea, select, button {
  max-width: 100%;
  font-family: inherit;
  font-size: 16px;
}

@media (max-width: 768px) {
  body { overflow-x: hidden; }
  .grid, [class*="grid"] {
    grid-template-columns: 1fr !important;
  }
  h1 { font-size: clamp(36px, 11vw, 56px); }
  h2 { font-size: clamp(28px, 8vw, 42px); }
}
/* ===== garde-fou design 27/10 (anti hero geant + logo normalise) ===== */
h1{font-size:clamp(26px,5vw,46px) !important;line-height:1.15 !important}
.hero h1,[class*="hero"] h1,[class*="Hero"] h1{font-size:clamp(28px,5vw,46px) !important}
.site-header img,header img,a[href="/"] img,[class*="logo"] img{height:60px !important;width:auto !important;max-height:64px !important}

