:root{
  --parchemin:#f3ede1;
  --parchemin-fonce:#e8ddc9;
  --encre:#23201b;
  --encre-douce:#4a443a;
  --roux:#9d3f25;        /* le roux du milan */
  --roux-fonce:#7a2f1b;
  --ambre:#c98a1e;       /* l'œil jaune */
  --basalte:#2b2824;
  --filet:#cabfa9;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--parchemin);
  color:var(--encre);
  font-family:'EB Garamond',Georgia,serif;
  font-size:19px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* --- Hero plein écran sur la photo du gîte --- */
.hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:url('coultades-escoufle.jpg') center center/cover no-repeat;
  padding:6vw clamp(1.4rem,5vw,2.5rem);
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(20,18,15,.72) 0%, rgba(20,18,15,.55) 45%, rgba(20,18,15,.82) 100%);
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:680px;
  color:var(--parchemin);
}
.hero .surtitre{
  color:#f0c860;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
.hero h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  font-size:clamp(3rem,10vw,5rem);
  line-height:1.02;
  letter-spacing:.01em;
  color:#fff;
  text-shadow:0 4px 24px rgba(0,0,0,.35);
  margin-bottom:1.2rem;
}
.hero h1 .apostrophe{color:var(--ambre)}
.hero-sous-titre{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(1.2rem,3.4vw,1.6rem);
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.6);
  margin-bottom:1.8rem;
}
.hero-sous-titre em{color:#f0c860;font-style:italic}
.hero-sous-titre em a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(240,200,96,.5)}
.hero-sous-titre em a:hover{border-bottom-color:#f0c860}
.badge{
  display:table;
  margin-left:auto;
  margin-right:auto;
  font-family:'Cormorant Garamond',serif;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.78rem;
  color:var(--basalte);
  background:var(--ambre);
  padding:.55em 1.4em;
  border-radius:999px;
  margin-bottom:1.4rem;
}
.cta-hero{
  display:inline-block;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.15rem;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  padding:.85em 1.9em;
  transition:background .25s,border-color .25s,color .25s;
}
.cta-hero:hover{
  background:var(--ambre);
  border-color:var(--ambre);
  color:var(--basalte);
}

/* --- Récit : reprend l'esprit de la page du roman --- */
.recit{
  max-width:680px;
  margin:0 auto;
  padding:clamp(3.5rem,8vw,6rem) clamp(1.4rem,5vw,2.5rem) 2rem;
  text-align:center;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(201,138,30,.06), transparent 60%),
    radial-gradient(ellipse 60% 40% at 50% 110%, rgba(157,63,37,.05), transparent 60%);
}
.cercles{
  position:relative;
  width:clamp(150px,36vw,200px);
  height:clamp(150px,36vw,200px);
  margin:0 auto clamp(1.5rem,4vw,2.2rem);
  display:flex;align-items:center;justify-content:center;
}
.cercles svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cercles circle{fill:none;stroke:var(--filet);opacity:.55}
.oiseau{
  position:relative;
  width:72%;
  height:auto;
  z-index:2;
  filter:drop-shadow(0 14px 22px rgba(43,40,36,.18));
  animation:planer 9s ease-in-out infinite;
}
@keyframes planer{
  0%,100%{transform:translateY(0) rotate(-1.5deg)}
  50%{transform:translateY(-10px) rotate(1.5deg)}
}
.oiseau-absent{
  width:72%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 40%,var(--roux),var(--roux-fonce));
  display:flex;align-items:center;justify-content:center;
  color:var(--parchemin);font-family:'Cormorant Garamond',serif;
  font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;
}

.recit .surtitre{
  font-family:'Cormorant Garamond',serif;
  text-transform:uppercase;
  letter-spacing:.42em;
  font-size:.72rem;
  color:var(--roux);
  margin-bottom:1rem;
}
.accroche{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.3rem,4vw,1.65rem);
  line-height:1.45;
  color:var(--basalte);
  margin-bottom:.4rem;
}
.filet{
  display:flex;align-items:center;justify-content:center;gap:.9rem;
  margin:clamp(2rem,6vw,3.2rem) auto;
  color:var(--filet);
}
.filet::before,.filet::after{
  content:"";height:1px;width:min(120px,22vw);
  background:linear-gradient(to right,transparent,var(--filet),transparent);
}
.filet span{
  width:7px;height:7px;border:1px solid var(--roux);
  transform:rotate(45deg);flex:none;
}
.corps p{margin-bottom:1.35rem;text-align:left;hyphens:auto}
.titre-livre{font-style:italic;color:var(--roux-fonce)}
.titre-livre a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.25)}
.titre-livre a:hover{border-bottom-color:var(--roux-fonce)}

.lien-livre{margin:1.5rem 0 0}
.lien-livre .cta{
  display:inline-block;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.2rem;
  color:var(--roux-fonce);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .25s,color .25s;
}
.lien-livre .cta:hover{color:var(--roux);border-bottom-color:var(--ambre)}

/* --- Section "soyez informés" + formulaire --- */
.avertir{
  max-width:560px;
  margin:0 auto;
  padding:clamp(2.5rem,6vw,3.5rem) clamp(1.4rem,5vw,2.5rem) clamp(3rem,7vw,4rem);
  text-align:center;
}
.avertir h2{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  font-size:clamp(1.9rem,5vw,2.4rem);
  color:var(--basalte);
  margin-bottom:.8rem;
}
.avertir-intro{
  color:var(--encre-douce);
  margin-bottom:1.8rem;
}
.coultades-form{
  display:flex;
  flex-direction:column;
  gap:1rem;
  text-align:left;
}
.coultades-input{
  width:100%;
  font-family:'EB Garamond',Georgia,serif;
  font-size:1rem;
  padding:.85em 1em;
  border:1px solid var(--filet);
  border-radius:6px;
  background:#fff;
  color:var(--encre);
}
.coultades-input:focus{
  outline:none;
  border-color:var(--roux);
  box-shadow:0 0 0 3px rgba(157,63,37,.12);
}
textarea.coultades-input{resize:vertical}
.honeypot-field{
  position:absolute;
  left:-9999px;
  width:1px;height:1px;
  opacity:0;
}
.cta-submit{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.15rem;
  color:#fff;
  background:var(--roux);
  border:none;
  border-radius:999px;
  padding:.85em 1.5em;
  cursor:pointer;
  transition:background .25s;
}
.cta-submit:hover{background:var(--roux-fonce)}

.alert-success,.alert-error{
  border-radius:6px;
  padding:1em 1.2em;
  margin-bottom:1.5rem;
  text-align:left;
  font-size:.95rem;
}
.alert-success{background:#e8f3e6;color:#2c5d2a;border:1px solid #c5e0c1}
.alert-error{background:#fbeae8;color:#8a2c20;border:1px solid #f1c6bf}
.alert-error p{margin:0}

/* --- Pied : contact --- */
.contact{
  margin-top:1rem;
  padding:2rem clamp(1.4rem,5vw,2.5rem) 3rem;
  border-top:1px solid var(--filet);
  text-align:center;
}
.contact a{
  color:var(--roux-fonce);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .25s,color .25s;
  font-size:1.05rem;
}
.contact a:hover{color:var(--roux);border-bottom-color:var(--ambre)}
.contact .ligne{margin:0 auto .5rem;max-width:680px;text-align:center}
.mention{
  font-family:'Cormorant Garamond',serif;
  font-size:.82rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--encre-douce);
  opacity:.7;
  margin-top:1.4rem;
  text-align:center;
}

@media (max-width:480px){
  .corps p{text-align:left}
  .contact .ligne{flex-direction:column;gap:.4rem}
}
