/* ══════════════════════════════════════════════════════════════
   NADIA AOUSSI — PAGES INTÉRIEURES (Phase A templates + Phase B blocs)
   Portage de redesign-preview/css/redesign.css, scopé sous .page2.
   Complète css/site.css (ne le remplace pas). Chargé APRÈS site.css.

   Stratégie anti-collision (documentée) :
   - TOUTES les règles sont scopées sous la classe racine `.page2`
     (posée sur chaque vue), ce qui isole la feuille du reste du site.
   - Les 12 classes structurelles présentes AUSSI dans site.css sont
     renommées avec le préfixe `p2-` pour éviter toute fuite de
     propriété (héritage partiel) : hero, hero-bg, hero-art,
     hero-eyebrow→eyebrow, hero-actions, sec, sec-title, kicker,
     btn, btn-primary, btn-outline, cta-band.
   - Les keyframes sont préfixées p2… (breathe existe déjà dans site.css).
   - Le shell démo (topnav, nav-sheet, hamburger, site-footer, hub,
     skip-link, reset, body, grain, font-face) N'EST PAS porté : le
     site réel a déjà le sien.
   - Entrée de page : pilotée par `.page2.is-shown` (au lieu de
     html.is-loaded), rejouée à chaque visite via goPage().
   ══════════════════════════════════════════════════════════════ */

.page2{
  /* springs motion (valeurs exactes du skill) — locaux à la vue */
  --spring-snappy: linear(
    0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%,
    0.938 16.7%, 1.017 19.4%, 1.067 22.5%, 1.089 26.0%,
    1.079 30.3%, 1.049 36.0%, 1.024 42.6%, 1.011 50.3%,
    1.004 59.2%, 1.001 69.3%, 1
  );
  --spring-bouncy: linear(
    0, 0.014, 0.055 1.8%, 0.218 3.7%, 0.867 8.5%,
    1.085 10.7%, 1.212 12.9%, 1.264 15.0%, 1.262 17.0%,
    1.217 19.5%, 1.098 24.0%, 1.035 28.5%, 0.993 33.0%,
    0.981 38.0%, 0.988 45.0%, 0.998 55.0%, 1.001 68.0%, 1
  );
  --ease-out:     cubic-bezier(.16,1,.3,1);
  --ease-snap:    cubic-bezier(.22,1,.36,1);
  --ease-in-out:  cubic-bezier(.65,0,.35,1);
  --ease-dramatic:cubic-bezier(.77,0,.175,1);
  --crm:       #F6F1E8;
  --crm-soft:  rgba(246,241,232,.82);
  --crm-mute:  rgba(246,241,232,.55);
  --shadow-card: 0 18px 50px -18px rgba(36,53,31,.22);
  --shadow-lift: 0 28px 70px -26px rgba(36,53,31,.34);
}
.page2 img{max-width:100%;display:block;}

/* ══ Moteur motion — utilitaires (pilotés par js/pages.js) ══════ */
.page2 [data-entry]{
  opacity:0;transform:translateY(20px);
  transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),filter .7s var(--ease-out);
  transition:opacity .7s var(--spring-snappy),transform .7s var(--spring-snappy),filter .7s var(--spring-snappy);
  transition-delay:var(--d,0ms);
}
.page2 [data-entry="blur"]{filter:blur(6px);}
.page2.is-shown [data-entry]{opacity:1;transform:none;filter:none;}
.page2 [data-entry="wipe"]{
  opacity:1;transform:scale(1.05);clip-path:inset(0 0 100% 0);
  transition:clip-path 1s var(--ease-dramatic),transform 1.4s var(--ease-out);
  transition:clip-path 1s var(--ease-dramatic),transform 1.4s var(--spring-snappy);
  transition-delay:var(--d,0ms);
}
.page2.is-shown [data-entry="wipe"]{clip-path:inset(0 0 0 0);transform:scale(1);}

.page2 [data-reveal]{
  opacity:0;transform:translateY(34px);
  transition:opacity .8s var(--ease-out),transform .9s var(--ease-out),filter .8s var(--ease-out);
  transition:opacity .8s var(--spring-snappy),transform .9s var(--spring-snappy),filter .8s var(--spring-snappy);
  will-change:transform,opacity;
}
.page2 [data-reveal].is-visible{opacity:1;transform:none;filter:none;will-change:auto;}
.page2 [data-reveal="soft"]{transform:translateY(18px);}
.page2 [data-reveal="blur"]{filter:blur(8px);}
.page2 [data-reveal="wipe"]{
  opacity:1;clip-path:inset(0 0 100% 0);transform:scale(1.04);
  transition:clip-path 1s var(--ease-dramatic),transform 1.3s var(--ease-out);
}
.page2 [data-reveal="wipe"].is-visible{clip-path:inset(0 0 0 0);transform:scale(1);}
.page2 [data-reveal="line"]{
  opacity:1;transform:scaleX(0);transform-origin:left;
  transition:transform .9s var(--ease-out);
}
.page2 [data-reveal="line"].is-visible{transform:scaleX(1);}
.page2 [data-reveal="mask"]{opacity:1;transform:none;}

.page2 [data-stagger] > *{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);
  transition:opacity .7s var(--spring-snappy),transform .7s var(--spring-snappy);
}
.page2 [data-stagger].is-visible > *{opacity:1;transform:none;}

.page2 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;}
.page2 .wi{
  display:inline-block;transform:translateY(110%);
  transition:transform .8s var(--ease-out);
  transition:transform .8s var(--spring-snappy);
  transition-delay:var(--wd,0ms);
}
.page2 [data-reveal="mask"].is-visible .wi,
.page2.is-shown [data-entry-title] .wi{transform:translateY(0);}

.page2 [data-parallax]{transform:translate3d(0,var(--py,0px),0);will-change:transform;}

.page2 .marquee{overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.page2 .marquee-track{display:flex;width:max-content;will-change:transform;
  animation:p2marquee 42s linear infinite;}
.page2 .marquee-track > *{margin-right:14px;}
.page2 .marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes p2marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

@media (prefers-reduced-motion: reduce){
  .page2 [data-entry],.page2 [data-reveal],.page2 [data-stagger] > *{opacity:1 !important;transform:none !important;filter:none !important;}
  .page2 [data-reveal="wipe"],.page2 [data-entry="wipe"]{clip-path:none !important;transform:none !important;}
  .page2 [data-reveal="line"]{transform:scaleX(1) !important;}
  .page2 .wi{transform:none !important;}
  .page2 .marquee-track{animation:none !important;}
  .page2 *,.page2 *::before,.page2 *::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;transition-delay:0ms !important;
  }
}

/* ══ Boutons & liens ═══════════════════════════════════════════ */
.page2 .p2-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:12.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;
  padding:16px 34px;border-radius:50px;border:1px solid transparent;cursor:pointer;text-decoration:none;
  transition:transform .5s var(--ease-snap),background-color .3s var(--ease-out),box-shadow .5s var(--ease-snap),border-color .3s var(--ease-out),color .3s var(--ease-out);
  transition:transform .5s var(--spring-bouncy),background-color .3s var(--ease-out),box-shadow .5s var(--spring-bouncy),border-color .3s var(--ease-out),color .3s var(--ease-out);
  will-change:transform;
}
.page2 .p2-btn .arw{transition:transform .45s var(--spring-bouncy);}
.page2 .p2-btn:hover .arw{transform:translateX(4px);}
.page2 .p2-btn:active{transform:translateY(0) scale(.97);transition-duration:.1s;}
.page2 .p2-btn-primary{background:var(--sage-deep);color:var(--crm);}
.page2 .p2-btn-primary:hover{background:var(--sage);transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(46,74,44,.5);}
.page2 .p2-btn-outline{background:transparent;color:var(--ink);border-color:var(--line);}
.page2 .p2-btn-outline:hover{border-color:var(--sage);color:var(--sage);transform:translateY(-2px);}
.page2 .on-dark .p2-btn-primary,.page2 .p2-btn-primary.on-cream{background:var(--crm);color:var(--bg-deep);}
.page2 .on-dark .p2-btn-primary:hover,.page2 .p2-btn-primary.on-cream:hover{background:var(--sage-soft);box-shadow:0 16px 34px -12px rgba(0,0,0,.45);}
.page2 .on-dark .p2-btn-outline{color:var(--crm);border-color:rgba(246,241,232,.32);}
.page2 .on-dark .p2-btn-outline:hover{border-color:var(--sage-soft);color:var(--sage-soft);}

.page2 .link{
  position:relative;color:var(--sage);text-decoration:none;font-weight:500;
  letter-spacing:.02em;padding-bottom:2px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  transition:color .25s var(--ease-out);background:none;border:none;font-family:var(--sans);font-size:inherit;
}
.page2 .link::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-snap);
}
.page2 .link:hover{color:var(--sage-deep);}
.page2 .link:hover::after{transform:scaleX(1);transform-origin:left;}
.page2 .link .arw{transition:transform .4s var(--spring-bouncy);}
.page2 .link:hover .arw{transform:translateX(4px);}
.page2 .on-dark .link{color:var(--sage-soft);}
.page2 .on-dark .link:hover{color:var(--crm);}

/* ══ Composants éditoriaux ═════════════════════════════════════ */
.page2 .p2-sec{padding:clamp(88px,11vw,148px) clamp(22px,5vw,64px);position:relative;overflow:hidden;}
.page2 .p2-sec--tight{padding-block:clamp(60px,8vw,104px);}
.page2 .wrap{max-width:1200px;margin:0 auto;}
.page2 .wrap--narrow{max-width:840px;}
.page2 .bg-cream{background:var(--bg);}
.page2 .bg-sand{background:var(--bg-2);}
.page2 .on-dark{background:var(--bg-deep);color:var(--crm);}
.page2 .on-dark .p2-kicker{color:var(--sage-soft);}
.page2 .on-dark .p2-kicker::before{background:var(--sage-soft);}
.page2 .on-dark h1,.page2 .on-dark h2,.page2 .on-dark h3,
.page2 .on-dark .p2-sec-title,.page2 .on-dark .hero-title{color:var(--crm);}
.page2 .on-dark em{color:var(--sage-soft);}
.page2 .on-dark .lede{color:var(--crm-soft);}
.page2 .on-dark p{color:var(--crm-soft);}
.page2 .on-dark .step-num{color:rgba(168,191,158,.22);}

.page2 .p2-kicker{
  display:inline-flex;align-items:center;gap:14px;
  font-size:11.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--sage);
  margin-bottom:26px;
}
.page2 .p2-kicker::before{content:'';width:38px;height:1px;background:var(--sage);flex-shrink:0;}
.page2 .p2-kicker--wrap{flex-wrap:wrap;gap:10px 14px;}

.page2 .p2-sec-title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(34px,4vw,56px);line-height:1.04;letter-spacing:-.015em;text-wrap:balance;
}
.page2 .p2-sec-title em{font-style:italic;color:var(--sage);font-weight:400;}
.page2 .p2-sec-title--lg{font-size:clamp(38px,4.6vw,66px);}

.page2 .lede{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(20px,2.1vw,26px);line-height:1.5;color:var(--ink);letter-spacing:-.005em;
  max-width:32ch;text-wrap:pretty;
}
.page2 .lede em{font-style:italic;color:var(--sage-deep);}
.page2 .lede--full{max-width:64ch;}

.page2 .prose p{
  font-size:16.5px;line-height:1.85;color:var(--ink-soft);max-width:60ch;text-wrap:pretty;
}
.page2 .prose p + p{margin-top:20px;}
.page2 .prose strong{color:var(--ink);font-weight:500;}
.page2 .prose em{font-style:italic;}

.page2 .pull-quote{
  font-family:var(--serif);font-weight:500;font-style:italic;
  font-size:clamp(27px,3.6vw,44px);line-height:1.14;letter-spacing:-.01em;
  color:var(--sage-deep);text-wrap:balance;padding-left:clamp(20px,3vw,38px);
  border-left:2px solid var(--sage);
}
.page2 .pull-quote em{font-style:normal;color:var(--sage);}
.page2 .pull-quote--band{
  border-left:none;padding-left:0;text-align:center;color:var(--crm);
  font-size:clamp(30px,5vw,60px);line-height:1.08;max-width:20ch;margin-inline:auto;
}
.page2 .pull-quote--band em{color:var(--sage-soft);font-style:italic;}

.page2 .note-med{
  border:1px solid var(--line);border-radius:14px;
  padding:clamp(18px,2.4vw,26px) clamp(20px,2.8vw,32px);
  font-family:var(--serif);font-style:italic;font-size:clamp(15px,1.7vw,18px);line-height:1.6;
  color:var(--ink-soft);max-width:64ch;position:relative;
  display:flex;align-items:baseline;gap:14px;
}
.page2 .note-med::before{content:'✦';font-style:normal;color:var(--sage);font-size:14px;flex-shrink:0;}

.page2 .step-num{
  font-family:var(--serif);font-style:italic;font-weight:500;line-height:.8;
  color:rgba(74,107,71,.3);font-variant-numeric:tabular-nums;
}

.page2 .chip{
  display:inline-flex;align-items:center;white-space:nowrap;
  font-family:var(--sans);font-size:13px;letter-spacing:.05em;color:var(--ink);
  background:transparent;border:1px solid var(--line);border-radius:40px;padding:11px 22px;
  transition:background-color .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out),transform .45s var(--spring-bouncy);
}
.page2 .chip:hover{background:var(--sage-deep);color:var(--crm);border-color:var(--sage-deep);transform:translateY(-2px);}

.page2 .arch{
  position:relative;border-radius:999px 999px 0 0;overflow:hidden;
  background:linear-gradient(160deg,rgba(74,107,71,.16),rgba(168,191,158,.12) 45%,rgba(138,125,114,.12)),var(--bg-2);
  box-shadow:inset 0 0 0 1px var(--line-soft),0 40px 80px -40px rgba(36,53,31,.35);
}
.page2 .arch::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,transparent 0 16px,rgba(74,107,71,.045) 16px 17px);z-index:1;}
.page2 .arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s var(--ease-out);}
.page2 .arch:hover img{transform:scale(1.045);}

.page2 .orb-frame{
  position:relative;border-radius:999px 999px 0 0;overflow:hidden;aspect-ratio:4/5;
  background:linear-gradient(160deg,rgba(74,107,71,.15),rgba(138,125,114,.1)),var(--bg-2);
  box-shadow:inset 0 0 0 1px var(--line-soft),0 36px 80px -42px rgba(36,53,31,.38);
}
.page2 .orb-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s var(--ease-out);}
.page2 .orb-frame:hover img{transform:scale(1.05);}
.page2 .medallion{border-radius:50%;aspect-ratio:1;}

.page2 .ring{position:absolute;border-radius:50%;border:1px solid rgba(74,107,71,.3);pointer-events:none;}
.page2 .ring--breathe{animation:p2breathe 9s var(--ease-in-out) infinite;}
.page2 .ring--breathe.d1{animation-delay:.6s;border-color:rgba(74,107,71,.16);}
.page2 .ring--breathe.d2{animation-delay:1s;border-color:rgba(138,125,114,.3);}
@keyframes p2breathe{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}
@media (prefers-reduced-motion:reduce){.page2 .ring--breathe{animation:none;}}

.page2 .ed-list{border-top:1px solid var(--line);}
.page2 .ed-row{
  display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:clamp(16px,2.5vw,38px);
  padding:clamp(24px,3vw,38px) clamp(4px,1vw,16px);border-bottom:1px solid var(--line);position:relative;
  transition:background-color .4s var(--ease-out);
}
.page2 .ed-row:hover{background:rgba(74,107,71,.05);}
.page2 .ed-num{
  font-family:var(--serif);font-style:italic;font-size:19px;color:var(--sage);
  transition:transform .4s var(--ease-snap);
}
.page2 .ed-row:hover .ed-num{transform:translateX(6px);}
.page2 .ed-main h3{
  font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.5vw,32px);line-height:1.1;
  letter-spacing:-.01em;margin-bottom:5px;transition:color .3s var(--ease-out);
}
.page2 .ed-row:hover .ed-main h3{color:var(--sage-deep);font-style:italic;}
.page2 .ed-main p{font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:56ch;text-wrap:pretty;}
.page2 .ed-dash{justify-self:end;font-family:var(--serif);font-size:26px;line-height:1;color:var(--sage);}

.page2 .card{
  background:#FBF8F2;border:1px solid var(--line-soft);border-radius:20px;
  padding:clamp(28px,3vw,40px);position:relative;
  box-shadow:0 14px 44px -26px rgba(36,53,31,.18);
  transition:transform .45s var(--ease-snap),box-shadow .45s var(--ease-snap),border-color .45s var(--ease-out);
  will-change:transform;
}
.page2 .card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--line);}
.page2 .card h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,28px);line-height:1.12;margin-bottom:12px;letter-spacing:-.01em;}
.page2 .card p{font-size:15.5px;line-height:1.7;color:var(--ink-soft);text-wrap:pretty;}

.page2 .draw-list{list-style:none;display:flex;flex-direction:column;gap:14px;}
.page2 .draw-list li{
  position:relative;padding-left:40px;font-size:16px;line-height:1.6;color:var(--ink-soft);
  opacity:0;transform:translateY(16px);
  transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);
}
.page2 .draw-list li::before{
  content:'';position:absolute;left:0;top:.72em;width:24px;height:1px;background:var(--sage);
  transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out);
}
.page2 .draw-list.is-visible li{opacity:1;transform:none;}
.page2 .draw-list.is-visible li::before{transform:scaleX(1);}
.page2 .draw-list.is-visible li:nth-child(1),.page2 .draw-list.is-visible li:nth-child(1)::before{transition-delay:.05s;}
.page2 .draw-list.is-visible li:nth-child(2),.page2 .draw-list.is-visible li:nth-child(2)::before{transition-delay:.14s;}
.page2 .draw-list.is-visible li:nth-child(3),.page2 .draw-list.is-visible li:nth-child(3)::before{transition-delay:.23s;}
.page2 .draw-list.is-visible li:nth-child(4),.page2 .draw-list.is-visible li:nth-child(4)::before{transition-delay:.32s;}
.page2 .draw-list.is-visible li:nth-child(5),.page2 .draw-list.is-visible li:nth-child(5)::before{transition-delay:.41s;}
.page2 .draw-list[data-reveal]{opacity:1;transform:none;transition:none;will-change:auto;}
.page2 .on-dark .draw-list li{color:var(--crm-soft);}
.page2 .on-dark .draw-list li::before{background:var(--sage-soft);}

.page2 .stat-card{
  background:#FBF8F2;border:1px solid var(--line-soft);border-radius:20px;
  padding:clamp(30px,3.4vw,44px);box-shadow:var(--shadow-card);
}
.page2 .stat-num{
  font-family:var(--serif);font-weight:500;font-size:clamp(52px,7vw,84px);line-height:.9;
  color:var(--sage-deep);font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.page2 .stat-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-top:14px;}
.page2 .stat-note{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink-soft);margin-top:18px;font-style:italic;}

/* ══ Hero (variantes) ══════════════════════════════════════════ */
.page2 .p2-hero{
  position:relative;overflow:hidden;
  padding:calc(var(--nav-h) + clamp(46px,6vw,84px)) clamp(22px,5vw,64px) clamp(56px,7vw,90px);
}
.page2 .hero-inner{max-width:1300px;margin:0 auto;}
.page2 .p2-hero--split .hero-inner{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center;min-height:min(78vh,760px);
}
.page2 .p2-hero--center{text-align:center;}
.page2 .p2-hero--center .hero-inner{max-width:1000px;display:flex;flex-direction:column;align-items:center;min-height:min(72vh,720px);justify-content:center;}
.page2 .p2-hero--center .p2-kicker{justify-content:center;}

.page2 .p2-eyebrow{margin-bottom:30px;}
.page2 .hero-title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(44px,6vw,88px);line-height:1.0;letter-spacing:-.022em;margin-bottom:30px;
  font-synthesis:none;text-wrap:balance;
}
.page2 .hero-title em{font-style:italic;color:var(--sage);font-weight:400;}
.page2 .p2-hero--center .hero-title{font-size:clamp(40px,5.4vw,80px);line-height:1.04;max-width:16ch;}
.page2 .hero-lede{margin-bottom:36px;}
.page2 .p2-hero--center .hero-lede{margin-inline:auto;max-width:54ch;}
.page2 .p2-hero--center .hero-lede + .hero-lede{margin-top:-18px;}
.page2 .p2-hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.page2 .p2-hero--center .p2-hero-actions{justify-content:center;}

.page2 .p2-hero-art{position:relative;height:min(70vh,660px);min-height:400px;}
.page2 .p2-hero-art .parallax-layer{position:absolute;inset:0;}
.page2 .p2-hero-art .arch{position:absolute;inset:0;margin:auto;width:min(100%,460px);height:100%;}
.page2 .p2-hero-art .ring.r1{width:130px;height:130px;left:-46px;bottom:16%;}
.page2 .p2-hero-art .ring.r2{width:230px;height:230px;left:-108px;bottom:9%;}
.page2 .p2-hero-art .ring.r3{width:90px;height:90px;right:-24px;top:8%;}
.page2 .p2-hero-art .ring{opacity:0;transition:opacity .8s var(--ease-out);transition-delay:.5s;}
.page2.is-shown .p2-hero-art .ring{opacity:1;}
@media (prefers-reduced-motion:reduce){.page2 .p2-hero-art .ring{opacity:1;transition:none;}}

.page2 .p2-hero--halo{background:var(--bg);}
.page2 .p2-hero--halo .hero-halo{
  position:absolute;z-index:0;width:min(120vw,1000px);height:min(120vw,1000px);
  left:50%;top:38%;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(200,178,120,.28) 0%,rgba(168,191,158,.16) 34%,transparent 66%);
  filter:blur(6px);
  animation:p2halo 9s var(--ease-in-out) infinite;
}
.page2 .p2-hero--halo .hero-inner{position:relative;z-index:1;}
@keyframes p2halo{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08);}}
@media (prefers-reduced-motion:reduce){.page2 .p2-hero--halo .hero-halo{animation:none;}}

.page2 .p2-hero-bg{
  position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(ellipse 66% 54% at 80% 32%,rgba(74,107,71,.12) 0%,transparent 60%),
    radial-gradient(ellipse 44% 58% at 6% 92%,rgba(138,125,114,.1) 0%,transparent 55%),
    var(--bg);
}
.page2 .p2-hero--dark .p2-hero-bg{
  background:
    radial-gradient(ellipse 70% 60% at 82% 24%,rgba(74,107,71,.28) 0%,transparent 58%),
    radial-gradient(ellipse 50% 60% at 4% 96%,rgba(168,191,158,.1) 0%,transparent 55%),
    var(--bg-deep);
}
.page2 .p2-hero--dark .arch{background:linear-gradient(160deg,rgba(74,107,71,.3),rgba(46,74,44,.4)),var(--sage-deep);
  box-shadow:inset 0 0 0 1px rgba(246,241,232,.08),0 40px 90px -40px rgba(0,0,0,.5);}
.page2 .p2-hero--dark .ring{border-color:rgba(168,191,158,.28);}

.page2 .kin-lines{display:flex;flex-direction:column;gap:2px;margin-top:26px;}
.page2 .kin-lines .kin{font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(22px,2.6vw,32px);line-height:1.2;color:var(--sage-deep);}
.page2 .on-dark .kin-lines .kin{color:var(--sage-soft);}

/* ══ Bande CTA ═════════════════════════════════════════════════ */
.page2 .p2-cta-band{
  background:var(--bg-deep);color:var(--crm);text-align:center;position:relative;overflow:hidden;
  padding:clamp(88px,11vw,150px) clamp(22px,5vw,64px);
}
.page2 .p2-cta-band .ring{
  width:560px;height:560px;left:50%;top:50%;margin:-280px 0 0 -280px;
  border-color:rgba(168,191,158,.18);
}
.page2 .p2-cta-band .ring.r2{width:380px;height:380px;margin:-190px 0 0 -190px;border-color:rgba(168,191,158,.26);}
.page2 .cta-band-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.page2 .p2-cta-band .p2-kicker{justify-content:center;color:var(--sage-soft);margin-bottom:24px;}
.page2 .p2-cta-band .p2-kicker::before{background:var(--sage-soft);}
.page2 .p2-cta-band h2{
  font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.4vw,62px);
  line-height:1.08;letter-spacing:-.015em;max-width:22ch;margin:0 auto 36px;text-wrap:balance;color:var(--crm);
}
.page2 .p2-cta-band h2 em{font-style:italic;color:var(--sage-soft);font-weight:400;}
.page2 .p2-cta-band .cta-sub{color:var(--crm-soft);font-size:16.5px;line-height:1.8;max-width:60ch;margin:0 auto 36px;text-wrap:pretty;}
.page2 .cta-price{margin-top:26px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--sage-soft);}
.page2 .cta-links{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;margin-top:30px;}

/* ══ Layout colonnes / utilitaires ═════════════════════════════ */
.page2 .cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center;}
.page2 .cols--text-wide{grid-template-columns:1.12fr .88fr;}
.page2 .cols--aside{grid-template-columns:1.25fr .75fr;align-items:start;}
.page2 .cols--top{align-items:start;}
.page2 .stack{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px);}
.page2 .mt{margin-top:clamp(28px,4vw,44px);}
.page2 .mt-sm{margin-top:22px;}

/* ══ Séances (.sx-) ════════════════════════════════════════════ */
.page2 .sx-quote-block{margin-top:clamp(30px,4vw,48px);}
.page2 .sx-timeline{position:relative;}
.page2 .sx-temps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3vw,44px);position:relative;}
.page2 .sx-temp{position:relative;}
.page2 .sx-temp .step-num{font-size:clamp(64px,7vw,104px);margin-bottom:18px;display:block;color:rgba(168,191,158,.28);}
.page2 .sx-temp h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.4vw,32px);color:var(--crm);margin-bottom:14px;letter-spacing:-.01em;}
.page2 .sx-temp p{font-size:15.5px;line-height:1.75;color:var(--crm-soft);text-wrap:pretty;}
.page2 .sx-line{
  position:absolute;left:0;right:0;top:clamp(46px,5vw,74px);height:1px;background:rgba(168,191,158,.4);z-index:0;
  transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease-out);
}
.page2 .sx-line.is-visible{transform:scaleX(1);}
.page2 .sx-temp > *{position:relative;z-index:1;}

.page2 .sx-approaches{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);}
.page2 .approach-card{
  display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink);
  background:#FBF8F2;border:1px solid var(--line-soft);border-radius:20px;padding:clamp(28px,3vw,38px);position:relative;overflow:hidden;
  box-shadow:0 14px 44px -26px rgba(36,53,31,.18);
  transition:transform .5s var(--ease-snap),box-shadow .5s var(--ease-snap),border-color .45s var(--ease-out);
  will-change:transform;
}
.page2 .approach-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--line);}
.page2 .approach-glyph{
  font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(48px,5vw,68px);
  color:rgba(74,107,71,.34);line-height:.8;transition:color .4s var(--ease-out),transform .5s var(--spring-bouncy);
}
.page2 .approach-card:hover .approach-glyph{color:var(--sage);transform:translateY(-2px);}
.page2 .approach-card h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,27px);line-height:1.1;letter-spacing:-.01em;}
.page2 .approach-card p{font-size:14.5px;line-height:1.65;color:var(--ink-soft);text-wrap:pretty;flex-grow:1;}
.page2 .approach-go{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-top:4px;}
.page2 .approach-go .arw{transition:transform .45s var(--spring-bouncy);}
.page2 .approach-card:hover .approach-go .arw{transform:rotate(-45deg);}
.page2 .approach-card--flat{cursor:default;}
.page2 .approach-card--flat:hover{transform:none;box-shadow:0 14px 44px -26px rgba(36,53,31,.18);}

.page2 .sx-marquee-sec{padding-block:clamp(60px,8vw,100px);}
.page2 .sx-accos{margin:clamp(30px,4vw,48px) 0 clamp(30px,4vw,44px);}

/* ══ EFT (.ef-) ════════════════════════════════════════════════ */
.page2 .ef-pulse-wrap{position:relative;width:100%;max-width:440px;margin-inline:auto;}
.page2 .ef-cover{aspect-ratio:4/5;width:100%;}
.page2 .ef-pulse-wrap .arch{position:relative;z-index:1;}
.page2 .ef-pulse{
  position:absolute;left:50%;top:50%;width:60%;aspect-ratio:1;margin:-30% 0 0 -30%;
  border-radius:50%;border:1px solid rgba(74,107,71,.4);pointer-events:none;z-index:0;
  animation:p2efpulse 3.6s var(--ease-out) infinite;opacity:0;
}
.page2 .ef-pulse.p2{animation-delay:1.2s;}
.page2 .ef-pulse.p3{animation-delay:2.4s;}
@keyframes p2efpulse{0%{transform:scale(.7);opacity:.55;}70%{opacity:.12;}100%{transform:scale(1.7);opacity:0;}}
@media (prefers-reduced-motion:reduce){.page2 .ef-pulse{animation:none;display:none;}}

.page2 .ef-signature{
  font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.2vw,26px);line-height:1.6;color:var(--ink);
  max-width:60ch;
}
.page2 .ef-sign-block{display:flex;gap:clamp(24px,3vw,40px);align-items:center;flex-wrap:wrap;}
.page2 .ef-sign-medallion{width:clamp(120px,16vw,168px);flex-shrink:0;}
.page2 .ef-sign-name{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--sage-deep);margin-top:18px;display:block;}
.page2 .ef-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,28px);}

/* ══ Luminothérapie (.lu-) ═════════════════════════════════════ */
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion: no-preference){
    .page2.lu-page{animation:p2lulighten linear both;animation-timeline:scroll(root);animation-range:0 80vh;}
  }
}
@keyframes p2lulighten{to{background-color:#FCFAF4;}}
.page2.lu-page .p2-hero--halo,.page2.lu-page .bg-cream{background:transparent;}

.page2 .lu-inds{display:flex;flex-wrap:wrap;gap:clamp(14px,1.8vw,20px);justify-content:center;}
.page2 .lu-ind{
  flex:1 1 220px;max-width:300px;
  display:flex;align-items:center;gap:16px;
  background:#FBF8F2;border:1px solid var(--line-soft);border-radius:18px;padding:22px 24px;
  box-shadow:0 12px 36px -24px rgba(36,53,31,.2);
  transition:transform .45s var(--ease-snap),box-shadow .45s var(--ease-snap),border-color .4s var(--ease-out);
  will-change:transform;
}
.page2 .lu-ind:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-color:var(--line);}
.page2 .lu-dot{
  width:16px;height:16px;border-radius:50%;flex-shrink:0;position:relative;
  background:radial-gradient(circle at 38% 32%,#EBD9A0,var(--sage));
  box-shadow:0 0 0 0 rgba(200,178,120,.5);
  animation:p2lupulse 3.4s var(--ease-in-out) infinite;
}
.page2 .lu-ind:nth-child(2) .lu-dot{animation-delay:.5s;}
.page2 .lu-ind:nth-child(3) .lu-dot{animation-delay:1s;}
.page2 .lu-ind:nth-child(4) .lu-dot{animation-delay:1.5s;}
.page2 .lu-ind:nth-child(5) .lu-dot{animation-delay:2s;}
@keyframes p2lupulse{
  0%,100%{box-shadow:0 0 0 0 rgba(200,178,120,.45);transform:scale(.92);}
  50%{box-shadow:0 0 0 8px rgba(200,178,120,0);transform:scale(1.08);}
}
@media (prefers-reduced-motion:reduce){.page2 .lu-dot{animation:none;}}
.page2 .lu-ind span{font-size:15px;line-height:1.4;color:var(--ink);}

.page2 .lu-price-card{
  background:var(--bg-deep);color:var(--crm);border-radius:22px;padding:clamp(30px,3.4vw,44px);
  box-shadow:var(--shadow-card);position:relative;overflow:hidden;
}
.page2 .lu-price-card .lu-price{font-family:var(--serif);font-weight:500;font-size:clamp(52px,6vw,76px);line-height:.9;color:var(--crm);font-variant-numeric:tabular-nums;}
.page2 .lu-price-card .lu-price sup{font-size:.4em;font-style:italic;color:var(--sage-soft);margin-left:4px;vertical-align:super;}
.page2 .lu-price-card .lu-dur{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-soft);margin:12px 0 22px;padding-bottom:20px;border-bottom:1px solid rgba(246,241,232,.18);}
.page2 .lu-price-card p{font-size:15px;line-height:1.7;color:var(--crm-soft);}

/* ══ Interventions (.iv-) ══════════════════════════════════════ */
.page2 .iv-block{position:relative;}
.page2 .iv-bignum{
  position:absolute;top:clamp(-10px,-1vw,-24px);right:clamp(-6px,2vw,10px);z-index:0;pointer-events:none;
  font-family:var(--serif);font-style:italic;font-weight:500;line-height:.8;
  font-size:clamp(140px,26vw,320px);color:rgba(74,107,71,.09);
}
.page2 .bg-sand .iv-bignum{color:rgba(74,107,71,.1);}
.page2 .iv-block-inner{position:relative;z-index:1;}
.page2 .iv-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,80px);align-items:start;}
.page2 .iv-lede-it{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.3vw,28px);line-height:1.35;color:var(--sage-deep);margin-bottom:26px;text-wrap:balance;}
.page2 .iv-mention{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;}
.page2 .iv-cta-row{margin-top:30px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;}
.page2 .iv-formulas{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 0;}
.page2 .iv-formula{background:#FBF8F2;border:1px solid var(--line-soft);border-radius:18px;padding:clamp(24px,2.8vw,32px);
  transition:transform .45s var(--ease-snap),box-shadow .45s var(--ease-snap),border-color .4s var(--ease-out);will-change:transform;}
.page2 .iv-formula:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-color:var(--line);}
.page2 .iv-formula h4{font-family:var(--serif);font-weight:500;font-size:clamp(19px,2vw,23px);margin-bottom:10px;letter-spacing:-.005em;}
.page2 .iv-formula p{font-size:14.5px;line-height:1.65;color:var(--ink-soft);text-wrap:pretty;}

/* rail sticky 01·02·03 (desktop) */
.page2 .iv-rail{
  position:fixed;right:clamp(18px,2.4vw,34px);top:50%;transform:translateY(-50%);z-index:120;
  display:flex;flex-direction:column;gap:20px;opacity:0;transition:opacity .5s var(--ease-out);
}
.page2 .iv-rail.ready{opacity:1;}
.page2 .iv-rail a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink-soft);
  font-size:11px;letter-spacing:.16em;justify-content:flex-end;}
.page2 .iv-rail .dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--line);background:transparent;
  transition:background-color .35s var(--ease-out),border-color .35s var(--ease-out),transform .4s var(--spring-bouncy);}
.page2 .iv-rail .rl-label{opacity:0;transform:translateX(6px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);}
.page2 .iv-rail a:hover .rl-label,.page2 .iv-rail a.active .rl-label{opacity:1;transform:none;}
.page2 .iv-rail a.active .dot{background:var(--sage-deep);border-color:var(--sage-deep);transform:scale(1.25);}
.page2 .iv-rail a:hover .dot{border-color:var(--sage);}
@media (max-width:1280px){.page2 .iv-rail{display:none;}}
@media (prefers-reduced-motion:reduce){.page2 .iv-rail{transition:none;}}

/* ══ Phase B — blocs ═══════════════════════════════════════════ */
.page2 .blk-hero-photo{margin-top:clamp(30px,5vw,54px);}
.page2 .blk-hero-photo .arch{width:min(100%,560px);height:clamp(320px,44vw,520px);margin-inline:auto;}
.page2 .blocks-hero-inner{max-width:960px;}

/* ══ Responsive ════════════════════════════════════════════════ */
@media (max-width:1024px){
  .page2 .p2-hero--split .hero-inner{grid-template-columns:1fr;gap:50px;min-height:0;}
  .page2 .p2-hero-art{height:min(56vh,460px);min-height:320px;order:2;}
  .page2 .cols,.page2 .cols--text-wide,.page2 .cols--aside{grid-template-columns:1fr;gap:44px;}
  .page2 .iv-grid{grid-template-columns:1fr;gap:36px;}
  .page2 .sx-approaches{grid-template-columns:1fr;}
}
@media (max-width:820px){
  .page2 .sx-temps{grid-template-columns:1fr;gap:34px;}
  .page2 .sx-line{display:none;}
  .page2 .ef-two{grid-template-columns:1fr;}
  .page2 .iv-formulas{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .page2 .p2-hero-art .ring{display:none;}
  .page2 .ed-row{grid-template-columns:44px 1fr auto;gap:14px;}
  .page2 .ef-sign-block{gap:24px;}
  .page2 .p2-cta-band .ring{width:360px;height:360px;margin:-180px 0 0 -180px;}
  .page2 .p2-cta-band .ring.r2{width:240px;height:240px;margin:-120px 0 0 -120px;}
  .page2 .iv-bignum{font-size:clamp(120px,40vw,180px);opacity:.7;}
}
