/* responsive.css — TEX-3 points (texture fond) + ajustements mobiles */

body{
  background:
    radial-gradient(color-mix(in srgb, var(--text) 9%, transparent) 1px, transparent 1px),
    var(--bg);
  background-size: 22px 22px;
}

/* Lettrine sobre sur premier paragraphe apropos */
.apropos-lead::first-letter{
  font-family: var(--ff-display);
  font-style: italic;
  font-size: 3rem;
  float: left;
  line-height: .88;
  margin: 6px 10px 0 0;
  color: var(--accent);
}

/* APROPOS */
.apropos-grid{
  display: grid;
  gap: 32px;
  grid-template-columns: 1fr;
}
@media (min-width: 900px){
  .apropos-grid{ grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
}
.apropos-photo{
  width: 100%;
  aspect-ratio: 4/5;
  max-height: 560px;
  border-radius: var(--r-lg);
  overflow: hidden;
  position: relative;
}
.apropos-photo img{ width: 100%; height: 100%; object-fit: cover; }
.apropos-eyebrow{
  font-family: var(--ff-ui);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .76rem;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 14px;
  display: inline-block;
}
.apropos-title{
  font-family: var(--ff-display);
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  font-weight: 500;
  margin: 0 0 18px;
  line-height: 1.12;
}
.apropos-title em{ font-style: italic; color: var(--accent); }
.apropos-text{
  font-family: var(--ff-body);
  font-size: 1.02rem;
  color: var(--text-2);
  line-height: 1.65;
}
.apropos-usps{
  margin-top: 22px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 480px){
  .apropos-usps{ grid-template-columns: 1fr 1fr; gap: 14px; }
}
.apropos-usp{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--ff-ui);
  font-size: .94rem;
  color: var(--text);
}
.apropos-usp svg{
  width: 18px; height: 18px;
  color: var(--accent);
  flex-shrink: 0;
  margin-top: 2px;
}

/* MOBILE TWEAKS */
@media (max-width: 560px){
  .hero-centre__band{ aspect-ratio: 4/3; }
  .gal-feat{ grid-template-columns: 1fr; }
  .gal-feat__big{ grid-column: 1/-1; }
  .svc-card{ padding: 24px 20px; }
}

/* wf-contrast-enforced */
.site-footer, .site-footer * { color: #F5F1EA !important; }
/* /wf-contrast-enforced */

/* wf-noxoverflow : reveal vertical (le slide horizontal deborde la largeur sur mobile) */
[data-reveal]:not(.in){ transform: translateY(18px) !important; }
