/* ═══════════════════════════════════════
   MAIN2 — index2.html
   ═══════════════════════════════════════ */

@font-face {
  font-family: 'Barbarian';
  src: url('../fonts/Barbarian.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

body { overflow-x: hidden; }

:root {
  --ink-red: rgba(196,43,43,.18);
  --ink-blue: rgba(59,111,212,.18);
  --ink-green: rgba(45,140,78,.18);
  --ink-gold: rgba(232,201,122,.18);
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: .35;
  mix-blend-mode: screen;
}

main,
.site-footer,
.quest-bar {
  position: relative;
}

/* ═══ SCROLL PROGRESS ═══ */
#scroll-progress {
  position: fixed; top: 0; left: 0; z-index: 9999;
  height: 2px; width: 0%;
  background: linear-gradient(to right, rgba(201,165,84,.3), var(--gold), var(--gold-light));
  box-shadow: 0 0 8px rgba(201,165,84,.4);
  transition: width .08s linear; pointer-events: none;
}

/* ═══ BACKGROUND STARS ═══ */
#stars { position: fixed; inset: 0; z-index: 0; pointer-events: none; }

/* ═══════════════════════════════
   HEADER
   ═══════════════════════════════ */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  background: linear-gradient(to bottom, rgba(8,11,22,.72) 0%, rgba(8,11,22,0) 100%);
  border-bottom: 1px solid rgba(201,165,84, 0);
  transition: background .4s ease, border-color .4s ease, backdrop-filter .4s ease;
}
.site-header.scrolled {
  background: rgba(8, 11, 22, .92);
  border-bottom-color: rgba(201,165,84, .12);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.header-inner {
  width: 100%;
  max-width: 1200px; margin: 0 auto;
  padding: 0 2rem;
  height: 68px;
  display: flex; align-items: center; gap: 2rem;
  box-sizing: border-box;
}

/* Logo */
.header-logo {
  display: flex; align-items: center; gap: .9rem;
  color: var(--gold); text-decoration: none; flex-shrink: 0;
}
.logo-sigil {
  width: auto;
  height: 58px;
  max-width: 58px;
  max-height: 58px;
  display: block;
  filter: drop-shadow(0 0 12px rgba(201,165,84,.4));
  object-fit: contain;
}
.logo-text { display: flex; flex-direction: column; line-height: 1; }
.logo-name {
  font-family: var(--font-head); font-size: .92rem;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold-light);
}
.logo-tag {
  font-family: var(--font-body); font-weight: 300;
  font-size: .63rem; letter-spacing: .15em;
  color: rgba(201,165,84,.72); margin-top: .25rem;
}

/* Nav links */
.header-nav {
  display: flex; gap: 2.2rem; align-items: center;
  flex: 1; justify-content: center;
}
.header-nav a {
  font-family: var(--font-head); font-size: .75rem;
  letter-spacing: .3em; text-transform: uppercase;
  color: rgba(201,165,84,.88);
  transition: color .25s;
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 .4rem;
}
.header-nav a::after {
  content: ''; position: absolute; bottom: 8px; left: .4rem; right: .4rem;
  height: 1px; background: var(--gold);
  transform: scaleX(0); transition: transform .25s;
  transform-origin: center;
}
.header-nav a:hover { color: var(--gold-light); }
.header-nav a:hover::after { transform: scaleX(1); }
.header-nav a[aria-current="page"] { color: var(--gold-light); }
.header-nav a[aria-current="page"]::after { transform: scaleX(1); }

/* Actions */
.header-actions { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }

/* Burger */
.nav-toggle {
  display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
  background: none; border: none; cursor: pointer;
  padding: 0; min-width: 44px; min-height: 44px;
}
.nav-toggle span {
  display: block; width: 22px; height: 1.5px;
  background: var(--gold); transition: transform .3s, opacity .3s;
}
.nav-toggle.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Mobile nav */
.mobile-nav {
  position: fixed; top: 68px; left: 0; right: 0; z-index: 490;
  background: rgba(8,11,22,.97); backdrop-filter: blur(20px);
  display: flex; flex-direction: column; gap: 0;
  border-bottom: 1px solid rgba(201,165,84,.1);
  transform: translateY(-110%); transition: transform .4s cubic-bezier(.22,1,.36,1);
  pointer-events: none; visibility: hidden;
}
.mobile-nav.open { transform: translateY(0); pointer-events: all; visibility: visible; }
.mobile-nav a {
  font-family: var(--font-head); font-size: .7rem;
  letter-spacing: .3em; text-transform: uppercase;
  color: rgba(201,165,84,.75);
  padding: 1.2rem 2rem;
  border-bottom: 1px solid rgba(201,165,84,.07);
  transition: color .2s, background .2s;
}
.mobile-nav a:hover { color: var(--gold-light); background: rgba(201,165,84,.04); }
.footer-nav-col a,
.rgpd a {
  background-image: linear-gradient(90deg, rgba(201,165,84,.2), var(--gold-light), rgba(201,165,84,.2));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: color .25s ease, background-size .45s cubic-bezier(.22,1,.36,1);
}
.footer-nav-col a:hover,
.rgpd a:hover {
  background-size: 100% 1px;
}

/* ═══════════════════════════════
   HERO
   ═══════════════════════════════ */
.hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: flex-end;
  padding: 0 0 8vh;
  overflow: hidden;
}

/* ═══ Animation d'entrée du hero ═══
   Image de fond : deflou dramatique
   Contenu : fade-up en cascade
   Note : !important nécessaire pour override `landscapeDrift` sur .hero-bg-img */
@keyframes heroDefocus {
  0%   {
    filter: brightness(.72) saturate(.85) blur(22px);
    transform: scale(1.12);
    opacity: 0;
  }
  60%  { opacity: 1; }
  100% {
    filter: brightness(.72) saturate(.85) blur(0);
    transform: scale(1.055);
    opacity: 1;
  }
}
@keyframes heroContentRise {
  0%   { opacity: 0; transform: translateY(24px); filter: blur(8px); }
  100% { opacity: 1; transform: translateY(0);    filter: blur(0);   }
}
.hero.is-revisit .hero-bg-img {
  animation: heroDefocus 2.2s cubic-bezier(.16,.7,.2,1) both !important;
}
.hero.is-revisit .hero-content > * {
  animation: heroContentRise 1s cubic-bezier(.2,.7,.2,1) both;
}
.hero.is-revisit .hero-eyebrow { animation-delay: .35s; }
.hero.is-revisit .hero-title   { animation-delay: .55s; }
.hero.is-revisit .hero-sub     { animation-delay: .8s;  }
.hero.is-revisit .hero-cta     { animation-delay: 1s;   }

@media (prefers-reduced-motion: reduce) {
  .hero.is-revisit .hero-bg-img,
  .hero.is-revisit .hero-content > * { animation: none !important; }
}

/* Background image */
.hero-bg {
  position: absolute; inset: 0; z-index: 0;
  overflow: hidden;
}
.hero-bg-img {
  width: 100%; height: 100%; object-fit: cover;
  object-position: center 20%;
  filter: brightness(.72) saturate(.85);
  transform: scale(1.055);
  animation: landscapeDrift 34s ease-in-out infinite alternate;
}
/* Pas d'image → fond de secours */
.hero-bg-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(8,11,22,.55) 0%,
    rgba(8,11,22,.2) 40%,
    rgba(8,11,22,.7) 75%,
    rgba(8,11,22,1) 100%
  );
}
.hero-bg-gradient {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 80% 60% at 25% 50%, rgba(0,0,0,.3) 0%, transparent 70%);
}
.hero-bg::before,
.hero-bg::after {
  content: '';
  position: absolute;
  inset: -12% -18%;
  pointer-events: none;
  mix-blend-mode: screen;
}
.hero-bg::before {
  background:
    radial-gradient(ellipse 42% 15% at 12% 26%, rgba(205,210,202,.32), transparent 68%),
    radial-gradient(ellipse 34% 12% at 45% 17%, rgba(230,220,198,.22), transparent 70%),
    radial-gradient(ellipse 46% 16% at 86% 30%, rgba(175,182,180,.28), transparent 72%);
  filter: blur(16px);
  opacity: .82;
  animation: cloudDriftSlow 38s linear infinite alternate;
}
.hero-bg::after {
  background:
    radial-gradient(ellipse 50% 18% at 28% 42%, rgba(95,105,108,.24), transparent 70%),
    radial-gradient(ellipse 38% 14% at 74% 24%, rgba(235,220,190,.16), transparent 72%),
    linear-gradient(95deg, transparent 0%, rgba(255,235,190,.08) 48%, transparent 64%);
  filter: blur(24px);
  opacity: .68;
  animation: cloudDriftDeep 54s linear infinite alternate;
}
@keyframes landscapeDrift {
  from { transform: scale(1.055) translate3d(-1.2%, .2%, 0); }
  to { transform: scale(1.09) translate3d(1.2%, -.7%, 0); }
}
@keyframes cloudDriftSlow {
  from { transform: translate3d(-9%, .4%, 0); }
  to { transform: translate3d(10%, -1.6%, 0); }
}
@keyframes cloudDriftDeep {
  from { transform: translate3d(8%, 1%, 0); }
  to { transform: translate3d(-11%, -1%, 0); }
}

/* Contenu */
.hero-content {
  position: relative; z-index: 1;
  width: min(640px, calc(100vw - 4rem));
  max-width: 640px; padding: 0 2rem 0 5vw;
}
.hero-eyebrow {
  font-family: var(--font-head); font-size: clamp(.95rem, 1.7vw, 1.2rem);
  letter-spacing: .32em; text-transform: uppercase;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0,0,0,.8);
  margin-bottom: 1.2rem;
}
.hero-title {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(2rem, 4.4vw, 3.65rem);
  line-height: 1.12; letter-spacing: .04em;
  color: #fff;
  text-shadow: 0 2px 40px rgba(0,0,0,.6);
  margin-bottom: 1.6rem;
}
.hero-title em {
  font-style: normal;
  color: var(--gold-light);
  text-shadow: 0 0 40px rgba(201,165,84,.4), 0 2px 40px rgba(0,0,0,.6);
}
.hero-sub {
  font-family: var(--font-body); font-weight: 300;
  font-size: clamp(.85rem, 1.3vw, 1rem);
  line-height: 1.8; letter-spacing: .06em;
  color: rgba(255,255,255,.72);
  margin-bottom: 2.4rem; max-width: 460px;
}
.hero-potions {
  font-weight: 700;
  background: linear-gradient(90deg, #e8c97a 0%, #fff6d6 35%, #c9a554 55%, #f0d898 75%, #b8922e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% auto;
  animation: chromaShimmer 3s linear infinite;
}
@keyframes chromaShimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-potions { animation: none; background-position: 0% center; }
}
.hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head); font-size: clamp(.65rem, 1vw, .78rem);
  letter-spacing: .28em; text-indent: .28em; text-transform: uppercase;
  color: var(--bg); background: var(--gold);
  padding: 1.1rem 2.8rem;
  transition: background .3s, transform .15s;
  position: relative; overflow: hidden;
}
.hero-cta::after {
  content: ''; position: absolute; top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  animation: shimmer 3s ease-in-out infinite;
}
.hero-cta:hover { background: var(--gold-light); color: var(--bg); box-shadow: 0 0 24px rgba(201,165,84,.45); }
@keyframes shimmer { 0% { left: -100%; } 50% { left: 120%; } 100% { left: 120%; } }

/* Scroll hint */
.scroll-hint {
  position: absolute; bottom: 2rem; right: 5vw; z-index: 1;
  opacity: .4; animation: bob 2s ease-in-out infinite;
  color: var(--gold);
}
.scroll-hint svg { width: 20px; height: 20px; }
@keyframes bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }

/* ═══════════════════════════════
   SECTION GUARANTEES
   ═══════════════════════════════ */
.section-guarantees {
  background: rgba(201,165,84,.04);
  border-top: 1px solid rgba(201,165,84,.12);
  border-bottom: 1px solid rgba(201,165,84,.12);
  position: relative; z-index: 2;
}
.section-guarantees,
.section-why,
.section-potions,
.section-science,
.section-forwho,
.section-almanach,
.section-founder,
.section-craft,
.section-testimonials,
.section-newsletter {
  box-shadow: inset 0 1px rgba(232,201,122,.08), inset 0 -1px rgba(0,0,0,.55);
}

/* Sections visibles par défaut — le JS ajoute .will-reveal avant d'observer */
.section-guarantees,
.section-why,
.section-potions,
.section-science,
.section-forwho,
.section-craft,
.section-testimonials,
.section-almanach,
.section-founder,
.section-newsletter {
  transition: opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
/* État caché : seulement si JS a pu s'exécuter */
.section-guarantees.will-reveal,
.section-why.will-reveal,
.section-potions.will-reveal,
.section-science.will-reveal,
.section-forwho.will-reveal,
.section-craft.will-reveal,
.section-testimonials.will-reveal,
.section-almanach.will-reveal,
.section-founder.will-reveal,
.section-newsletter.will-reveal {
  opacity: 0;
  transform: translateY(18px);
}
/* Visible : override will-reveal */
.section-guarantees.is-visible,
.section-why.is-visible,
.section-potions.is-visible,
.section-science.is-visible,
.section-forwho.is-visible,
.section-craft.is-visible,
.section-testimonials.is-visible,
.section-almanach.is-visible,
.section-founder.is-visible,
.section-newsletter.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.section-guarantees::after,
.section-why::after,
.section-potions::after,
.section-science::after,
.section-craft::after,
.section-almanach::after,
.section-founder::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: min(760px, 82vw);
  height: 1px;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  background: linear-gradient(90deg, transparent, rgba(232,201,122,.58), transparent);
  transition: transform 1.1s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.section-guarantees.is-visible::after,
.section-why.is-visible::after,
.section-potions.is-visible::after,
.section-science.is-visible::after,
.section-craft.is-visible::after,
.section-almanach.is-visible::after,
.section-founder.is-visible::after {
  transform: translateX(-50%) scaleX(1);
}
.guarantees-inner {
  max-width: 1100px; margin: 0 auto;
  padding: 4rem 2rem;
}
.guarantees-title {
  font-family: var(--font-head); font-weight: 400;
  font-size: clamp(.75rem, 1.5vw, .95rem);
  letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold-light); text-align: center;
  margin-bottom: 3rem;
}
.guarantees-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.guarantee-item {
  display: flex; gap: 1.4rem; align-items: flex-start;
  padding: 1.8rem 2.5rem;
  border-right: 1px solid rgba(201,165,84,.1);
}
.guarantee-item:last-child { border-right: none; }
.gi-icon {
  flex-shrink: 0; width: 44px; height: 44px;
  color: var(--gold);
}
.gi-icon svg { width: 100%; height: 100%; }
.gi-title {
  font-family: var(--font-head); font-size: .82rem;
  letter-spacing: .18em; text-transform: uppercase;
  color: #f0d88c; margin-bottom: .6rem;
}
.gi-desc {
  font-family: var(--font-body); font-weight: 400;
  font-size: .95rem; line-height: 1.75;
  color: rgba(232,222,202,.92); letter-spacing: .02em;
}

/* ═══════════════════════════════
   SECTION WHY
   ═══════════════════════════════ */
.section-why {
  position: relative; z-index: 2;
  background:
    linear-gradient(rgba(8,11,22,.85), rgba(8,11,22,.85)),
    repeating-linear-gradient(
      45deg,
      rgba(201,165,84,.015) 0px,
      rgba(201,165,84,.015) 1px,
      transparent 1px,
      transparent 12px
    );
  border-bottom: 1px solid rgba(201,165,84,.08);
}
.why-inner {
  max-width: 1100px; margin: 0 auto;
  padding: 5rem 2rem;
  display: flex; flex-direction: column; gap: 3rem;
}
.why-text {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.why-kicker {
  display: block;
  font-family: var(--font-head);
  font-size: .58rem;
  letter-spacing: .42em;
  text-transform: uppercase;
  color: rgba(201,165,84,.72);
  margin-bottom: 1.4rem;
}
.why-title {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  letter-spacing: .06em; line-height: 1.3;
  color: var(--gold-light); margin-bottom: 1.2rem;
}
.why-desc {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 400;
  font-style: italic;
  font-size: clamp(.95rem, 1.4vw, 1.1rem);
  line-height: 1.7;
  letter-spacing: .02em;
  color: rgba(232,222,202,.7);
  margin: 0;
}
.why-steps {
  display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch; gap: 0;
  overflow: visible;
}
.why-step.reveal-ready {
  opacity: 0;
  transition:
    opacity 1.4s cubic-bezier(.16,1,.3,1),
    transform 1.6s cubic-bezier(.16,1,.3,1);
}
.why-step.reveal-ready.visible {
  opacity: 1;
  transform: translateY(0) !important;
}

.why-step {
  flex: 1;
  display: flex; flex-direction: column; gap: 1rem;
  text-align: left;
  padding: 3.2rem 2.4rem 3rem;
  border: none;
  background: #0b0d1a;
  position: relative;
  overflow: visible;
  isolation: isolate;
  transition: background .3s;
}
.why-step:hover {
  background: #0e1020;
}
.why-step::before {
  content: '';
  position: absolute;
  top: -16px; left: -16px; right: -16px; bottom: -16px;
  background-image: url('../public/ornaments/frame-card-a.png');
  background-size: 286% 124%;
  background-position: 50% 40%;
  background-repeat: no-repeat;
  filter: invert(1) sepia(1) saturate(1.4) brightness(0.62);
  opacity: .88;
  pointer-events: none;
  z-index: 0;
}
.why-step > * {
  position: relative;
  z-index: 1;
}
.ws-num {
  font-family: var(--font-head); font-size: 2rem;
  color: rgba(240,216,140,.45); line-height: 1;
  align-self: center;
  display: block;
  text-align: center;
  width: 100%;
}
.ws-label {
  font-family: var(--font-head); font-size: .9rem;
  letter-spacing: .25em; text-transform: uppercase;
  color: #f0d88c;
  display: block;
  text-align: center;
  width: 100%;
}
.ws-desc {
  font-family: var(--font-body); font-weight: 300;
  font-size: .95rem; line-height: 1.75; letter-spacing: .025em;
  color: rgba(232,222,202,.78);
}
.why-arrow {
  font-family: var(--font-body); color: rgba(240,216,140,.4);
  font-size: 1.2rem; flex-shrink: 0;
  display: flex; align-items: center; padding: 0 .6rem;
}

/* ═══════════════════════════════
   SECTION POTIONS
   ═══════════════════════════════ */
.section-potions {
  position: relative; z-index: 2;
  background: var(--bg);
}
.potions-inner {
  max-width: 1140px; margin: 0 auto;
  padding: 6rem 2rem;
}
.potions-heading {
  font-family: var(--font-head); font-weight: 400;
  font-size: clamp(.8rem, 1.6vw, 1rem);
  letter-spacing: .35em; text-transform: uppercase;
  color: var(--gold-light); text-align: center;
  margin-bottom: 1.2rem;
}
.ornament {
  display: block;
  pointer-events: none;
  user-select: none;
}
.ornament-divider {
  width: min(500px, 52vw);
  margin: .1rem auto 2.9rem;
  opacity: .22;
  filter: drop-shadow(0 0 16px rgba(201,165,84,.06));
}
.ornament-divider-dark {
  animation: celestialBreathe 7.5s ease-in-out infinite alternate;
}
@keyframes celestialBreathe {
  from { opacity: .22; filter: drop-shadow(0 0 4px rgba(201,165,84,.06)) drop-shadow(0 0 0px rgba(201,165,84,0)) brightness(.88); }
  to   { opacity: .38; filter: drop-shadow(0 0 22px rgba(201,165,84,.55)) drop-shadow(0 0 7px rgba(201,165,84,.28)) brightness(1.13); }
}
@media (prefers-reduced-motion: reduce) {
  .ornament-divider-dark { animation: none; }
}

/* Grille potions */
.potions-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem; margin-bottom: 3rem;
}

/* Carte potion */
.p-card {
  cursor: pointer;
  background: rgba(10,12,24,.9);
  border: 1px solid rgba(201,165,84,.15);
  display: flex; flex-direction: column;
  transition: border-color .4s, transform .4s, box-shadow .4s;
  position: relative; overflow: hidden;
}
.p-card::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(201,165,84,.04), transparent 60%);
  pointer-events: none;
}
.p-card::after,
.testimonial-card::after {
  content: '';
  position: absolute;
  inset: -40%;
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), var(--ink, var(--ink-gold)), transparent 28%),
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.045), transparent 18%);
  opacity: 0;
  transform: scale(.96);
  transition: opacity .45s ease, transform .7s ease;
  pointer-events: none;
  mix-blend-mode: screen;
}
.p-card:hover::after,
.testimonial-card:hover::after {
  opacity: 1;
  transform: scale(1);
}
.p-card[data-potion="vita"]  { --pc: rgba(196,43,43,.5); --pcs: rgba(196,43,43,.12); }
.p-card[data-potion="mana"]  { --pc: rgba(59,111,212,.5); --pcs: rgba(59,111,212,.12); }
.p-card[data-potion="vigor"] { --pc: rgba(45,140,78,.5); --pcs: rgba(45,140,78,.12); }
.p-card[data-potion="vita"]  { --ink: var(--ink-red); }
.p-card[data-potion="mana"]  { --ink: var(--ink-blue); }
.p-card[data-potion="vigor"] { --ink: var(--ink-green); }

.p-card:hover {
  border-color: var(--pc);
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0,0,0,.5), 0 0 30px var(--pcs);
}

/* Header carte */
.p-card-header {
  padding: 2rem 1.8rem 1.5rem;
  display: flex; flex-direction: column; align-items: center; gap: 1.2rem;
  border-bottom: 1px solid rgba(201,165,84,.1);
}
.p-bottle-wrap { position: relative; }
.p-bottle-placeholder {
  width: 90px; height: 140px; margin: 0 auto;
  filter: drop-shadow(0 0 20px var(--pc, rgba(201,165,84,.3)));
  transition: filter .4s;
}
.p-card:hover .p-bottle-placeholder {
  filter: drop-shadow(0 0 32px var(--pc, rgba(201,165,84,.5)));
}
.p-bottle-placeholder svg { width: 100%; height: 100%; }

.p-card-title-wrap { text-align: center; }
.p-name {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(.95rem, 1.5vw, 1.1rem);
  letter-spacing: .12em; margin-bottom: .4rem;
}
.vita-color  { color: #e05050; }
.mana-color  { color: #6090e8; }
.vigor-color { color: #50c070; }

.p-discipline {
  font-family: var(--font-head); font-size: .5rem;
  letter-spacing: .22em; text-transform: uppercase;
  color: rgba(201,165,84,.72);
}

/* Corps carte */
.p-card-body {
  padding: 1.5rem 1.8rem;
  flex: 1;
}
.p-ingredients {
  font-family: var(--font-head); font-size: .58rem;
  letter-spacing: .2em; text-transform: uppercase;
  color: rgba(201,165,84,.6);
  border-top: 1px solid rgba(201,165,84,.1);
  border-bottom: 1px solid rgba(201,165,84,.1);
  padding: .7rem 0; margin-bottom: 1.2rem; text-align: center;
}
.p-benefits {
  list-style: none;
  font-family: var(--font-body); font-weight: 300;
  font-size: .82rem; line-height: 2; letter-spacing: .04em;
  color: rgba(201,165,84,.82);
}
.p-benefits li { display: flex; align-items: flex-start; gap: .6rem; }
.p-benefits li::before {
  content: '◆'; font-size: .4rem;
  color: var(--gold); flex-shrink: 0;
  text-shadow: 0 0 6px rgba(201,165,84,.4);
  margin-top: .45em;
}
.p-coffret {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(201,165,84,.12);
  display: grid;
  gap: .45rem;
}
.p-coffret span {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--font-head);
  font-size: .55rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(240,216,140,.72);
}
.p-coffret span::before {
  content: '✧';
  color: var(--gold-light);
  text-shadow: 0 0 10px rgba(240,216,140,.28);
  flex-shrink: 0;
}

/* Footer carte */
.p-card-footer {
  padding: 1.5rem 1.8rem;
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid rgba(201,165,84,.1);
}
.p-price {
  font-family: var(--font-head); font-size: 1.2rem;
  letter-spacing: .08em; color: var(--gold-light);
}
.p-cta {
  font-family: var(--font-head); font-size: .75rem;
  letter-spacing: .2em; text-transform: uppercase;
  padding: .7rem 1.4rem;
  transition: background .25s, color .25s;
}
.vita-btn  { background: rgba(196,43,43,.15); border: 1px solid rgba(196,43,43,.4); color: #e08080; }
.mana-btn  { background: rgba(59,111,212,.15); border: 1px solid rgba(59,111,212,.4); color: #80a0f0; }
.vigor-btn { background: rgba(45,140,78,.15); border: 1px solid rgba(45,140,78,.4); color: #60d080; }
.vita-btn:hover  { background: rgba(196,43,43,.3); color: #ffb0b0; }
.mana-btn:hover  { background: rgba(59,111,212,.3); color: #b0c8ff; }
.vigor-btn:hover { background: rgba(45,140,78,.3); color: #90ffb0; }

/* Pack Trinité Banner */
.pack-trinity-banner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 2.5rem 3rem;
  border: 1px solid rgba(201,165,84,.2);
  background: rgba(201,165,84,.04);
  position: relative; overflow: hidden;
}
.pack-trinity-banner::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
}
.ornamented-block::after {
  content: "";
  position: absolute;
  right: -26px;
  top: -28px;
  width: 170px;
  height: 120px;
  background: url("../public/ornaments/ornament-corner.png") no-repeat right top / contain;
  opacity: .2;
  filter: sepia(.45) saturate(.85) contrast(1.15);
  pointer-events: none;
}
.pt-badge {
  font-family: var(--font-head); font-size: .6rem;
  letter-spacing: .3em; text-transform: uppercase;
  color: rgba(201,165,84,.72); border: 1px solid rgba(201,165,84,.28);
  padding: .48rem 1rem; display: inline-block; margin-bottom: .8rem;
  position: relative; overflow: hidden;
  background: rgba(201,165,84,.035);
}
.pt-title {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  letter-spacing: .08em; color: #fff; margin-bottom: .4rem;
}
.pt-sub {
  font-family: var(--font-body); font-weight: 300;
  font-size: .85rem; letter-spacing: .06em;
  color: rgba(201,165,84,.75);
}
.pt-right {
  display: flex; align-items: center; gap: 2rem; flex-shrink: 0;
}
.pt-price-new {
  font-family: var(--font-head); font-size: 2.4rem;
  color: var(--gold-light); letter-spacing: .04em;
}
.pt-price-old {
  font-family: var(--font-body); font-size: .9rem;
  color: rgba(201,165,84,.4); text-decoration: line-through;
}
.pt-cta {
  font-family: var(--font-head); font-size: .62rem;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--bg); background: var(--gold);
  padding: 1rem 2rem;
  transition: background .25s;
}
.pt-cta:hover { background: var(--gold-light); color: var(--bg); }

.hero-cta,
.p-cta,
.pt-cta,
.almanach-cta,
.qb-cta,
.founder-form-row button,
.nl-form button {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.hero-cta .seal-ripple,
.p-cta .seal-ripple,
.pt-cta .seal-ripple,
.almanach-cta .seal-ripple,
.qb-cta .seal-ripple,
.founder-form-row button .seal-ripple,
.nl-form button .seal-ripple {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid rgba(255,248,220,.65);
  background: radial-gradient(circle, rgba(255,248,220,.22), transparent 68%);
  transform: translate(-50%, -50%) scale(.2);
  opacity: .75;
  pointer-events: none;
  animation: sealPress .72s ease-out forwards;
  z-index: 0;
}
@keyframes sealPress {
  0% { transform: translate(-50%, -50%) scale(.2); opacity: .8; }
  45% { opacity: .5; }
  100% { transform: translate(-50%, -50%) scale(10); opacity: 0; }
}

/* ═══════════════════════════════
   SECTION SCIENCE
   ═══════════════════════════════ */
.section-science {
  position: relative; z-index: 2;
  background:
    linear-gradient(rgba(10,12,22,.92), rgba(10,12,22,.92)),
    repeating-linear-gradient(
      -45deg,
      rgba(201,165,84,.018) 0px,
      rgba(201,165,84,.018) 1px,
      transparent 1px,
      transparent 14px
    );
  border-top: 1px solid rgba(201,165,84,.08);
  border-bottom: 1px solid rgba(201,165,84,.08);
}
.science-inner {
  max-width: 1100px; margin: 0 auto;
  padding: 6rem 2rem;
}
.proof-inner { padding-top: 5rem; padding-bottom: 5rem; }
.science-header {
  text-align: center; margin-bottom: 3.5rem;
}
.proof-header { max-width: 760px; margin-left: auto; margin-right: auto; }
.proof-kicker {
  font-family: var(--font-head); font-size: clamp(.78rem, 1.35vw, 1rem);
  letter-spacing: .32em; text-transform: uppercase;
  color: rgba(201,165,84,.68); margin-bottom: 1rem;
}
.science-title {
  font-family: var(--font-head); font-weight: 400;
  font-size: clamp(1.25rem, 2.8vw, 2rem);
  letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: .8rem;
}
.science-sub {
  font-family: var(--font-body); font-weight: 300;
  font-size: .9rem; letter-spacing: .06em;
  color: rgba(201,165,84,.7); line-height: 1.8;
}
.proof-layout {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 1.2rem; margin-bottom: 1.2rem;
}
.proof-main,
.proof-card {
  border: 1px solid rgba(201,165,84,.16);
  background: linear-gradient(145deg, rgba(201,165,84,.055), rgba(201,165,84,.018)), rgba(8,11,22,.42);
  position: relative;
}
.proof-main {
  min-height: 310px;
  padding: 2.8rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}
.proof-ornament {
  position: absolute;
  right: 1.4rem;
  bottom: 1rem;
  width: min(190px, 30%);
  opacity: .18;
  filter: sepia(.22) saturate(.85) drop-shadow(0 0 14px rgba(201,165,84,.06));
  pointer-events: none;
}
.proof-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 1.2rem; }
.proof-card { padding: 2rem; }
.proof-main::before,
.proof-card::before,
.trust-item::before {
  content: ''; position: absolute; inset: 10px;
  border: 1px solid rgba(201,165,84,.08); pointer-events: none;
}
.proof-step {
  position: relative;
  z-index: 2;
  font-family: var(--font-head); font-size: .66rem;
  letter-spacing: .24em; color: rgba(201,165,84,.65);
  display: inline-block; margin-bottom: 1rem;
}
.proof-main h3,
.proof-card h3 {
  position: relative;
  z-index: 2;
  font-family: var(--font-head); font-weight: 500;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  letter-spacing: .08em; color: var(--gold-light); margin-bottom: .8rem;
}
.proof-card h3 { font-size: 1.08rem; }
.proof-main p,
.proof-card p {
  position: relative;
  z-index: 2;
  font-family: var(--font-body); font-weight: 300;
  font-size: .98rem; line-height: 1.85;
  color: rgba(201,165,84,.78); letter-spacing: .035em;
}
.trust-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0; border: 1px solid rgba(201,165,84,.16);
  border-bottom: 0; background: rgba(201,165,84,.025);
}
.trust-item {
  position: relative; min-height: 175px; padding: 1.7rem 1.5rem;
  border-right: 1px solid rgba(201,165,84,.12);
  display: flex; flex-direction: column; justify-content: center; text-align: center;
}
.trust-item:last-child { border-right: 0; }
.trust-mark {
  font-family: var(--font-head); font-size: 1.45rem;
  letter-spacing: .16em; color: var(--gold-light); margin-bottom: .8rem;
}
.trust-item p {
  font-family: var(--font-body); font-weight: 300;
  font-size: .8rem; line-height: 1.7; letter-spacing: .03em;
  color: rgba(201,165,84,.72);
}
/* Transparency bar */
.transparency-bar {
  position: relative;
  overflow: hidden;
  padding: 2.8rem 3rem;
  background:
    radial-gradient(circle at 50% 0%, rgba(201,165,84,.08), transparent 26rem),
    linear-gradient(90deg, rgba(201,165,84,.035), rgba(201,165,84,.012), rgba(201,165,84,.035));
}
.tb-balance {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 220px;
  opacity: .1;
  filter: invert(1) brightness(1.4);
  pointer-events: none;
  user-select: none;
}
.tb-title {
  font-family: var(--font-head);
  font-size: clamp(.76rem, 1.4vw, .95rem);
  letter-spacing: .22em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(232,211,159,.76);
  margin-bottom: 2rem;
}
.tb-items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem;
}
.tb-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 112px;
  text-align: center;
  font-family: var(--font-head);
  font-weight: 500;
  font-size: .78rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(232,222,202,.76);
}
.tb-cross {
  color: rgba(201,165,84,.72);
  font-family: var(--font-body);
  font-size: 1.35rem;
  line-height: 1;
}

/* ═══════════════════════════════
   SECTION FOR WHO
   ═══════════════════════════════ */
.section-forwho {
  position: relative; z-index: 2;
}
.forwho-inner {
  max-width: 1100px; margin: 0 auto;
  padding: 5rem 2rem;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0;
  position: relative;
}
.forwho-inner::before {
  content: '';
  position: absolute;
  inset: 5rem 2rem;
  border: 1px solid rgba(201,165,84,.12);
  pointer-events: none;
  z-index: 1;
}
.fw-col {
  position: relative;
  z-index: 2;
  padding: 2.5rem 2.8rem;
  border-right: 1px solid rgba(201,165,84,.1);
}
.fw-col:last-child { border-right: none; }
.fw-no { background: rgba(0,0,0,.2); }
.fw-guarantee {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; background: rgba(201,165,84,.03);
}
.fw-title {
  font-family: var(--font-head); font-size: .72rem;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: 1.4rem;
}
.fw-list {
  list-style: none;
  font-family: var(--font-body); font-weight: 300;
  font-size: .88rem; line-height: 2.2; letter-spacing: .04em;
  color: rgba(201,165,84,.82);
}
.fw-list li { display: flex; align-items: center; gap: .6rem; }
.fw-list li::before { content: '✓'; color: var(--gold); font-size: .85rem; }
.no-list li::before { content: '✕'; color: rgba(201,165,84,.4); }

/* Badge 30 jours */
.fw-badge {
  width: 90px; height: 90px; border-radius: 50%;
  border: 2px solid var(--gold);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  margin: 0 auto 1.2rem;
  box-shadow: 0 0 20px rgba(201,165,84,.15), inset 0 0 20px rgba(201,165,84,.06);
}
.fw-badge-num {
  font-family: var(--font-head); font-size: 1.8rem;
  color: var(--gold-light); line-height: 1;
}
.fw-badge-label {
  font-family: var(--font-head); font-size: .42rem;
  letter-spacing: .3em; color: rgba(201,165,84,.6);
}
.fw-guarantee-text {
  font-family: var(--font-body); font-weight: 300;
  font-size: .85rem; line-height: 1.8; letter-spacing: .03em;
  color: rgba(201,165,84,.75);
}

/* ═══════════════════════════════
   SECTION ALMANACH
   ═══════════════════════════════ */
.section-almanach {
  position: relative; z-index: 2;
  background:
    linear-gradient(rgba(8,11,22,.88), rgba(8,11,22,.88)),
    repeating-linear-gradient(
      0deg,
      rgba(201,165,84,.012) 0px, rgba(201,165,84,.012) 1px,
      transparent 1px, transparent 20px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(201,165,84,.012) 0px, rgba(201,165,84,.012) 1px,
      transparent 1px, transparent 20px
    );
  border-top: 1px solid rgba(201,165,84,.1);
  border-bottom: 1px solid rgba(201,165,84,.1);
}
.almanach-inner {
  max-width: 700px; margin: 0 auto;
  padding: 6rem 2rem; text-align: center;
  position: relative;
}
.almanach-book-ornament {
  position: absolute;
  right: -8rem;
  top: 1.2rem;
  width: min(360px, 34vw);
  opacity: .16;
  filter: drop-shadow(0 0 20px rgba(226,213,178,.05));
  pointer-events: none;
}
.almanach-title {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(1.1rem, 2.2vw, 1.7rem);
  letter-spacing: .06em; color: var(--gold-light);
  margin-bottom: 1.2rem; margin-top: 0;
}
.almanach-sub {
  font-family: var(--font-body); font-weight: 300;
  font-size: clamp(.85rem, 1.3vw, .98rem);
  line-height: 1.9; letter-spacing: .06em;
  color: rgba(201,165,84,.75); margin-bottom: 2.5rem;
}
.almanach-cta {
  display: inline-block;
  font-family: var(--font-head); font-size: .65rem;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--bg); background: var(--gold);
  padding: 1.1rem 2.6rem;
  transition: background .3s;
}
.almanach-cta:hover { background: var(--gold-light); color: var(--bg); }

/* ═══════════════════════════════
   SECTION FOUNDER
   ═══════════════════════════════ */
.section-founder {
  position: relative; z-index: 2;
  background: rgba(5,7,16,.97);
  border-top: 1px solid rgba(201,165,84,.12);
}
.founder-inner {
  max-width: 1100px; margin: 0 auto;
  padding: 6rem 2rem;
  display: grid; grid-template-columns: 1fr 1.2fr;
  gap: 5rem; align-items: center;
}
.founder-pack-visual {
  margin: 0;
  border: 1px solid rgba(201,165,84,.18);
  background:
    radial-gradient(ellipse 80% 65% at 50% 45%, rgba(201,165,84,.1), transparent 64%),
    rgba(201,165,84,.025);
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.founder-pack-visual::before,
.founder-pack-visual::after {
  content: '';
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(201,165,84,.12);
  pointer-events: none;
}
.founder-pack-visual::after {
  inset: 20px;
  border-color: rgba(201,165,84,.06);
}
.founder-pack-visual img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  object-position: center;
  filter: saturate(.9) contrast(1.05);
}

/* ═══ CRAFT / PROOF BAND ═══ */
.section-craft {
  position: relative;
  z-index: 2;
  background:
    linear-gradient(rgba(8,11,22,.9), rgba(8,11,22,.92)),
    repeating-linear-gradient(90deg, rgba(201,165,84,.015) 0 1px, transparent 1px 18px);
  border-top: 1px solid rgba(201,165,84,.12);
  border-bottom: 1px solid rgba(201,165,84,.12);
}
.craft-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 3rem 2rem;
  display: grid;
  grid-template-columns: 1.1fr 1.2fr 1fr;
  gap: 1.4rem;
  align-items: stretch;
}
.craft-copy,
.craft-visual-placeholder,
.craft-seals {
  border: 1px solid rgba(201,165,84,.16);
  background: rgba(201,165,84,.025);
}
.craft-copy {
  padding: 2rem;
}
.craft-kicker {
  font-family: var(--font-head);
  font-size: .62rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: rgba(201,165,84,.55);
  margin-bottom: .8rem;
}
.craft-title {
  font-family: var(--font-head);
  font-weight: 500;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.35;
  color: var(--gold-light);
  margin-bottom: 1rem;
}
.craft-text {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: .88rem;
  line-height: 1.85;
  color: rgba(201,165,84,.78);
}
.craft-visual-placeholder {
  min-height: 280px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  background:
    radial-gradient(ellipse 70% 45% at 50% 50%, rgba(201,165,84,.08), transparent 68%),
    repeating-linear-gradient(135deg, rgba(201,165,84,.035) 0 1px, transparent 1px 12px),
    rgba(201,165,84,.025);
}
.craft-visual-placeholder::before {
  content: '';
  position: absolute;
  inset: 12px;
  border: 1px dashed rgba(201,165,84,.18);
  pointer-events: none;
}
.craft-visual-placeholder p {
  max-width: 340px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: .82rem;
  line-height: 1.75;
  letter-spacing: .035em;
  color: rgba(201,165,84,.68);
}
.craft-visual-image {
  min-height: 320px;
  padding: 0;
  overflow: hidden;
  align-items: stretch;
  justify-content: flex-end;
}
.craft-visual-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.62) contrast(1.08) saturate(.86);
  transform: scale(1.01);
}
.craft-visual-image::before {
  inset: 0;
  z-index: 1;
  border: 0;
  background:
    linear-gradient(0deg, rgba(5,7,16,.82) 0%, rgba(5,7,16,.28) 52%, rgba(5,7,16,.08) 100%),
    linear-gradient(90deg, rgba(5,7,16,.34), transparent 48%, rgba(5,7,16,.2));
}
.craft-seals {
  display: grid;
  grid-template-columns: 1fr;
}
.craft-seal {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-bottom: 1px solid rgba(201,165,84,.12);
  padding: 1rem 1.15rem;
}
.craft-seal:last-child {
  border-bottom: 0;
}
.craft-seal span {
  font-family: var(--font-head);
  font-size: 1.35rem;
  color: var(--gold-light);
  letter-spacing: .16em;
}
.craft-seal small {
  font-family: var(--font-head);
  font-size: .5rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(201,165,84,.52);
  margin-top: .35rem;
}
.craft-seal p {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: .72rem;
  line-height: 1.55;
  letter-spacing: .025em;
  color: rgba(201,165,84,.66);
  margin-top: .6rem;
  max-width: 210px;
}

/* ═══ TESTIMONIAL PARCHMENT ═══ */
.section-testimonials {
  position: relative;
  z-index: 2;
  background:
    linear-gradient(rgba(232,222,202,.9), rgba(211,196,170,.92)),
    repeating-linear-gradient(0deg, rgba(80,55,30,.04) 0 1px, transparent 1px 9px);
  color: #24180d;
  border-top: 1px solid rgba(201,165,84,.3);
  border-bottom: 1px solid rgba(201,165,84,.3);
}
.testimonials-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 3rem 2rem;
}
.testimonials-title {
  font-family: var(--font-head);
  font-weight: 500;
  font-size: clamp(1rem, 2vw, 1.45rem);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
  color: #2a1a0d;
  margin-bottom: 1.8rem;
}
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.testimonial-card {
  margin: 0;
  padding: 1.35rem 1.4rem;
  border: 1px solid rgba(80,55,30,.22);
  background: rgba(255,250,238,.35);
  min-height: 145px;
}
.testimonial-card p {
  font-family: var(--font-body);
  font-size: .86rem;
  line-height: 1.75;
  color: rgba(36,24,13,.82);
  margin-bottom: 1rem;
}
.testimonial-card cite {
  font-family: var(--font-head);
  font-style: normal;
  font-size: .62rem;
  letter-spacing: .16em;
  color: rgba(36,24,13,.72);
}
.founder-badge-wrap { margin-bottom: 1rem; }
.founder-badge-pill {
  font-family: var(--font-head); font-size: .6rem;
  letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold-light); border: 1px solid rgba(240,216,140,.5);
  padding: .5rem 1.15rem;
  position: relative; overflow: hidden; display: inline-block;
  background: linear-gradient(120deg, rgba(201,165,84,.08), rgba(255,255,255,.04), rgba(201,165,84,.08));
  box-shadow: inset 0 0 22px rgba(255,255,255,.04), 0 0 22px rgba(201,165,84,.12);
}
.founder-badge-pill::after {
  content: '';
  position: absolute;
  inset: -45% -70%;
  background: linear-gradient(
    105deg,
    transparent 28%,
    rgba(255,255,255,.04) 36%,
    rgba(255,244,232,.9) 44%,
    rgba(255,177,208,.72) 50%,
    rgba(183,154,255,.64) 57%,
    rgba(255,255,255,.12) 64%,
    transparent 74%
  );
  transform: translateX(-65%) rotate(7deg);
  animation: iridescentSweep 5.8s ease-in-out infinite;
  mix-blend-mode: screen;
  pointer-events: none;
}
@keyframes iridescentSweep {
  0%, 34% { transform: translateX(-68%) rotate(7deg); opacity: 0; }
  43% { opacity: .95; }
  58% { transform: translateX(68%) rotate(7deg); opacity: .75; }
  72%, 100% { transform: translateX(68%) rotate(7deg); opacity: 0; }
}
.founder-title {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  letter-spacing: .06em; color: #fff;
  margin-bottom: 1.8rem;
}
.founder-perks {
  list-style: none;
  font-family: var(--font-body); font-weight: 300;
  font-size: .9rem; line-height: 2.2; letter-spacing: .04em;
  color: rgba(201,165,84,.85); margin-bottom: 2.5rem;
}
.founder-perks li { display: flex; align-items: center; gap: .8rem; }
.founder-perks li::before {
  content: '✦'; color: var(--gold);
  text-shadow: 0 0 8px rgba(201,165,84,.5); flex-shrink: 0;
}

/* Compteur */
.founder-counter { margin-bottom: 2.5rem; }
.fc-number {
  font-family: var(--font-head);
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1; letter-spacing: .04em;
  color: var(--gold-light);
  display: flex; align-items: baseline; gap: .3rem;
}
.fc-slash { color: rgba(201,165,84,.35); font-size: .7em; }
.fc-total { color: rgba(201,165,84,.35); font-size: .6em; }
.fc-label {
  font-family: var(--font-head); font-size: .58rem;
  letter-spacing: .3em; text-transform: uppercase;
  color: rgba(201,165,84,.5); margin-top: .4rem;
}

/* Formulaire Fondateur */
.hp { position: absolute; left: -9999px; }
.founder-form-row {
  display: flex; gap: 0; margin-bottom: .8rem;
}
.founder-form-row input[type="email"] {
  flex: 1; background: rgba(201,165,84,.06);
  border: 1px solid rgba(201,165,84,.25); border-right: none;
  color: var(--gold-light); font-family: var(--font-body);
  font-size: .88rem; letter-spacing: .05em;
  padding: .9rem 1.2rem; outline: none;
  transition: border-color .3s, background .3s;
}
.founder-form-row input::placeholder { color: rgba(201,165,84,.4); }
.founder-form-row input:focus {
  border-color: var(--gold); background: rgba(201,165,84,.1);
}
.founder-form-row button {
  background: var(--gold); border: 1px solid var(--gold);
  color: var(--bg); font-family: var(--font-head);
  font-size: .62rem; letter-spacing: .2em; text-transform: uppercase;
  padding: .9rem 1.6rem; cursor: pointer; white-space: nowrap;
  transition: background .25s;
}
.founder-form-row button:hover { background: var(--gold-light); }
.founder-form-row button:disabled { opacity: .6; cursor: not-allowed; }
.rgpd {
  display: flex; align-items: flex-start; gap: .5rem;
  font-size: .78rem; color: rgba(201,165,84,.7); line-height: 1.6;
}
.rgpd input[type="checkbox"] { accent-color: var(--gold); margin-top: 2px; flex-shrink: 0; }
.rgpd a { color: rgba(201,165,84,.6); text-decoration: underline; }
.form-feedback {
  display: none; font-family: var(--font-head); font-size: .72rem;
  letter-spacing: .15em; margin-top: .8rem;
}
.form-feedback.success { color: var(--gold-light); display: block; }
.form-feedback.error { color: #e06060; display: block; }

/* ═══════════════════════════════
   SECTION NEWSLETTER
   ═══════════════════════════════ */
.section-newsletter {
  position: relative; z-index: 2;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 15%, rgba(255,248,220,.42), transparent 24%),
    radial-gradient(circle at 86% 78%, rgba(87,56,25,.14), transparent 28%),
    linear-gradient(90deg, rgba(36,24,15,.18), transparent 18%, transparent 82%, rgba(36,24,15,.18)),
    linear-gradient(180deg, #d9c7aa 0%, #cdb995 52%, #bca884 100%);
  border-top: 3px solid rgba(10,11,12,.9);
  border-bottom: 3px solid rgba(10,11,12,.9);
  box-shadow:
    inset 0 1px 0 rgba(255,248,220,.35),
    inset 0 -1px 0 rgba(60,38,18,.35);
}
.nl-ornament {
  position: absolute;
  bottom: -6px;
  z-index: 0;
  width: min(190px, 16vw);
  opacity: .28;
  mix-blend-mode: multiply;
  filter: sepia(.34) saturate(.62) contrast(.96) brightness(1.12);
}
.nl-ornament-left { left: 1.2rem; }
.newsletter-inner {
  position: relative; z-index: 1;
  max-width: 1200px; margin: 0 auto;
  padding: 2.2rem 2rem;
  display: flex; align-items: center; gap: 4rem;
}
.nl-left {
  flex: 1;
  padding-left: clamp(1.5rem, 4vw, 4.5rem);
}
.nl-title {
  font-family: var(--font-head); font-weight: 400;
  font-size: clamp(1rem, 1.65vw, 1.45rem);
  letter-spacing: .12em; text-transform: uppercase;
  color: #21170d; margin-bottom: .55rem;
  text-shadow: 0 1px 0 rgba(255,248,220,.35);
}
.nl-sub {
  font-family: var(--font-body); font-weight: 300;
  font-size: .95rem; line-height: 1.65; letter-spacing: .035em;
  color: rgba(33,23,13,.43);
}
.nl-right { flex-shrink: 0; }
.nl-form {
  display: flex; gap: 0;
  box-shadow: 0 10px 26px rgba(36,24,15,.14);
}
.nl-form input[type="email"] {
  width: 320px; background: rgba(255,248,220,.26);
  border: 1px solid rgba(36,24,15,.28); border-right: none;
  color: #21170d; font-family: var(--font-body);
  font-size: .85rem; letter-spacing: .05em;
  padding: .85rem 1.2rem; outline: none;
  transition: border-color .3s, background .3s;
}
.nl-form input::placeholder { color: rgba(33,23,13,.48); text-transform: uppercase; }
.nl-form input:focus {
  border-color: rgba(33,23,13,.58);
  background: rgba(255,248,220,.46);
}
.nl-form button {
  background: #0b0d12; border: 1px solid rgba(36,24,15,.72);
  color: #c9a554; font-family: var(--font-head);
  font-size: .6rem; letter-spacing: .2em; text-transform: uppercase;
  padding: .85rem 1.6rem; cursor: pointer; white-space: nowrap;
  transition: background .25s, color .25s, border-color .25s;
}
.nl-form button:hover {
  background: #15110b;
  color: #f0d88c;
  border-color: rgba(201,165,84,.55);
}
.nl-privacy {
  margin-top: .55rem;
  font-family: var(--font-body);
  font-size: .68rem;
  letter-spacing: .04em;
  color: rgba(33,23,13,.58);
}
.nl-privacy a {
  color: rgba(33,23,13,.68);
  text-decoration: underline;
}

/* ═══════════════════════════════
   FOOTER
   ═══════════════════════════════ */
.site-footer {
  position: relative; z-index: 2;
  border-top: 1px solid rgba(201,165,84,.12);
  padding: 4rem 0 0;
}
.footer-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 0 2rem 3rem;
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
  gap: 2.5rem;
}
.footer-logo {
  display: flex; align-items: center; gap: 1rem;
  color: var(--gold); text-decoration: none; margin-bottom: 1rem;
}
.footer-sigil { height: 52px; width: auto; }
.footer-logo-name {
  display: block; font-family: var(--font-head); font-size: .95rem;
  letter-spacing: .2em; text-transform: uppercase; color: var(--gold-light);
}
.footer-logo-tag {
  display: block; font-family: var(--font-body); font-weight: 300;
  font-size: .64rem; letter-spacing: .12em;
  color: rgba(201,165,84,.65); margin-top: .2rem;
}
.footer-nav-col { display: flex; flex-direction: column; gap: .7rem; }
.footer-col-title {
  font-family: var(--font-head); font-size: .6rem;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: .5rem;
}
.footer-nav-col a {
  font-family: var(--font-body); font-weight: 300;
  font-size: .8rem; letter-spacing: .06em;
  color: rgba(201,165,84,.6);
  transition: color .25s;
}
.footer-nav-col a:hover { color: var(--gold-light); }
.footer-muted {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: .8rem;
  letter-spacing: .06em;
  color: rgba(201,165,84,.62);
}
.footer-bottom {
  border-top: 1px solid rgba(201,165,84,.08);
  padding: 1.5rem 2rem;
  max-width: 1200px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
}
.footer-bottom p, .footer-bottom a {
  font-family: var(--font-body); font-weight: 300;
  font-size: .75rem; letter-spacing: .08em;
  color: rgba(201,165,84,.65);
}
.footer-bottom a:hover { color: rgba(201,165,84,.88); }

/* ═══════════════════════════════
   QUEST BAR
   ═══════════════════════════════ */
.quest-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 400;
  height: 60px;
  background: rgba(5,7,16,.96); backdrop-filter: blur(20px);
  border-top: 1px solid rgba(201,165,84,.14);
  transform: translateY(100%);
  transition: transform .55s cubic-bezier(.22,1,.36,1);
}
.quest-bar.qb-visible { transform: translateY(0); }
.quest-bar::before {
  content: ''; position: absolute; top: -1px; left: -40%; width: 40%; height: 2px;
  background: linear-gradient(90deg,
    transparent,
    #ff6eb4 15%,
    #ff9f40 28%,
    #fff060 42%,
    #60ffb0 57%,
    #40d0ff 70%,
    #c060ff 83%,
    transparent
  );
  animation: qbShimmer 5s ease-in-out infinite; pointer-events: none;
}
.quest-bar::after {
  content: ''; position: absolute; top: -3px; left: -40%; width: 40%; height: 8px;
  background: linear-gradient(90deg,
    transparent,
    rgba(255,110,180,.5) 15%,
    rgba(255,159,64,.5) 28%,
    rgba(255,240,96,.5) 42%,
    rgba(96,255,176,.5) 57%,
    rgba(64,208,255,.5) 70%,
    rgba(192,96,255,.5) 83%,
    transparent
  );
  filter: blur(3px);
  animation: qbShimmer 5s ease-in-out infinite; pointer-events: none;
}
@keyframes qbShimmer { 0% { left: -40%; } 100% { left: 140%; } }
.qb-inner {
  max-width: 1200px; margin: 0 auto; height: 100%;
  display: flex; align-items: center; padding: 0 2rem; gap: 1.5rem;
}
.qb-sigil { flex-shrink: 0; width: 32px; height: 32px; color: var(--gold); opacity: .7; }
.qb-center { flex: 1; text-align: center; line-height: 1; }
.qb-label {
  display: block; font-family: var(--font-head); font-size: .48rem;
  letter-spacing: .35em; text-transform: uppercase;
  margin-bottom: .25rem;
  background: linear-gradient(90deg,
    #c9a554 0%, #f0d98a 25%, #fff4cc 45%, #e8c97a 60%, #b8813a 75%, #c9a554 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: chromaShimmer 2.4s linear infinite;
  filter: drop-shadow(0 0 6px rgba(201,165,84,.55)) drop-shadow(0 0 14px rgba(201,165,84,.25));
}
.qb-count {
  font-family: var(--font-head); font-size: .65rem;
  letter-spacing: .12em; color: rgba(201,165,84,.75);
}
.qb-count strong {
  color: var(--gold-light); font-size: .8rem;
  display: inline-block;
  animation: qbGlow 3s ease-in-out infinite;
}
@keyframes qbGlow {
  0%, 100% { text-shadow: 0 0 4px rgba(201,165,84,.2); opacity: .85; }
  50%       { text-shadow: 0 0 8px rgba(201,165,84,1), 0 0 20px rgba(201,165,84,.8), 0 0 40px rgba(201,165,84,.4); opacity: 1; }
}
.qb-cta {
  flex-shrink: 0; font-family: var(--font-head); font-size: .56rem;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--bg); background: var(--gold); padding: .65rem 1.5rem;
  transition: background .25s;
}
.qb-cta:hover { background: var(--gold-light); color: var(--bg); }

/* ═══════════════════════════════
   RESPONSIVE
   ═══════════════════════════════ */
@media (max-width: 900px) {
  /* Header */
  .header-nav { display: none; }
  .nav-toggle { display: flex; }
  .logo-tag { display: none; }
  .logo-sigil { width: 44px; height: 44px; max-width: 44px; max-height: 44px; }

  /* Hero */
  .hero-content { padding: 0 1.5rem; }

  /* Carousel potions */
  .potions-grid {
    display: flex; flex-wrap: nowrap;
    overflow-x: auto; scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 1rem; padding: 0 1.5rem 1.5rem;
    margin: 0 -1.5rem 2rem;
    scrollbar-width: none;
  }
  .potions-grid::-webkit-scrollbar { display: none; }
  .potions-grid .p-card {
    flex: 0 0 82vw; max-width: 340px;
    scroll-snap-align: center;
    align-self: stretch;
  }
  .potions-grid::before,
  .potions-grid::after { content: ''; flex: 0 0 0.5rem; flex-shrink: 0; }

  /* Guarantees */
  .guarantees-inner { padding: 3rem 1.5rem; }
  .guarantees-grid { grid-template-columns: 1fr; }
  .guarantee-item { border-right: none; border-bottom: 1px solid rgba(201,165,84,.1); padding: 1.2rem 1.5rem; }
  .guarantee-item:last-child { border-bottom: none; }

  /* Why */
  .why-inner { padding: 4rem 1.5rem; gap: 2rem; }
  .why-steps { grid-template-columns: 1fr; }
  .why-arrow { display: none; }
  .why-step { flex: none; }
  .why-step::before {
    top: -12px; left: -12px; right: -12px; bottom: -12px;
    background-size: 286% auto;
    background-position: 50% 38%;
  }
  .section-why { overflow-x: hidden; }

  /* Proof / Science */
  .proof-layout { grid-template-columns: 1fr; }
  .proof-main { min-height: auto; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); border-bottom: 1px solid rgba(201,165,84,.16); }
  .trust-item { border-bottom: 1px solid rgba(201,165,84,.12); }
  .trust-item:nth-child(2n) { border-right: 0; }
  .trust-item:nth-last-child(-n+2) { border-bottom: 0; }

  /* For who */
  .forwho-inner { grid-template-columns: 1fr; padding: 3rem 1.5rem; }
  .forwho-inner::before { display: none; }
  .fw-col,
  .fw-col:first-child { border-left: none; border-right: none; border-bottom: 1px solid rgba(201,165,84,.1); padding: 2rem 1.5rem; }
  .fw-col:last-child { border-bottom: none; }

  /* Founder */
  .founder-inner { grid-template-columns: 1fr; gap: 2.5rem; padding: 4rem 1.5rem; }
  .founder-left { display: none; }

  /* Craft */
  .craft-inner { grid-template-columns: 1fr; }
  .craft-seals { grid-template-columns: repeat(3, 1fr); }
  .craft-seal { border-bottom: 0; border-right: 1px solid rgba(201,165,84,.12); }
  .craft-seal:last-child { border-right: 0; }

  /* Almanach */
  .almanach-book-ornament { display: none; }
  .almanach-inner { padding: 4rem 1.5rem; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns: 1fr; }

  /* Pack trinity */
  .pack-trinity-banner { flex-direction: column; gap: 1.5rem; text-align: center; }
  .pt-right { flex-direction: column; gap: 1rem; }

  /* Newsletter */
  .newsletter-inner { flex-direction: column; gap: 1.5rem; padding: 2.5rem 1.5rem; }
  .nl-left { padding-left: 0; }
  .nl-ornament { display: none; }
  .nl-form { flex-direction: column; }
  .nl-form input[type="email"] { width: 100%; border-right: 1px solid rgba(36,24,15,.28); border-bottom: none; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 1.5rem; padding-bottom: 2rem; }
  .footer-bottom { flex-direction: column; gap: .5rem; text-align: center; }
}

@media (max-height: 760px) and (min-width: 901px) {
  .hero {
    padding-bottom: 5vh;
  }
  .hero-title {
    font-size: clamp(2rem, 3.7vw, 3.05rem);
    line-height: 1.08;
    margin-bottom: 1.1rem;
  }
  .hero-eyebrow {
    font-size: .92rem;
    margin-bottom: .9rem;
  }
  .hero-sub {
    font-size: .88rem;
    line-height: 1.65;
    margin-bottom: 1.5rem;
  }
  .hero-cta {
    padding: 1rem 2rem;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .logo-sigil {
    height: 48px;
    max-width: 48px;
    max-height: 48px;
  }
  .logo-name {
    font-size: .78rem;
  }
  .logo-tag {
    font-size: .66rem;
  }
  .header-nav {
    gap: 1.6rem;
  }
}
/* Footer 1 colonne dès 768px */
@media (max-width: 768px) {
  .footer-inner { grid-template-columns: 1fr; gap: 1.2rem; }
}

@media (max-width: 600px) {
  /* Hero — aligné à gauche, compact */
  .hero { align-items: flex-end; padding: 5rem 0 3.5rem; }
  .hero-content { padding: 0 1.5rem; text-align: left; }
  .hero-title { font-size: clamp(1.85rem, 7.5vw, 2.6rem); }
  .hero-sub { margin: 0 0 2rem; max-width: 100%; }

  /* Sections — padding vertical réduit */
  .section-potions .potions-inner { padding: 3rem 1.2rem; }
  .proof-inner { padding: 3rem 1.2rem; }
  .science-inner { padding: 3rem 1.2rem; }
  .pack-trinity-banner { padding: 2rem 1.5rem; }
  .al-section { padding: 3.5rem 1.5rem; }
  .ap-section { padding: 3.5rem 1.5rem; }
  .ap-cta-section { padding: 3.5rem 1.5rem; }

  /* Why — steps pleine largeur */
  .why-step { flex: none; width: 100%; }
  .why-step::before {
    top: -8px; left: -8px; right: -8px; bottom: -8px;
    background-size: 286% auto;
    background-position: 50% 38%;
  }

  /* Proof */
  .proof-main,
  .proof-card { padding: 1.5rem; }
  .proof-ornament { display: none; }

  /* Trust */
  .trust-grid { grid-template-columns: 1fr; }
  .trust-item,
  .trust-item:nth-child(2n) { border-right: 0; border-bottom: 1px solid rgba(201,165,84,.12); }
  .trust-item:last-child { border-bottom: 0; }

  /* Craft */
  .craft-inner,
  .testimonials-inner { padding: 2.5rem 1.2rem; }
  .craft-copy { padding: 1.5rem; }
  .craft-visual-placeholder { min-height: 200px; }
  .craft-seals { grid-template-columns: 1fr; }
  .craft-seal { border-right: 0; border-bottom: 1px solid rgba(201,165,84,.12); }
  .craft-seal:last-child { border-bottom: 0; }

  /* Transparency bar — 2 colonnes suffisent */
  .transparency-bar { padding: 2rem 1.2rem; }
  .tb-items { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
  .tb-item { min-height: 76px; }

  /* Newsletter */
  .newsletter-inner { padding: 2.4rem 1.2rem; text-align: center; }

  /* Ornements */
  .ornament-divider { width: 70vw; opacity: .16; }

  /* Founder form */
  .founder-form-row { flex-direction: column; }
  .founder-form-row input[type="email"] { border-right: 1px solid rgba(201,165,84,.25); border-bottom: none; }
  .founder-form-row button { width: 100%; }

  /* Quest bar */
  .qb-label { display: none; }
  .qb-sigil { width: 24px; height: 24px; }

  /* Chronicles */
  .chronicles-page { padding-top: 5.5rem; padding-bottom: 2.5rem; }
}

/* ═══════════════════════════════
   CHRONIQUES PLACEHOLDER
   ═══════════════════════════════ */
.ap-main {
  padding-top: 68px;
  position: relative;
  z-index: 2;
}
.ap-hero {
  padding: 6rem 2rem 5rem;
  text-align: center;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(14,20,60,.4), transparent 70%);
  border-bottom: 1px solid rgba(201,165,84,.1);
}
.ap-hero-inner,
.ap-cta-inner {
  max-width: 700px;
  margin: 0 auto;
}
.ap-eyebrow,
.ap-section-label {
  font-family: var(--font-head);
  font-size: .58rem;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: rgba(201,165,84,.5);
  margin-bottom: 1rem;
}
.ap-title {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: clamp(2rem, 5vw, 3.8rem);
  letter-spacing: .08em;
  color: var(--gold-light);
  margin-bottom: 1.2rem;
}
.ap-sep {
  width: 80px;
  height: 1px;
  margin: 0 auto 1.5rem;
  background: linear-gradient(to right, transparent, rgba(201,165,84,.5), transparent);
}
.ap-sub {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: clamp(.88rem, 1.4vw, 1rem);
  line-height: 1.9;
  letter-spacing: .08em;
  color: rgba(201,165,84,.65);
  font-style: italic;
}
.ap-section {
  padding: 6rem 2rem;
}
.ap-section-alt {
  background:
    linear-gradient(rgba(10,12,22,.9), rgba(10,12,22,.9)),
    repeating-linear-gradient(45deg, rgba(201,165,84,.015) 0 1px, transparent 1px 14px);
  border-top: 1px solid rgba(201,165,84,.08);
  border-bottom: 1px solid rgba(201,165,84,.08);
}
.ap-section-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.ap-section-title {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: clamp(1.2rem, 2.5vw, 1.9rem);
  letter-spacing: .06em;
  color: var(--gold-light);
  margin-bottom: 1rem;
}
.ap-manifeste {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 5rem;
  align-items: start;
}
.ap-founder-photo {
  position: sticky;
  top: 90px;
}
.ap-photo-placeholder {
  aspect-ratio: 1 / 1;
  border: 1px dashed rgba(201,165,84,.2);
  background: rgba(201,165,84,.03);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  padding: 2rem;
}
.ap-ph-label {
  font-family: var(--font-head);
  font-size: .5rem;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: rgba(201,165,84,.3);
  border: 1px solid rgba(201,165,84,.15);
  padding: .3rem .8rem;
}
.ap-ph-brief,
.ap-pillar-desc,
.ap-eng-desc,
.ap-partner-desc {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: .85rem;
  line-height: 1.8;
  color: rgba(201,165,84,.65);
}
.ap-ph-brief {
  font-size: .75rem;
  text-align: center;
}
.ap-quote {
  font-family: var(--font-body);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(.88rem, 1.4vw, 1.02rem);
  line-height: 2;
  letter-spacing: .04em;
  color: rgba(201,165,84,.78);
  border-left: 2px solid rgba(201,165,84,.25);
  padding-left: 1.5rem;
  margin-bottom: 1.8rem;
}
.ap-founder-sig {
  font-family: var(--font-head);
  font-size: .68rem;
  letter-spacing: .25em;
  color: var(--gold);
  margin-bottom: 1.5rem;
}
.ap-backed {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: .8rem;
  letter-spacing: .06em;
  color: rgba(201,165,84,.5);
  line-height: 1.8;
  border-top: 1px solid rgba(201,165,84,.1);
  padding-top: 1.2rem;
}
.ap-vision {
  text-align: center;
}
.ap-vision-text {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: clamp(.9rem, 1.4vw, 1rem);
  line-height: 2;
  letter-spacing: .05em;
  color: rgba(201,165,84,.75);
  max-width: 620px;
  margin: 0 auto 4rem;
}
.ap-vision-pillars,
.ap-engagements-grid,
.ap-partners-grid {
  display: grid;
  gap: 1.5rem;
}
.ap-vision-pillars {
  grid-template-columns: repeat(3, 1fr);
  text-align: left;
}
.ap-engagements-grid,
.ap-partners-grid {
  grid-template-columns: repeat(2, 1fr);
}
.ap-pillar,
.ap-engagement,
.ap-partner-card {
  padding: 2rem;
  border: 1px solid rgba(201,165,84,.15);
  background: rgba(201,165,84,.03);
}
.ap-pillar-num {
  font-family: var(--font-head);
  font-size: 2rem;
  color: rgba(201,165,84,.2);
  display: block;
  margin-bottom: .8rem;
}
.ap-pillar-title,
.ap-eng-title,
.ap-partner-name {
  font-family: var(--font-head);
  font-size: .74rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: .8rem;
}
.ap-engagement {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.ap-eng-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  color: var(--gold);
}
.ap-eng-icon svg {
  width: 100%;
  height: 100%;
}
.ap-partners {
  text-align: center;
}
.ap-partners-grid {
  max-width: 700px;
  margin: 2.5rem auto 0;
}
.ap-partner-logo-placeholder {
  width: 120px;
  height: 60px;
  margin: 0 auto 1.5rem;
  border: 1px dashed rgba(201,165,84,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-size: .5rem;
  letter-spacing: .2em;
  color: rgba(201,165,84,.3);
}
.ap-cta-section {
  padding: 6rem 2rem;
  text-align: center;
  border-top: 1px solid rgba(201,165,84,.1);
  background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(14,20,60,.3), transparent 70%);
}
.ap-cta-title {
  font-family: var(--font-head);
  font-weight: 400;
  font-size: clamp(1rem, 2vw, 1.4rem);
  letter-spacing: .15em;
  color: var(--gold-light);
  margin-bottom: 2rem;
}
.ap-cta-btn {
  display: inline-block;
  font-family: var(--font-head);
  font-size: .65rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--bg);
  background: var(--gold);
  padding: 1.1rem 2.8rem;
}

@media (max-width: 768px) {
  .ap-manifeste,
  .ap-vision-pillars,
  .ap-engagements-grid,
  .ap-partners-grid {
    grid-template-columns: 1fr;
  }
  .ap-founder-photo {
    position: static;
  }
  .ap-photo-placeholder {
    aspect-ratio: 4 / 3;
  }
  .ap-engagement {
    flex-direction: column;
  }
}

.al-main {
  position: relative;
  z-index: 2;
  padding-top: 68px;
}
.nav-active {
  color: var(--gold-light) !important;
}
.nav-active::after {
  transform: scaleX(1) !important;
}
.al-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(201,165,84,.12);
  background:
    radial-gradient(ellipse 50% 40% at 76% 26%, rgba(201,165,84,.14), transparent 68%),
    radial-gradient(ellipse 60% 55% at 18% 24%, rgba(25,39,92,.34), transparent 72%),
    linear-gradient(180deg, rgba(8,11,22,.98), rgba(5,7,16,.98));
}
.al-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  min-height: 620px;
  margin: 0 auto;
  padding: 7rem 2rem;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 5rem;
  align-items: center;
}
.al-kicker {
  font-family: var(--font-head);
  font-size: .62rem;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: rgba(201,165,84,.58);
  margin-bottom: 1rem;
}
.al-copy h1 {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.05;
  letter-spacing: .08em;
  color: var(--gold-light);
  margin-bottom: 1.6rem;
}
.al-sub {
  max-width: 590px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: clamp(.95rem, 1.35vw, 1.08rem);
  line-height: 1.95;
  letter-spacing: .055em;
  color: rgba(232,222,202,.76);
  margin-bottom: 2.4rem;
}
.al-cta {
  display: inline-block;
  font-family: var(--font-head);
  font-size: .66rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--bg);
  background: var(--gold);
  padding: 1.05rem 2.3rem;
}
.al-device {
  display: flex;
  justify-content: center;
}
.al-phone {
  width: min(330px, 78vw);
  min-height: 520px;
  padding: 2rem;
  border: 1px solid rgba(201,165,84,.25);
  border-radius: 34px;
  background:
    radial-gradient(ellipse 80% 55% at 50% 10%, rgba(201,165,84,.16), transparent 62%),
    linear-gradient(160deg, rgba(18,22,42,.96), rgba(5,7,16,.98));
  box-shadow: inset 0 0 0 8px rgba(0,0,0,.28), 0 30px 80px rgba(0,0,0,.36);
}
.al-phone-eyebrow,
.al-card-preview span {
  display: block;
  font-family: var(--font-head);
  font-size: .52rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(201,165,84,.48);
  margin-bottom: 1rem;
}
.al-phone strong {
  display: block;
  font-family: var(--font-head);
  font-size: 1.7rem;
  letter-spacing: .12em;
  color: var(--gold-light);
  margin-bottom: 1.2rem;
}
.al-progress {
  height: 8px;
  border: 1px solid rgba(201,165,84,.2);
  background: rgba(201,165,84,.04);
  margin-bottom: 1rem;
}
.al-progress span {
  display: block;
  width: 58%;
  height: 100%;
  background: linear-gradient(90deg, var(--gold), #f4dca0);
}
.al-phone p,
.al-panel p,
.al-lore p,
.al-placeholder li {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: .9rem;
  line-height: 1.85;
  color: rgba(201,165,84,.72);
}
.al-card-preview {
  margin-top: 3rem;
  padding: 1.4rem;
  min-height: 150px;
  border: 1px solid rgba(201,165,84,.22);
  background: linear-gradient(135deg, rgba(201,165,84,.12), rgba(255,255,255,.025)), rgba(201,165,84,.04);
}
.al-card-preview strong {
  font-size: 1rem;
}
.al-section {
  padding: 6rem 2rem;
  border-bottom: 1px solid rgba(201,165,84,.09);
}
.al-section-inner {
  max-width: 1080px;
  margin: 0 auto;
}
.al-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
}
.al-panel {
  border: 1px solid rgba(201,165,84,.16);
  background: rgba(201,165,84,.03);
  padding: 2rem;
}
.al-num {
  display: block;
  font-family: var(--font-head);
  font-size: 2rem;
  color: rgba(201,165,84,.22);
  margin-bottom: 1rem;
}
.al-panel h2,
.al-lore h2,
.al-placeholder h2 {
  font-family: var(--font-head);
  font-size: clamp(1.05rem, 2vw, 1.55rem);
  letter-spacing: .08em;
  color: var(--gold-light);
  margin-bottom: 1rem;
}
.al-section-parchment {
  background: linear-gradient(rgba(232,222,202,.92), rgba(211,196,170,.94));
  color: #24180d;
}
.al-lore {
  max-width: 780px;
  text-align: center;
}
.al-lore h2,
.al-section-parchment .al-kicker {
  color: #24180d;
}
.al-lore p {
  color: rgba(36,24,13,.78);
}
.al-roadmap {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .8rem;
}
.al-roadmap span {
  border: 1px solid rgba(36,24,13,.2);
  padding: .9rem .75rem;
  font-family: var(--font-head);
  font-size: .58rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(36,24,13,.72);
}
.al-placeholder {
  max-width: 760px;
}
.al-placeholder ul {
  list-style: none;
  display: grid;
  gap: .8rem;
  margin-top: 1.5rem;
}
.al-placeholder li {
  border-left: 1px solid rgba(201,165,84,.3);
  padding-left: 1rem;
}

@media (max-width: 900px) {
  .al-hero-inner,
  .al-grid,
  .al-roadmap {
    grid-template-columns: 1fr;
  }
  .al-hero-inner {
    min-height: auto;
    padding: 5rem 1.4rem;
    gap: 3rem;
  }
  .al-device {
    display: none;
  }
}

.chronicles-page {
  min-height: 100vh;
  padding: 8.5rem 2rem 4rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23g)' opacity='.038'/%3E%3C/svg%3E") repeat,
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.78), transparent 28rem),
    radial-gradient(circle at 16% 20%, rgba(178,128,65,.08), transparent 18rem),
    radial-gradient(circle at 88% 72%, rgba(113,75,37,.055), transparent 22rem),
    radial-gradient(ellipse at 36% 56%, rgba(255,255,255,.18), transparent 24rem),
    radial-gradient(ellipse at 72% 28%, rgba(107,68,30,.045), transparent 20rem),
    linear-gradient(180deg, #f4ead7 0%, #eadbbe 100%);
  color: #2a1b10;
}
.chronicles-hero,
.chronicles-grid,
.chronicles-placeholder {
  max-width: 1040px;
  margin: 0 auto;
}
.chronicles-hero {
  position: relative;
  padding: 4.5rem 0 4.2rem;
  text-align: center;
  overflow: visible;
}
.chronicles-plant {
  position: absolute;
  z-index: 0;
  height: auto;
  max-width: none;
  opacity: .16;
  mix-blend-mode: multiply;
  filter: sepia(.3) saturate(.75) contrast(.95);
  pointer-events: none;
}
.chronicles-plant-left {
  left: 1.5rem;
  top: 2.4rem;
  width: 170px;
}
.chronicles-plant-right {
  right: 1.5rem;
  top: 2.2rem;
  width: 175px;
}
.chronicles-hero .craft-kicker {
  position: relative;
  z-index: 1;
  margin-bottom: 1.15rem;
  font-family: 'Barbarian', serif;
  font-size: clamp(2.4rem, 6vw, 4rem);
  letter-spacing: .04em;
  text-transform: none;
  color: rgba(91,58,25,.72);
}
.chronicles-hero h1 {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 0 auto 1.1rem;
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 6vw, 4.8rem);
  font-weight: 500;
  line-height: 1.03;
  color: #1d130c;
}
.chronicles-hero p {
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin: 0 auto;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(42,27,16,.72);
}
.chronicles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid rgba(91,58,25,.16);
  background: rgba(255,252,243,.28);
  box-shadow: 0 18px 60px rgba(70,43,18,.055);
}
.chronicles-grid article {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  padding: 2rem;
  border-right: 1px solid rgba(91,58,25,.12);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.28), transparent 14rem),
    rgba(255,250,238,.22);
}
.chronicles-grid article:last-child {
  border-right: 0;
}
.chronicles-grid span {
  display: block;
  margin-bottom: 2.7rem;
  font-family: var(--font-head);
  font-size: .82rem;
  letter-spacing: .24em;
  color: rgba(134,91,38,.72);
}
.chronicles-grid h2 {
  min-height: 3.6em;
  margin-bottom: 1rem;
  font-family: var(--font-head);
  font-size: clamp(1.35rem, 1.8vw, 1.75rem);
  font-weight: 500;
  color: #1f150d;
}
.chronicles-grid p,
.chronicles-placeholder p {
  font-family: var(--font-body);
  font-size: 1.08rem;
  font-weight: 300;
  line-height: 1.72;
  color: rgba(42,27,16,.68);
}
.chronicles-placeholder {
  margin-top: 1.5rem;
  padding: 1.5rem;
  border: 1px solid rgba(91,58,25,.14);
  background: rgba(255,252,243,.24);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.chronicles-placeholder a {
  font-family: var(--font-head);
  font-size: .62rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #2a1b10;
}

@media (max-width: 900px) {
  .chronicles-plant {
    opacity: .08;
  }
  .chronicles-plant-left {
    left: -4rem;
    width: 150px;
  }
  .chronicles-plant-right {
    right: -4rem;
    width: 150px;
  }
  .chronicles-grid {
    grid-template-columns: 1fr;
  }
  .chronicles-grid article {
    border-right: 0;
    border-bottom: 1px solid rgba(91,58,25,.12);
  }
  .chronicles-grid article:last-child {
    border-bottom: 0;
  }
  .chronicles-placeholder {
    flex-direction: column;
    text-align: center;
  }
}

/* ═══ CARD CASCADE REVEAL ═══ */
@keyframes cardReveal {
  from { opacity: 0; translate: 0 28px; }
  to   { opacity: 1; translate: 0 0; }
}
.p-card.card-in {
  animation: cardReveal .7s cubic-bezier(.22,1,.36,1) both;
}

/* ═══ CAROUSEL DOTS ═══ */
.carousel-dots {
  display: none;
  justify-content: center; gap: .6rem;
  margin: .5rem 0 2rem;
}
.cdot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(201,165,84,.25);
  transition: background .3s, transform .3s;
}
.cdot.active {
  background: var(--gold);
  transform: scale(1.3);
}
@media (max-width: 900px) {
  .carousel-dots { display: flex; }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .section-guarantees,
  .section-why,
  .section-potions,
  .section-science,
  .section-forwho,
  .section-craft,
  .section-testimonials,
  .section-almanach,
  .section-founder,
  .section-newsletter {
    opacity: 1 !important;
    transform: none !important;
  }
  .p-card::after,
  .testimonial-card::after,
  .founder-badge-pill::after {
    display: none !important;
  }
  .hero-bg-img {
    transform: none !important;
  }
  .hero-bg::before,
  .hero-bg::after {
    display: none !important;
  }
}

/* ═══════════════════════════════
   LAYOUT FIXES — Hero & Header
   ═══════════════════════════════ */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }

.site-header { width: 100%; }

.header-inner {
  width: 100%; max-width: 1200px;
  height: 68px; margin: 0 auto;
  padding-inline: 2rem; box-sizing: border-box;
}

/* ── Animation d'entrée de page ── */
@keyframes pageEntry {
  0%   { opacity: 0; filter: blur(10px) brightness(.4); }
  45%  { opacity: .55; filter: blur(3px) brightness(.75); }
  100% { opacity: 1; filter: blur(0) brightness(1); }
}
.page-entry {
  animation: pageEntry 1.8s cubic-bezier(.25,0,.35,1) forwards;
}
@media (prefers-reduced-motion: reduce) {
  .page-entry { animation: none; }
}

/* ── Transition de page ── */
.pt-overlay {
  position: fixed;
  inset: 0;
  z-index: 9500;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(ellipse 55% 45% at 50% 50%, rgba(201,165,84,.07) 0%, transparent 60%),
    #080b16;
  transition: opacity .7s cubic-bezier(.4,0,.2,1);
}
.pt-overlay.pt-in {
  opacity: 1;
  pointer-events: all;
}
.pt-overlay.pt-out {
  opacity: 0;
  transition: opacity 1s cubic-bezier(.4,0,.2,1);
}

.header-logo { min-width: 0; flex: 0 0 auto; }

.logo-sigil {
  width: 58px; height: 58px;
  max-width: 58px; max-height: 58px;
  object-fit: contain;
}

.hero {
  min-height: 100svh;
  padding-bottom: clamp(3rem, 7vh, 5.5rem);
}

.hero-content {
  width: min(620px, calc(100vw - 4rem));
  max-width: 620px;
  padding-left: clamp(1.5rem, 5vw, 5rem);
  padding-right: 1.5rem;
  box-sizing: border-box;
}

.hero-title {
  max-width: 100%;
  font-size: clamp(2.1rem, 4vw, 3.55rem);
  line-height: 1.08;
  letter-spacing: .035em;
  overflow-wrap: normal;
}

.hero-eyebrow { font-size: clamp(.9rem, 1.3vw, 1.1rem); }
.hero-sub { max-width: 560px; font-size: clamp(.88rem, 1.15vw, 1rem); }

@media (max-height: 780px) and (min-width: 901px) {
  .hero-title { font-size: clamp(1.9rem, 3.25vw, 2.95rem); }
  .hero-sub { line-height: 1.55; margin-bottom: 1.4rem; }
  .hero-cta { padding: 1rem 2rem; }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .header-inner { padding-inline: 1.5rem; gap: 1.4rem; }
  .logo-sigil { width: 48px; height: 48px; max-width: 48px; max-height: 48px; }
  .logo-name { font-size: .76rem; }
  .logo-tag { font-size: .64rem; }
  .header-nav { gap: 1.4rem; }
}
