/* ====================================================
   02-base.css
   Reset minimal, styles de base des éléments HTML,
   accessibilité visuelle, utilitaires de mise en page
   (page, container, display, eyebrow).
   ==================================================== */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  margin: 0;
  background: var(--background);
  color: var(--cream);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, p, figure {
  margin: 0;
}

button, input, select {
  font: inherit;
}

button, a, input, select, summary {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
}

button, summary {
  cursor: pointer;
}

img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

button {
  border: 0;
}

:focus-visible {
  outline: 3px solid var(--cream);
  outline-offset: 5px;
}

input:focus-visible,
select:focus-visible,
.contact-panel a:focus-visible {
  outline-color: var(--background-deep);
}

::selection {
  background: var(--orange);
  color: var(--background-deep);
}

[hidden] {
  display: none !important;
}

/* --- Accessibilité --- */

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100;
  padding: 12px 18px;
  background: var(--cream);
  color: var(--background-deep);
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

/* --- Conteneurs --- */

.page {
  width: min(100%, var(--page-width));
  margin-inline: auto;
  overflow: hidden;
  position: relative;
}

.container {
  width: 86%;
  margin-inline: auto;
}

/* --- Typographie d'affichage --- */

.display {
  font-family: var(--heading);
  font-weight: 400;
  text-transform: uppercase;
  line-height: .92;
  color: var(--orange);
}

.section-heading {
  font-size: clamp(64px, 10vw, 144px);
}

.eyebrow {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: clamp(12px, 1.6vw, 21px);
}