/*
Theme Name: Onirologue
Theme URI: https://onirologue.shop
Author: L'Onirologue
Description: Thème du Cercle des 7 Sœurs — nuit étoilée, or et violet. Page d'accueil immersive, animation des Sœurs, offres et Grimoire.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: onirologue
*/

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap");

:root{
  --night:#080b17; --night2:#0d1224; --panel:#11172b;
  --ivory:#f2eadc; --text:#d6d9e4; --muted:#aab2c6;
  --violet:#a798ee; --violet-soft:#d7cff9;
  --gold:#dfc27d; --gold-soft:#f2dea8; --line:rgba(242,234,220,.14);
}
*{box-sizing:border-box;}
body{margin:0; font-family:"Manrope",system-ui,sans-serif; color:var(--text); background:var(--night); line-height:1.65; overflow-x:hidden;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{width:min(1100px, calc(100% - 40px)); margin-inline:auto;}
.serif{font-family:"Cormorant Garamond",Georgia,serif;}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; line-height:1.06; color:var(--ivory); margin:0;}
.kicker{color:var(--gold); font:700 .72rem/1.4 "Manrope",sans-serif; letter-spacing:.2em; text-transform:uppercase; margin-bottom:14px;}
.lead{color:var(--muted); font-size:clamp(1.05rem,1.8vw,1.28rem); line-height:1.6;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:14px 28px; border-radius:999px; font:700 .8rem/1 "Manrope",sans-serif; letter-spacing:.05em; text-transform:uppercase; transition:transform .25s ease, box-shadow .25s ease;}
.btn-gold{color:#23182d; background:linear-gradient(135deg,var(--gold-soft),var(--gold)); box-shadow:0 14px 36px rgba(223,194,125,.28);}
.btn-gold:hover{transform:translateY(-3px); box-shadow:0 20px 48px rgba(223,194,125,.42);}
.btn-line{color:var(--ivory); border:1px solid rgba(215,207,249,.4); background:rgba(255,255,255,.03);}
.btn-line:hover{transform:translateY(-3px); border-color:var(--gold);}
section{position:relative; padding:clamp(64px,8vw,104px) 0;}

/* ── En-tête / navigation ── */
.site-header{position:sticky; top:0; z-index:50; backdrop-filter:blur(14px); background:rgba(8,11,23,.68); border-bottom:1px solid var(--line);}
.site-header::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:linear-gradient(90deg,transparent,var(--violet-soft),var(--gold),transparent); opacity:.55;}
.site-header .wrap{display:flex; align-items:center; gap:28px; min-height:70px;}

.site-brand{display:flex; align-items:center; gap:12px; font-family:"Cormorant Garamond",serif; font-size:1.32rem; letter-spacing:.09em; color:var(--ivory); transition:opacity .25s ease;}
.site-brand:hover{opacity:.85;}
.site-brand img{width:36px; height:36px; border-radius:50%; border:1px solid var(--gold); box-shadow:0 0 0 0 rgba(223,194,125,.4); transition:box-shadow .3s ease;}
.site-brand:hover img{box-shadow:0 0 0 5px rgba(223,194,125,.12);}

.site-nav{margin-left:auto; display:flex; gap:28px; align-items:center;}
.site-nav>a{position:relative; color:var(--muted); font:600 .78rem/1 "Manrope",sans-serif; letter-spacing:.06em; text-transform:uppercase; transition:color .25s ease;}
.site-nav>a::before{content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:var(--gold-soft); transition:right .3s ease;}
.site-nav>a:hover{color:var(--gold-soft);}
.site-nav>a:hover::before{right:0;}
.site-nav .btn{position:relative; overflow:hidden; min-height:40px; padding:11px 22px; color:#23182d; background:linear-gradient(135deg,var(--gold-soft),var(--gold)); box-shadow:0 10px 26px rgba(223,194,125,.22); font-size:.74rem; transition:transform .3s ease, box-shadow .3s ease;}
.site-nav .btn:hover{transform:translateY(-2px); box-shadow:0 16px 34px rgba(223,194,125,.36);}
.nav-sep{color:var(--gold); font-size:.65rem; opacity:.55; animation:sparkle 4.5s ease-in-out infinite;}

/* ── Burger animé ── */
.nav-toggle{display:none; margin-left:auto; position:relative; width:40px; height:40px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.02); cursor:pointer; transition:border-color .25s ease;}
.nav-toggle:hover{border-color:rgba(223,194,125,.4);}
.nav-toggle span{position:absolute; left:11px; width:18px; height:1.5px; background:var(--ivory); border-radius:2px; transition:transform .3s ease, opacity .25s ease, top .3s ease;}
.nav-toggle span:nth-child(1){top:14px;}
.nav-toggle span:nth-child(2){top:19.5px;}
.nav-toggle span:nth-child(3){top:25px;}
.nav-toggle.open span:nth-child(1){top:19.5px; transform:rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){top:19.5px; transform:rotate(-45deg);}

/* ── Bandeau permanent des 7 Sœurs ── */
.soeurs-bar{border-top:1px solid rgba(223,194,125,.12); background:rgba(5,7,15,.5);}
.soeurs-bar .wrap{position:relative; display:flex; justify-content:center; align-items:center; gap:clamp(14px,3vw,30px); flex-wrap:wrap; padding:9px 0; overflow:hidden;}
.soeurs-bar a{position:relative; font-family:"Cormorant Garamond",serif; font-size:1rem; letter-spacing:.03em; opacity:.82; transition:opacity .2s ease, text-shadow .2s ease; animation:sisterglow 10s ease-in-out infinite;}
.soeurs-bar a:hover{opacity:1; text-shadow:0 0 12px currentColor;}
.soeurs-bar a:nth-child(2){color:#d9cdfb; animation-delay:0s;} /* Oni — symbole, violet de veille */
.soeurs-bar a:nth-child(3){color:#a9c2f7; animation-delay:1.43s;} /* Alka — liens, bleu-lavande */
.soeurs-bar a:nth-child(4){color:#8fdad3; animation-delay:2.86s;} /* Naïa — émotion, teinte d'eau */
.soeurs-bar a:nth-child(5){color:#a9c98a; animation-delay:4.29s;} /* Terra — ancrage, vert mousse */
.soeurs-bar a:nth-child(6){color:#eb9a68; animation-delay:5.72s;} /* Ignis — élan, braise */
.soeurs-bar a:nth-child(7){color:#f2dea8; animation-delay:7.15s;} /* Astria — vision, or d'étoile */
.soeurs-bar a:nth-child(8){color:#f3f1fb; animation-delay:8.58s;} /* Irma — clarté, presque blanche */

/* ── Étoile filante, de sœur en sœur ── */
.shooting-star{position:absolute; top:50%; left:-4%; width:5px; height:5px; border-radius:50%; background:#fff8e8; box-shadow:0 0 6px 2px rgba(255,250,230,.9), 0 0 18px 6px rgba(223,194,125,.35); transform:translateY(-50%); opacity:0; pointer-events:none; z-index:2; animation:shootacross 10s linear infinite;}
.shooting-star::before{content:""; position:absolute; top:50%; right:100%; width:64px; height:1px; background:linear-gradient(90deg, transparent, rgba(255,250,230,.55)); transform:translateY(-50%);}

/* ── HERO ── */
.hero{min-height:90vh; display:grid; align-items:center; overflow:hidden; background:radial-gradient(circle at 15% 15%, rgba(167,152,238,.16), transparent 34rem),radial-gradient(circle at 85% 30%, rgba(223,194,125,.1), transparent 36rem),linear-gradient(180deg,#070611,#080b17 45%,#0d0b1c);}
.hero-stars{position:absolute; inset:0; z-index:0; pointer-events:none; background-image:radial-gradient(1.5px 1.5px at 12% 20%, #fff, transparent),radial-gradient(1.5px 1.5px at 68% 12%, var(--gold-soft), transparent),radial-gradient(1px 1px at 40% 60%, var(--violet-soft), transparent),radial-gradient(1.5px 1.5px at 88% 45%, #fff, transparent),radial-gradient(1px 1px at 25% 80%, var(--gold-soft), transparent),radial-gradient(1.5px 1.5px at 55% 88%, #fff, transparent); background-size:340px 340px; opacity:.5; animation:twinkle 9s ease-in-out infinite alternate, drift 80s linear infinite;}

/* ── Animation onirique : orbes de rêve flottants ── */
.hero-dream{position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
.orb{position:absolute; border-radius:50%; filter:blur(18px); mix-blend-mode:screen; opacity:0;}
.orb-1{left:14%; top:62%; width:120px; height:120px; background:radial-gradient(circle, rgba(167,152,238,.55), transparent 70%); animation:driftorb1 24s ease-in-out infinite;}
.orb-2{left:78%; top:58%; width:90px; height:90px; background:radial-gradient(circle, rgba(223,194,125,.5), transparent 70%); animation:driftorb2 19s ease-in-out infinite 3s;}
.orb-3{left:50%; top:20%; width:150px; height:150px; background:radial-gradient(circle, rgba(215,207,249,.4), transparent 70%); animation:driftorb3 28s ease-in-out infinite 6s;}
.orb-4{left:30%; top:35%; width:70px; height:70px; background:radial-gradient(circle, rgba(242,222,168,.5), transparent 70%); animation:driftorb1 21s ease-in-out infinite 9s;}
.orb-5{left:66%; top:78%; width:100px; height:100px; background:radial-gradient(circle, rgba(167,152,238,.4), transparent 70%); animation:driftorb2 26s ease-in-out infinite 1s;}

.hero .wrap{position:relative; z-index:1; text-align:center; padding:60px 0;}
.hero h1{font-size:clamp(1.9rem,4vw,3.1rem); max-width:16ch; margin:0 auto 22px; letter-spacing:-.01em;}
.hero h1 em{color:var(--gold-soft); font-style:italic;}
.hero .lead{max-width:640px; margin:0 auto 20px;}
.hero-127{display:inline-flex; align-items:baseline; gap:10px; margin:8px 0 28px; color:var(--violet-soft);}
.hero-127 b{font-family:"Cormorant Garamond",serif; font-size:2rem; color:var(--gold-soft);}
.hero-127 span{font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; color:var(--muted);}
.hero-btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* ── CONSTELLATION ANIMÉE ── */
/* ── LE MYTHE ── */
.mythe{background:radial-gradient(circle at 20% 0%, rgba(167,152,238,.09), transparent 36rem),radial-gradient(circle at 85% 100%, rgba(223,194,125,.06), transparent 34rem), linear-gradient(180deg,#080b17,#0d0b1c);}
.mythe-head{text-align:center; max-width:760px; margin:0 auto 46px;}
.mythe-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem); margin-bottom:0;}
.mythe-head h2 em{color:var(--gold-soft); font-style:italic;}
.mythe-recit{max-width:660px; margin:0 auto; color:var(--text); font-size:1.06rem; line-height:1.85;}
.mythe-recit p{margin:0 0 24px;}
.mythe-recit p:first-child::first-letter{float:left; font-family:"Cormorant Garamond",serif; font-size:3.6rem; line-height:.82; font-weight:600; color:var(--gold-soft); padding:6px 10px 0 0;}
.promise{position:relative; isolation:isolate; max-width:640px; margin:56px auto 0; padding:clamp(30px,4vw,46px) clamp(24px,5vw,50px); text-align:center; border:1px solid rgba(223,194,125,.3); border-radius:24px; background:radial-gradient(circle at 25% 15%, rgba(167,152,238,.14), transparent 45%),radial-gradient(circle at 80% 90%, rgba(223,194,125,.1), transparent 45%),linear-gradient(160deg,var(--panel),var(--night)); box-shadow:0 26px 60px rgba(0,0,0,.35);}
.promise-mark{display:block; color:var(--gold); font-size:1.3rem; margin-bottom:10px; animation:sparkle 4s ease-in-out infinite;}
.promise .kicker{margin-bottom:12px;}
.promise-text{font-size:clamp(1.2rem,2.4vw,1.55rem); line-height:1.55; color:var(--ivory); font-style:italic;}
.promise-text em{color:var(--gold-soft); font-style:italic;}

.constellation{background:radial-gradient(circle at 50% 45%, rgba(167,152,238,.12), transparent 40rem), linear-gradient(180deg,#0d0b1c,#080b17); overflow:hidden;}
.const-head{text-align:center; max-width:640px; margin:0 auto 48px;}
.const-head h2{font-size:clamp(1.7rem,3.4vw,2.6rem); margin-bottom:14px;}
.const-head h2 em{color:var(--gold-soft); font-style:italic;}
.const-stage{position:relative; width:min(440px,90vw); aspect-ratio:1; margin:0 auto;}
.const-ring{position:absolute; inset:0; animation:ringspin 26s linear infinite;}
.const-ring .av{position:absolute; top:50%; left:50%; width:74px; height:74px; margin:-37px;}
.const-ring .av img{width:100%; height:100%; border-radius:50%; object-fit:cover; border:2px solid rgba(242,234,220,.7); box-shadow:0 6px 22px rgba(0,0,0,.4); animation:ringspin 26s linear infinite reverse;}
.const-ring .av:nth-child(1){transform:rotate(0deg) translate(180px) rotate(0deg);}
.const-ring .av:nth-child(2){transform:rotate(51.4deg) translate(180px) rotate(-51.4deg);}
.const-ring .av:nth-child(3){transform:rotate(102.8deg) translate(180px) rotate(-102.8deg);}
.const-ring .av:nth-child(4){transform:rotate(154.2deg) translate(180px) rotate(-154.2deg);}
.const-ring .av:nth-child(5){transform:rotate(205.6deg) translate(180px) rotate(-205.6deg);}
.const-ring .av:nth-child(6){transform:rotate(257deg) translate(180px) rotate(-257deg);}
.const-ring .av:nth-child(7){transform:rotate(308.4deg) translate(180px) rotate(-308.4deg);}
.const-core{position:absolute; top:50%; left:50%; width:172px; height:172px; margin:-86px; border-radius:50%; overflow:hidden; border:3px solid var(--gold); box-shadow:0 0 50px rgba(223,194,125,.4), inset 0 0 30px rgba(0,0,0,.5);}
.const-core .slide{position:absolute; inset:0; opacity:0; animation:flip 3.5s steps(1) infinite;}
.const-core .slide img{width:100%; height:100%; object-fit:cover;}
.const-core .slide:nth-child(1){animation-delay:0s;} .const-core .slide:nth-child(2){animation-delay:.5s;} .const-core .slide:nth-child(3){animation-delay:1s;} .const-core .slide:nth-child(4){animation-delay:1.5s;} .const-core .slide:nth-child(5){animation-delay:2s;} .const-core .slide:nth-child(6){animation-delay:2.5s;} .const-core .slide:nth-child(7){animation-delay:3s;}
.const-name{position:absolute; bottom:-4px; left:50%; transform:translateX(-50%); white-space:nowrap; padding:6px 18px; border-radius:999px; background:rgba(8,11,23,.85); border:1px solid var(--gold); color:var(--gold-soft); font-family:"Cormorant Garamond",serif; font-size:1.15rem;}
.const-name span{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); opacity:0; animation:flip 3.5s steps(1) infinite;}
.const-name span:nth-child(1){animation-delay:0s;} .const-name span:nth-child(2){animation-delay:.5s;} .const-name span:nth-child(3){animation-delay:1s;} .const-name span:nth-child(4){animation-delay:1.5s;} .const-name span:nth-child(5){animation-delay:2s;} .const-name span:nth-child(6){animation-delay:2.5s;} .const-name span:nth-child(7){animation-delay:3s;}
.const-cta{text-align:center; margin-top:56px;}

/* ── MÉTHODE ── */
.method{background:linear-gradient(180deg,#080b17,#0d0b1c);}
.method-head{text-align:center; max-width:680px; margin:0 auto 54px;}
.method h2{font-size:clamp(1.7rem,3.4vw,2.6rem); margin-bottom:16px;}
.method h2 em{color:var(--gold-soft); font-style:italic;}
.steps{display:grid; grid-template-columns:repeat(7,1fr); gap:12px; position:relative;}
.steps::before{content:""; position:absolute; top:30px; left:6%; right:6%; height:1px; z-index:0; background:linear-gradient(90deg,var(--violet),var(--violet-soft),var(--gold-soft),var(--gold));}
.step{text-align:center; position:relative; z-index:1;}
.step-num{width:60px; height:60px; margin:0 auto 15px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; background:var(--night2); box-shadow:0 0 0 7px var(--night); color:var(--gold-soft); font-family:"Cormorant Garamond",serif; font-size:1.3rem;}
.step b{display:block; color:var(--ivory); font-size:1.05rem; margin-bottom:4px; font-family:"Cormorant Garamond",serif; font-weight:600;}
.step small{color:var(--muted); font-size:.76rem; line-height:1.35; display:block;}
.method-note{text-align:center; margin-top:44px; color:var(--muted); font-style:italic; font-family:"Cormorant Garamond",serif; font-size:1.15rem;}

/* ── CERCLE / LIGNÉES ── */
.cercle{background:radial-gradient(circle at 50% 20%, rgba(223,194,125,.07), transparent 34rem), linear-gradient(180deg,#0d0b1c,#080b17);}
.cercle-head{text-align:center; max-width:680px; margin:0 auto 48px;}
.cercle h2{font-size:clamp(1.7rem,3.4vw,2.6rem); margin-bottom:16px;}
.cercle h2 em{color:var(--gold-soft); font-style:italic;}
.lineages{display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(223,194,125,.2); border-radius:24px; overflow:hidden; background:rgba(255,255,255,.018);}
.lineage{padding:clamp(28px,4vw,42px);}
.lineage+.lineage{border-left:1px solid rgba(223,194,125,.2);}
.lineage:first-child{background:radial-gradient(circle at 15% 10%, rgba(107,184,194,.13), transparent 55%);}
.lineage:last-child{background:radial-gradient(circle at 85% 10%, rgba(215,110,66,.12), transparent 55%);}
.lineage h3{font-size:1.5rem; margin-bottom:6px;}
.lineage>p{color:var(--muted); font-size:.95rem; margin-bottom:18px;}
.lineage ul{list-style:none; margin:0; padding:0;}
.lineage li{padding:11px 0; border-top:1px solid rgba(255,255,255,.07); color:var(--text); font-size:.98rem;}
.lineage li b{color:var(--gold-soft); font-family:"Cormorant Garamond",serif; font-weight:600;}
.cercle-cta{text-align:center; margin-top:38px;}

/* ── CODE 127 ── */
.code127{text-align:center; background:linear-gradient(180deg,#080b17,#0d0b1c); overflow:hidden;}
.code127 .big{font-family:"Cormorant Garamond",serif; font-weight:600; font-size:clamp(6rem,20vw,13rem); line-height:.9; letter-spacing:-.06em; display:block; background:linear-gradient(135deg,#fff9e7,var(--gold),var(--violet)); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 40px rgba(223,194,125,.2)); margin:14px 0 20px;}
.code127-sub{max-width:560px; margin:0 auto 46px;}
.code127-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:800px; margin:0 auto;}
.code127-card{padding:26px 18px; border-top:1px solid var(--gold); background:rgba(255,255,255,.02);}
.code127-card b{display:block; font-family:"Cormorant Garamond",serif; font-size:2.4rem; color:var(--gold-soft); margin-bottom:6px;}
.code127-card span{color:var(--muted); font-size:.95rem;}

/* ── GRIMOIRE / OFFRES ── */
.grimoire{background:radial-gradient(circle at 82% 16%, rgba(167,152,238,.1), transparent 28rem), #080b17;}
.grimoire-head{max-width:660px; margin-bottom:38px;}
.grimoire h2{font-size:clamp(1.7rem,3.4vw,2.5rem); margin-bottom:14px;}
.offers{display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(223,194,125,.24); border-radius:24px; overflow:hidden; background:rgba(255,255,255,.02);}
.offers--single{grid-template-columns:1fr; max-width:420px; margin:0 auto;}
.offer{padding:clamp(28px,4vw,44px); display:flex; flex-direction:column;}
.offer+.offer{border-left:1px solid rgba(223,194,125,.24);}
.offer--full{background:radial-gradient(circle at 85% 0, rgba(223,194,125,.1), transparent 55%);}
.offer-badge{align-self:flex-start; margin-bottom:16px; padding:7px 14px; border:1px solid rgba(223,194,125,.42); border-radius:999px; color:var(--gold-soft); font:700 .68rem/1 "Manrope",sans-serif; letter-spacing:.13em; text-transform:uppercase;}
.offer--full .offer-badge{color:#23182d; background:linear-gradient(135deg,var(--gold-soft),var(--gold)); border-color:transparent;}
.offer h3{font-size:1.55rem; margin-bottom:8px;}
.offer-price{display:flex; align-items:baseline; gap:8px; margin-bottom:14px;}
.offer-price strong{font-family:"Cormorant Garamond",serif; font-size:2.6rem; color:var(--gold-soft);}
.offer-price span{color:var(--muted); font-size:.82rem;}
.offer>p{color:var(--muted); font-size:.96rem; margin-bottom:6px;}
.offer ul{list-style:none; margin:14px 0 24px; padding:0;}
.offer li{position:relative; padding:8px 0 8px 24px; border-top:1px solid rgba(255,255,255,.06); color:var(--text); font-size:.93rem;}
.offer li::before{content:"✦"; position:absolute; left:0; color:var(--gold); font-size:.78rem;}
.offer .btn{margin-top:auto;}
.grimoire-note{text-align:center; margin-top:22px; color:#9098ac; font-size:.85rem;}

/* ── NEWSLETTER ── */
.news-sec{background:linear-gradient(180deg,#0d0b1c,#080b17);}
.news{position:relative; isolation:isolate; max-width:720px; margin:0 auto; padding:clamp(36px,5vw,58px) clamp(24px,5vw,60px); overflow:hidden; border:1px solid rgba(223,194,125,.28); border-radius:28px; text-align:center; background:radial-gradient(circle at 20% 18%, rgba(167,152,238,.16), transparent 42%),radial-gradient(circle at 82% 82%, rgba(223,194,125,.12), transparent 44%),linear-gradient(160deg,var(--panel),var(--night)); box-shadow:0 30px 80px rgba(0,0,0,.35);}
.news::before{content:""; position:absolute; z-index:-1; inset:-50%; background-image:radial-gradient(1.5px 1.5px at 20% 30%, #fff, transparent),radial-gradient(1.5px 1.5px at 68% 12%, var(--gold-soft), transparent),radial-gradient(1px 1px at 44% 62%, var(--violet-soft), transparent),radial-gradient(1.5px 1.5px at 88% 48%, #fff, transparent),radial-gradient(1px 1px at 12% 78%, var(--gold-soft), transparent); background-size:300px 300px; opacity:.5; animation:twinkle 8s ease-in-out infinite alternate, drift 60s linear infinite;}
.news-mark{display:inline-block; color:var(--gold); font-size:1.6rem; margin-bottom:14px; animation:sparkle 3.5s ease-in-out infinite;}
.news h2{font-size:clamp(1.7rem,3.4vw,2.5rem); margin-bottom:12px;}
.news>p{max-width:460px; margin:0 auto 26px; color:var(--muted); font-size:.98rem;}
.news-row{display:flex; gap:12px; justify-content:center; max-width:500px; margin:0 auto; flex-wrap:wrap;}
.news input{flex:1 1 220px; min-height:54px; padding:14px 20px; border:1px solid rgba(242,234,220,.18); border-radius:999px; color:var(--ivory); background:rgba(5,8,19,.6); font:400 .95rem "Manrope",sans-serif;}
.news input::placeholder{color:#7b839a;}
.news input:focus{border-color:var(--violet); outline:none; box-shadow:0 0 0 3px rgba(167,152,238,.15);}
.news button{min-height:54px; padding:14px 30px; border:none; border-radius:999px; color:#23182d; background:linear-gradient(135deg,var(--gold-soft),var(--gold)); font:700 .76rem/1 "Manrope",sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; box-shadow:0 12px 30px rgba(223,194,125,.28); transition:transform .25s ease;}
.news button:hover{transform:translateY(-2px);}
.news-fine{margin-top:18px; color:#7b839a; font-size:.74rem;}

/* ── FINAL ── */
.final{text-align:center; background:radial-gradient(circle at 50% 100%, rgba(167,152,238,.14), transparent 50%), #080b17;}
.final h2{font-size:clamp(1.8rem,3.8vw,2.8rem); max-width:16ch; margin:0 auto 18px;}
.final .lead{max-width:560px; margin:0 auto 30px;}
.final-quote{max-width:600px; margin:0 auto 30px; padding:18px 0; border-block:1px solid var(--line); color:var(--gold-soft); font-family:"Cormorant Garamond",serif; font-style:italic; font-size:1.3rem;}

/* ── PIED DE PAGE ── */
.site-footer{padding:56px 0 40px; text-align:center; border-top:1px solid var(--line); background:#060810;}
.social{display:flex; gap:12px; justify-content:center; margin-bottom:24px;}
.social a{width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(223,194,125,.35); border-radius:50%; color:var(--gold-soft); background:rgba(255,255,255,.03); transition:transform .3s, background .3s, color .3s;}
.social a svg{width:19px; height:19px; fill:currentColor;}
.social a:hover{transform:translateY(-4px); color:#23182d; background:linear-gradient(135deg,var(--gold-soft),var(--gold));}
.foot-disc{max-width:560px; margin:0 auto 12px; color:#7b839a; font-size:.82rem; line-height:1.55;}
.foot-disc strong{color:var(--muted);}
.foot-copy{color:#5a627a; font-size:.78rem; letter-spacing:.05em;}

/* ── Gabarit page.php (contenu éditorial) ── */
.page-hero{padding:clamp(70px,9vw,120px) 0 40px; text-align:center; background:linear-gradient(180deg,#070611,#080b17);}
.page-body{padding:20px 0 90px;}
.page-body .wrap{max-width:760px;}
.page-body h2{margin:38px 0 14px; font-size:1.9rem;}
.page-body h3{margin:28px 0 10px; font-size:1.4rem;}
.page-body p{margin:0 0 18px; color:var(--text);}
.page-body a{color:var(--gold-soft); border-bottom:1px solid transparent; transition:border-color .2s;}
.page-body a:hover{border-color:var(--gold-soft);}
.page-body ul,.page-body ol{margin:0 0 18px; padding-left:22px; color:var(--text);}

/* ── ANIMATIONS ── */
@keyframes twinkle{0%{opacity:.3}100%{opacity:.65}}
@keyframes drift{to{transform:translate3d(-50px,40px,0)}}
@keyframes driftorb1{0%{transform:translate(0,0) scale(.8); opacity:0;}12%{opacity:.55;}50%{transform:translate(40px,-60px) scale(1.15); opacity:.75;}88%{opacity:.3;}100%{transform:translate(-30px,-120px) scale(.85); opacity:0;}}
@keyframes driftorb2{0%{transform:translate(0,0) scale(.9); opacity:0;}15%{opacity:.5;}55%{transform:translate(-50px,-70px) scale(1.2); opacity:.65;}90%{opacity:.25;}100%{transform:translate(20px,-140px) scale(.8); opacity:0;}}
@keyframes driftorb3{0%{transform:translate(0,0) scale(.85); opacity:0;}18%{opacity:.4;}50%{transform:translate(60px,40px) scale(1.1); opacity:.55;}85%{opacity:.2;}100%{transform:translate(-45px,-30px) scale(.9); opacity:0;}}
@keyframes shootacross{0%{left:-4%; opacity:0;}4%{opacity:1;}50%{opacity:.9;}92%{opacity:0;}100%{left:104%; opacity:0;}}
@keyframes sisterglow{0%,10%,100%{text-shadow:none; opacity:.82;}4%{text-shadow:0 0 14px currentColor; opacity:1;}}
@keyframes sparkle{0%,100%{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.25) rotate(15deg);opacity:1}}
@keyframes ringspin{to{transform:rotate(360deg);}}
@keyframes flip{0%{opacity:1;} 14.28%{opacity:0;} 100%{opacity:0;}}

/* ── RESPONSIVE ── */
@media(max-width:860px){
  .steps{grid-template-columns:repeat(4,1fr); row-gap:32px;}
  .steps::before{display:none;}
}
@media(max-width:760px){
  .site-nav{position:fixed; inset:70px 0 auto 0; flex-direction:column; align-items:stretch; gap:0; background:rgba(8,11,23,.97); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); padding:14px 0 20px; max-height:0; overflow:hidden; opacity:0; visibility:hidden; transition:max-height .35s ease, opacity .3s ease, visibility .35s;}
  .site-nav.open{display:flex; max-height:70vh; opacity:1; visibility:visible; overflow-y:auto;}
  .site-nav>a{padding:14px 24px; width:100%; display:block;}
  .site-nav>a::before{display:none;}
  .nav-sep{display:none;}
  .site-nav .btn{margin:10px 24px 0; text-align:center;}
  .nav-toggle{display:block;}
  .soeurs-bar .wrap{justify-content:flex-start; overflow-x:auto; gap:20px; padding:8px 20px; -webkit-overflow-scrolling:touch;}
  .soeurs-bar a{flex:0 0 auto; white-space:nowrap;}
}
@media(max-width:680px){
  .lineages, .offers{grid-template-columns:1fr;}
  .lineage+.lineage, .offer+.offer{border-left:0; border-top:1px solid rgba(223,194,125,.24);}
  .code127-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .news-row{flex-direction:column;}
  .news button{width:100%;}
  .orb{filter:blur(12px);}
  .const-stage{width:90vw;}
  .const-ring .av{width:56px; height:56px; margin:-28px;}
  .const-ring .av:nth-child(1){transform:rotate(0deg) translate(140px) rotate(0deg);}
  .const-ring .av:nth-child(2){transform:rotate(51.4deg) translate(140px) rotate(-51.4deg);}
  .const-ring .av:nth-child(3){transform:rotate(102.8deg) translate(140px) rotate(-102.8deg);}
  .const-ring .av:nth-child(4){transform:rotate(154.2deg) translate(140px) rotate(-154.2deg);}
  .const-ring .av:nth-child(5){transform:rotate(205.6deg) translate(140px) rotate(-205.6deg);}
  .const-ring .av:nth-child(6){transform:rotate(257deg) translate(140px) rotate(-257deg);}
  .const-ring .av:nth-child(7){transform:rotate(308.4deg) translate(140px) rotate(-308.4deg);}
  .const-core{width:132px; height:132px; margin:-66px;}
}
@media(prefers-reduced-motion:reduce){*{animation:none !important;}
  .const-core .slide:first-child, .const-name span:first-child{opacity:1;}
}
