/* Base */
body {
  margin: 0;
  font-family: 'Quicksand', sans-serif;
  background: #fff;
  color: #000;
  text-align: center;
}

/* Header bandeau rose */
header {
  background-color: #e4c8cf;
  height: clamp(200px, 20vw, 250px);
  position: relative;
  overflow: visible; /* évite tout rognage du demi-cercle */
}

/* Demi-ellipse blanche avec logo (robuste iPad/Safari) */
header .logo {
  position: absolute;
  /* IMPORTANT: ordre clamp min ≤ préféré ≤ max même en négatif */
  bottom: clamp(-70px, -8vw, -40px);
  left: 50%;
  transform: translateX(-50%) translateZ(0);
  background: #fff;

  width: clamp(240px, 50vw, 400px);
  height: clamp(120px, 28vw, 220px);

  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: clamp(4px, 2vw, 10px);

  /* Demi-ellipse sans clip-path (meilleure compatibilité zoom) */
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;

  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: 1px solid transparent; /* force une peinture dédiée (anti-artéfacts) */
}

header .logo img {
  max-width: clamp(180px, 60vw, 450px);
  height: auto;
  display: block;
}

/* Contenu */
main {
  margin-top: clamp(80px, 20vw, 120px);
  padding: 20px;
}

.subtitle {
  font-size: clamp(14px, 2.5vw, 18px);
  letter-spacing: clamp(1px, 0.5vw, 5px);
  font-weight: 500;
}

.tagline {
  font-style: italic;
  margin: 5px 0 20px;
  font-size: clamp(12px, 2vw, 15px);
}

ul {
  list-style: none;
  padding: 0;
  margin: 20px 0;
  font-weight: 600;
}

ul li {
  margin: 6px 0;
  font-size: clamp(13px, 2vw, 16px);
}

/* Footer + réseaux sociaux */
footer {
  margin-top: 40px;
  padding: 20px;
  font-size: clamp(12px, 1.5vw, 14px);
  color: #444;
}

.socials {
  margin: 20px 0;
}

.socials a {
  display: inline-block;
  margin: 0 8px;
  font-size: clamp(20px, 6vw, 28px);
  color: #e4aebe;          /* couleur des icônes */
  transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
  text-decoration: none;
}

.socials a:hover,
.socials a:focus-visible {
  color: #cf8fa3;          /* survol/focus */
  transform: translateY(-1px);
}

/* Accessibilité focus clavier */
.socials a:focus-visible {
  outline: 2px solid #cf8fa3;
  outline-offset: 3px;
}
