.brand,
.brand-crop {
  width: 325px;
  height: 92px;
}

.brand img {
  position: static;
  display: block;
  width: 315px;
  height: auto;
  max-width: 100%;
}

.site-header {
  height: 118px;
}

footer p {
  width: 100%;
  text-align: center;
}

footer p a {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #ffd400;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

footer p a:hover {
  text-decoration-color: #151515;
}

.hero h1 {
  font-size: clamp(46px, 4.8vw, 68px);
}

.section h2,
.expertise h2 {
  font-size: clamp(34px, 3.5vw, 52px);
}

.service h3 {
  font-size: 21px;
}

.opening-hours {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid #c9c9c4;
}

.opening-hours h3 {
  margin: 0 0 10px;
  font-size: 19px;
}

.opening-hours p {
  margin: 0 0 12px;
}

.opening-hours .hours-note {
  max-width: 420px;
  font-size: 14px;
}

.opening-hours a {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #ffd400;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.sheet-front .sheet-logo {
  position: relative;
  z-index: 1;
  display: block;
  width: 56%;
  height: auto;
  mix-blend-mode: multiply;
}

/* Les repères de section restent visibles sans leur numéro. */
.section-no {
  color: transparent;
  font-size: 0;
  height: 11px;
}

.carbon-reference {
  align-self: center;
  overflow: hidden;
}

.carbon-reference img {
  display: block;
  width: 100%;
  height: auto;
  clip-path: inset(0 0 0 2.5%);
  filter: drop-shadow(8px 11px 7px rgba(21, 21, 21, .18));
}

/* Illustration des feuillets autocopiants. */
.carbon-stack {
  height: 390px;
  perspective: 900px;
}

.carbon {
  width: 245px;
  height: 320px;
  border: 1px solid rgba(21, 21, 21, .55);
  border-radius: 1px 1px 16px 1px;
  background-image:
    linear-gradient(90deg, transparent 0 17%, rgba(21, 21, 21, .32) 17.2% 17.7%, transparent 18% 68%, rgba(21, 21, 21, .22) 68.3% 68.8%, transparent 69%),
    linear-gradient(180deg, transparent 0 16%, rgba(21, 21, 21, .30) 16.3% 16.8%, transparent 17% 25%, rgba(21, 21, 21, .22) 25.3% 25.8%, transparent 26% 53%, rgba(21, 21, 21, .26) 53.3% 53.8%, transparent 54% 67%, rgba(21, 21, 21, .20) 67.3% 67.8%, transparent 68%),
    repeating-linear-gradient(180deg, transparent 0 34px, rgba(21, 21, 21, .13) 35px 36px);
  box-shadow: 11px 15px 13px rgba(0, 0, 0, .16);
  transform-origin: center bottom;
  overflow: hidden;
}

.carbon::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 24px;
  top: 102px;
  width: 170px;
  height: 116px;
  border: 1px solid rgba(21, 21, 21, .34);
  background-image:
    linear-gradient(90deg, transparent 0 31%, rgba(21, 21, 21, .30) 31.5% 32%, transparent 32% 72%, rgba(21, 21, 21, .24) 72.5% 73%, transparent 73%),
    linear-gradient(180deg, transparent 0 30%, rgba(21, 21, 21, .30) 30.5% 31%, transparent 31% 62%, rgba(21, 21, 21, .24) 62.5% 63%, transparent 63%);
}

.carbon::after {
  content: "";
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 66px;
  height: 76px;
  border-top: 1px solid rgba(21, 21, 21, .45);
  border-left: 1px solid rgba(21, 21, 21, .32);
  border-radius: 64px 0 10px 0;
  background: linear-gradient(140deg, transparent 0 45%, var(--fold-color) 47% 100%);
  box-shadow: -7px -5px 9px rgba(0, 0, 0, .11);
}

.carbon b {
  z-index: 2;
  font-size: 32px;
}

.c1 {
  --fold-color: #eeeeec;
  left: 0;
  top: 4px;
  transform: rotate(-2deg) skewY(-2deg);
}

.c2 {
  --fold-color: #f6f2ca;
  left: 80px;
  top: 20px;
  transform: rotate(-.5deg) skewY(-2deg);
}

.c3 {
  --fold-color: #f6e889;
  left: 160px;
  top: 36px;
  transform: rotate(1deg) skewY(-2deg);
}

.c4 {
  --fold-color: #e8c000;
  left: 240px;
  top: 52px;
  transform: rotate(2.5deg) skewY(-2deg);
}

@media (max-width: 900px) {
  .site-header {
    height: 96px;
  }

  .brand,
  .brand-crop {
    width: 225px;
    height: 68px;
  }

  .brand img {
    position: static;
    width: 220px;
  }
}

@media (max-width: 420px) {
  .brand,
  .brand-crop {
    width: 205px;
    height: 62px;
  }

  .brand img {
    width: 200px;
  }

  .hero h1 {
    font-size: 42px;
  }
}
.map-card .map-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.map-card small {
  z-index: 2;
}
.hero-paper-image {
  display: block;
  width: min(100%, 550px);
  height: 100%;
  margin: 0 auto;
  object-fit: contain;
}

.paper-samples .cards-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
