/* =====================================================
   LAYOUT
   Conteneurs, titres de section, boutons, animations
   ===================================================== */

/* ===== LAYOUT HELPERS ===== */
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 6%; }
section { padding: 86px 0; }
.sect-eye  { font-family: var(--font-h); font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--orange); margin-bottom: 10px; }
.sect-h2   { font-family: var(--font-h); font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 900; color: var(--dark); line-height: 1.2; margin-bottom: 14px; }
.sect-h2 span { color: var(--blue); }
.sect-sub  { font-size: .97rem; color: var(--gray-text); line-height: 1.75; max-width: 620px; }
.sect-head { margin-bottom: 52px; }

/* ===== BUTTONS ===== */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-h); font-size: .87rem; font-weight: 700;
  text-decoration: none; border-radius: 10px; padding: 13px 24px;
  transition: transform .18s, box-shadow .18s, background .18s;
  cursor: pointer; border: none;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--orange); color: #fff; box-shadow: 0 4px 16px rgba(245,124,0,.38); }
.btn-primary:hover { background: var(--orange-dk); box-shadow: 0 6px 22px rgba(245,124,0,.48); }
.btn-blue { background: var(--blue); color: #fff; box-shadow: 0 4px 16px rgba(21,101,192,.30); }
.btn-blue:hover { background: var(--blue-dark); }
.btn-ghost-white { background: rgba(255,255,255,.15); color: #fff; border: 2px solid rgba(255,255,255,.45); }
.btn-ghost-white:hover { background: rgba(255,255,255,.28); }
.btn-ghost-orange { background: transparent; color: #FFB74D; border: 2px solid rgba(245,124,0,.5); }
.btn-ghost-orange:hover { background: rgba(245,124,0,.14); }
.btn-white { background: #fff; padding: 11px 22px; }
.btn-white.c-blue { color: var(--blue); }
.btn-white.c-orange { color: var(--orange); }
.btn-white.c-teal  { color: #00695C; }
.btn-white:hover { box-shadow: 0 4px 16px rgba(0,0,0,.15); }

/* ===== SCROLL REVEAL ===== */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.reveal.in { opacity: 1; transform: none; }
