/* ============================================================
   Centre Prophétique Réveil de l'Épouse — v2 "Aube & Courbes"
   Arches, halos, vagues, chemin sinueux. Aucune ligne droite
   qui ne soit nécessaire.
   ============================================================ */

:root{
  --ivory:#FDFAF2;
  --parchment:#F7EFDC;
  --gold:#A0782B;
  --gold-deep:#7C5C1E;
  --gold-light:#D6BA72;
  --gold-pale:#EFE2C0;
  --ink:#2C2318;
  --ink-soft:#63563F;
  --flame:#B4511F;
  --white:#FFFFFF;
  --dark:#33280F;
  --shadow:0 24px 60px -28px rgba(124,92,30,.35);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Lora',Georgia,serif;
  background:var(--ivory);
  color:var(--ink);
  line-height:1.8;font-size:17px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.12;}
h1{font-size:clamp(2.7rem,6.5vw,4.8rem);}
h2{font-size:clamp(2rem,4.2vw,3.2rem);}
h3{font-size:clamp(1.35rem,2.4vw,1.8rem);}
.accent{font-style:italic;font-weight:500;color:var(--gold-deep);}
.accent-flame{font-style:italic;font-weight:500;color:var(--flame);}

a{color:var(--gold-deep);text-decoration:none;transition:.25s;}
a:hover{color:var(--flame);}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px;}

.eyebrow{
  font-family:'Jost',sans-serif;font-size:.75rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.8rem;
  margin-bottom:1.1rem;
}
.eyebrow::before,.eyebrow::after{content:"✦";font-size:.6rem;color:var(--gold-light);}

.wrap{max-width:1140px;margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem);}
.narrow{max-width:760px;margin:0 auto;}

/* ---------- Fond étoilé discret ---------- */
.sky{position:relative;}
.sparkle{position:absolute;color:var(--gold-light);opacity:.55;font-size:.9rem;animation:tw 4.5s ease-in-out infinite;pointer-events:none;}
@keyframes tw{0%,100%{opacity:.15;transform:scale(.8);}50%{opacity:.7;transform:scale(1.15);}}

/* ---------- Navigation ---------- */
header.site{
  position:sticky;top:0;z-index:60;
  background:rgba(253,250,242,.9);backdrop-filter:blur(12px);
}
header.site::after{
  content:"";display:block;height:14px;margin-top:-1px;
  background:radial-gradient(50% 100% at 50% 0,rgba(160,120,43,.14),transparent 75%);
  pointer-events:none;
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem clamp(1.2rem,4vw,2.5rem);max-width:1280px;margin:0 auto;
}
.brand{display:flex;align-items:center;gap:.7rem;}
.brand img{height:52px;width:auto;mix-blend-mode:multiply;}
.brand-text{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.08rem;line-height:1.15;color:var(--ink);}
.brand-text small{display:block;font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);}
nav.menu{display:flex;gap:clamp(.4rem,1.5vw,1rem);align-items:center;}
nav.menu a{
  font-family:'Jost',sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);padding:.45rem 1rem;border-radius:100px;
}
nav.menu a:hover{background:var(--gold-pale);color:var(--gold-deep);}
nav.menu a.active{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#FFF6DE;}
.nav-toggle{display:none;background:none;border:none;font-size:1.7rem;color:var(--gold-deep);cursor:pointer;}
@media(max-width:900px){
  .nav-toggle{display:block;}
  nav.menu{
    display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:var(--ivory);padding:1.2rem 2rem 1.6rem;gap:.6rem;
    border-radius:0 0 34px 34px;box-shadow:var(--shadow);
  }
  nav.menu.open{display:flex;}
}

/* ---------- Héros ---------- */
.hero{
  position:relative;text-align:center;
  padding:clamp(3.5rem,8vw,6.5rem) 1.5rem clamp(6rem,11vw,9rem);
  background:
    radial-gradient(ellipse 100% 75% at 50% -12%,rgba(214,186,114,.42),transparent 62%),
    radial-gradient(ellipse 55% 42% at 82% 30%,rgba(180,81,31,.09),transparent 70%),
    radial-gradient(ellipse 55% 42% at 15% 62%,rgba(214,186,114,.16),transparent 70%),
    linear-gradient(180deg,#FFFDF6,var(--ivory));
  overflow:hidden;
}
.halo{position:relative;display:inline-block;margin-bottom:1.2rem;}
.halo img{width:min(430px,80vw);height:auto;mix-blend-mode:multiply;position:relative;z-index:2;
  filter:drop-shadow(0 16px 40px rgba(160,120,43,.22));}
.halo::before,.halo::after{
  content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;
  border-radius:50%;border:1.5px solid rgba(214,186,114,.55);z-index:1;
}
.halo::before{width:118%;aspect-ratio:1;animation:breathe 7s ease-in-out infinite;}
.halo::after{width:146%;aspect-ratio:1;border-color:rgba(214,186,114,.28);border-style:dashed;animation:spin 70s linear infinite;}
@keyframes breathe{0%,100%{scale:1;opacity:.9;}50%{scale:1.04;opacity:.5;}}
@keyframes spin{to{rotate:360deg;}}
.hero h1{margin:0 auto 1rem;max-width:820px;}
.hero .lead{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--ink-soft);max-width:600px;margin:0 auto 2.3rem;font-style:italic;}

.btn{
  display:inline-block;font-family:'Jost',sans-serif;font-size:.84rem;
  letter-spacing:.16em;text-transform:uppercase;
  padding:1rem 2.4rem;border-radius:100px;transition:.28s;
}
.btn-gold{
  background:linear-gradient(135deg,var(--gold-light) -20%,var(--gold) 40%,var(--gold-deep) 110%);
  color:#FFF8E6;box-shadow:0 14px 30px -12px rgba(124,92,30,.6);
}
.btn-gold:hover{color:#fff;transform:translateY(-3px) scale(1.02);box-shadow:0 20px 38px -12px rgba(124,92,30,.65);}
.btn-line{border:1.5px solid var(--gold-light);color:var(--gold-deep);margin-left:.8rem;background:rgba(255,255,255,.5);}
.btn-line:hover{background:var(--gold-pale);color:var(--gold-deep);}
@media(max-width:540px){.btn-line{margin:.8rem 0 0;}}

/* ---------- Vagues de transition ---------- */
.wave{display:block;width:100%;height:70px;margin-bottom:-1px;}
.wave svg{display:block;width:100%;height:100%;}
.wave.flip svg{transform:scaleY(-1);}

/* ---------- Sections ---------- */
section.block{position:relative;padding:clamp(3rem,7vw,5.5rem) 0;}
.bg-parchment{background:linear-gradient(180deg,var(--parchment),#FBF4E3);}
.bg-ivory{background:var(--ivory);}
.section-head{text-align:center;max-width:740px;margin:0 auto clamp(2.2rem,5vw,3.6rem);}
.section-head p{color:var(--ink-soft);margin-top:1.1rem;}

.dropcap::first-letter{
  font-family:'Cormorant Garamond',serif;font-size:3.4em;font-weight:600;
  color:var(--gold);float:left;line-height:.82;padding:.06em .12em 0 0;
}

/* ---------- Ornement flamme ---------- */
.ornament{display:flex;align-items:center;justify-content:center;gap:1.2rem;padding:2.4rem 0;color:var(--gold-light);}
.ornament::before,.ornament::after{content:"";height:2px;width:min(150px,24vw);border-radius:2px;}
.ornament::before{background:linear-gradient(90deg,transparent,var(--gold-light));}
.ornament::after{background:linear-gradient(90deg,var(--gold-light),transparent);}
.ornament svg{width:26px;height:34px;flex:none;}

/* ---------- Arches (cartes vitrail) ---------- */
.arches{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));align-items:end;}
.arch{
  background:linear-gradient(180deg,#FFFEF9,#FDF8EA);
  border:1.5px solid var(--gold-pale);
  border-radius:170px 170px 30px 30px;
  padding:3.2rem 1.9rem 2.2rem;text-align:center;
  box-shadow:var(--shadow);position:relative;
  transition:transform .35s ease,box-shadow .35s ease;
}
.arch:hover{transform:translateY(-8px);box-shadow:0 32px 70px -30px rgba(124,92,30,.45);}
.arch::before{
  content:"";position:absolute;inset:9px;border-radius:160px 160px 24px 24px;
  border:1px solid rgba(214,186,114,.5);pointer-events:none;
}
.arch .glyph{
  width:58px;height:58px;margin:0 auto 1.1rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 32% 28%,var(--gold-light),var(--gold) 70%);
  color:#FFF6DE;font-size:1.5rem;box-shadow:0 10px 22px -8px rgba(124,92,30,.55);
}
.arch h3{color:var(--gold-deep);margin-bottom:.7rem;}
.arch p{color:var(--ink-soft);font-size:.97rem;}
.arch.tilt-l{rotate:-1.1deg;}
.arch.tilt-r{rotate:1.1deg;}
@media(max-width:640px){.arch.tilt-l,.arch.tilt-r{rotate:0deg;}}

/* ---------- Verset halo ---------- */
.verse{
  position:relative;max-width:820px;margin:0 auto;text-align:center;
  padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,5vw,3rem);
}
.verse::before{
  content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;
  width:min(560px,92%);aspect-ratio:1.9;border-radius:50%;
  background:radial-gradient(closest-side,rgba(214,186,114,.28),transparent);
  pointer-events:none;
}
.verse p.text{
  position:relative;font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.55rem,3.2vw,2.3rem);font-style:italic;line-height:1.4;color:var(--gold-deep);
}
.verse p.text::before{content:"“";display:block;font-size:3rem;line-height:.4;color:var(--gold-light);margin-bottom:.6rem;font-style:normal;}
.verse .ref{position:relative;font-family:'Jost',sans-serif;font-size:.76rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-top:1.2rem;display:block;}

/* ---------- Ruban du chemin (vague) ---------- */
.flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem .5rem;margin:1.6rem auto 0;}
.flow .step{
  font-family:'Cormorant Garamond',serif;font-size:clamp(1.15rem,2.3vw,1.6rem);font-weight:600;
  color:var(--gold-deep);padding:.55rem 1.5rem;border-radius:100px;
  background:#FFFEF9;border:1.5px solid var(--gold-pale);box-shadow:var(--shadow);
}
.flow .step:nth-child(4n+1){translate:0 -8px;rotate:-1.4deg;}
.flow .step:nth-child(4n+3){translate:0 8px;rotate:1.4deg;}
.flow .link{color:var(--gold-light);font-size:1.5rem;line-height:1;}
@media(max-width:640px){.flow .step{translate:0 0!important;rotate:0deg!important;}}

/* ---------- Chemin sinueux des modules ---------- */
.pathway{position:relative;max-width:900px;margin:0 auto;padding:1rem 0;}
.pathway::before{
  content:"";position:absolute;top:0;bottom:0;left:50%;translate:-50%;
  width:3px;border-radius:3px;
  background:repeating-linear-gradient(180deg,var(--gold-light) 0 10px,transparent 10px 22px);
  opacity:.7;
}
.p-item{position:relative;display:flex;align-items:center;margin-bottom:2.4rem;}
.p-item:last-child{margin-bottom:0;}
.p-item .medal{
  position:absolute;left:50%;translate:-50% 0;z-index:2;
  width:74px;height:74px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 26%,#E8D194,var(--gold) 75%);
  color:#FFF8E4;box-shadow:0 12px 26px -10px rgba(124,92,30,.6),0 0 0 7px var(--ivory),0 0 0 8.5px var(--gold-pale);
  font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.5rem;line-height:1;
}
.bg-parchment .p-item .medal{box-shadow:0 12px 26px -10px rgba(124,92,30,.6),0 0 0 7px var(--parchment),0 0 0 8.5px var(--gold-light);}
.p-item .medal small{font-family:'Jost',sans-serif;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;margin-top:2px;}
.p-card{
  width:calc(50% - 70px);background:#FFFEF9;border:1.5px solid var(--gold-pale);
  padding:1.6rem 1.8rem;box-shadow:var(--shadow);position:relative;
}
.p-item:nth-child(odd) .p-card{margin-right:auto;border-radius:44px 44px 12px 44px;rotate:-.7deg;}
.p-item:nth-child(even) .p-card{margin-left:auto;border-radius:44px 44px 44px 12px;rotate:.7deg;}
.p-card h4{font-size:1.3rem;color:var(--gold-deep);margin-bottom:.35rem;}
.p-card p{font-size:.93rem;color:var(--ink-soft);}
@media(max-width:760px){
  .pathway::before{left:37px;}
  .p-item{padding-left:92px;}
  .p-item .medal{left:37px;width:60px;height:60px;font-size:1.2rem;}
  .p-card{width:100%;rotate:0deg!important;border-radius:34px 34px 34px 12px!important;}
}

/* ---------- Panneau galet (citation) ---------- */
.pebble{
  background:linear-gradient(140deg,#FFFDF4,#FAF0D6);
  border:1.5px solid var(--gold-pale);
  border-radius:60px 26px 60px 26px;
  padding:2rem 2.4rem;margin:2.2rem auto;
  font-style:italic;color:var(--ink-soft);font-size:1.06rem;
  box-shadow:var(--shadow);max-width:820px;position:relative;
}
.pebble::before{
  content:"✦";position:absolute;top:-15px;left:44px;
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 32% 28%,var(--gold-light),var(--gold));
  color:#FFF6DE;font-size:.85rem;font-style:normal;
  box-shadow:0 8px 18px -6px rgba(124,92,30,.5);
}

/* ---------- Listes perles ---------- */
ul.gold{list-style:none;}
ul.gold li{position:relative;padding-left:1.9rem;margin-bottom:.7rem;color:var(--ink-soft);}
ul.gold li::before{
  content:"";position:absolute;left:0;top:.5em;width:12px;height:12px;border-radius:50% 50% 50% 4px;
  background:radial-gradient(circle at 32% 28%,var(--gold-light),var(--gold));
  rotate:45deg;box-shadow:0 3px 7px -2px rgba(124,92,30,.6);
}

/* ---------- Deux colonnes ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
@media(max-width:840px){.split{grid-template-columns:1fr;}}

/* ---------- Médaillon Année ---------- */
.year-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:78px;height:78px;border-radius:50%;margin-bottom:1.1rem;
  background:radial-gradient(circle at 30% 26%,#EAD79E,var(--gold) 72%);
  color:#FFF8E4;font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:700;
  box-shadow:0 12px 26px -10px rgba(124,92,30,.6);
}

/* ---------- Bandeau appel (colline dorée) ---------- */
.cta-band{
  position:relative;text-align:center;color:#F6EBD2;
  padding:clamp(4rem,8vw,6.5rem) 1.5rem clamp(3.5rem,7vw,5.5rem);
  background:
    radial-gradient(ellipse 75% 90% at 50% 118%,rgba(214,166,74,.32),transparent 62%),
    radial-gradient(ellipse 40% 40% at 18% 20%,rgba(214,186,114,.1),transparent 70%),
    linear-gradient(150deg,#2E230C 0%,#4E3B16 55%,#2E230C 100%);
  overflow:hidden;
}
.cta-band h2{color:#FBF2DC;max-width:840px;margin:0 auto;}
.cta-band p{color:#E2D1A8;max-width:620px;margin:1.2rem auto 2.2rem;}
.cta-band .sparkle{opacity:.7;}

/* ---------- Pied de page ---------- */
footer.site{
  background:#20180A;color:#C7B58B;padding:3.2rem 1.5rem 2.2rem;text-align:center;font-size:.9rem;
  border-radius:60px 60px 0 0;margin-top:-60px;position:relative;z-index:5;
}
footer.site img{height:64px;margin-bottom:1rem;border-radius:14px;}
footer.site .verse-line{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;color:#E8D8AC;margin-bottom:1.3rem;}
footer.site .foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.5rem;margin:1.1rem 0 1.6rem;}
footer.site .foot-nav a{color:#D8C79C;font-family:'Jost',sans-serif;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;}
footer.site .foot-nav a:hover{color:#F3E6C4;}
footer.site small{color:#8A7A57;display:block;margin-top:.8rem;}

/* ---------- En-tête de page interne ---------- */
.page-head{
  position:relative;text-align:center;overflow:hidden;
  padding:clamp(3.5rem,7vw,5.5rem) 1.5rem clamp(4.5rem,8vw,6.5rem);
  background:
    radial-gradient(ellipse 85% 95% at 50% -22%,rgba(214,186,114,.36),transparent 62%),
    linear-gradient(180deg,#FFFDF6,var(--ivory));
}
.page-head p{max-width:700px;margin:1.2rem auto 0;color:var(--ink-soft);font-style:italic;font-size:1.08rem;}

.center{text-align:center;}
.mt-2{margin-top:2.2rem;}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .reveal{opacity:1;transform:none;}
}
