:root{
  --navy:#061421;
  --navy-deep:#04101b;
  --navy-soft:#0a2134;
  --ivory:#f7f1e7;
  --ink:#10243e;
  --muted:#313d48;
  --gold:#c9974b;
  --gold-light:#e4bd77;
  --serif:"Bodoni Moda","Didot","Times New Roman",serif;
  --nav-serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--ivory);font-family:var(--sans)}
a{color:inherit;text-decoration:none}
.hero{
  position:relative;overflow:hidden;
  height:clamp(820px,58.5vw,1020px);min-height:820px;
  background:
    radial-gradient(circle at 78% 34%,rgba(34,71,101,.18),transparent 34%),
    radial-gradient(circle at 54% 82%,rgba(56,92,121,.13),transparent 30%),
    linear-gradient(180deg,#04101b 0%,#061522 52%,#092033 100%);
}
.starfield{position:absolute;inset:0;z-index:0;opacity:.5;background-image:
  radial-gradient(circle at 9% 18%,rgba(255,255,255,.85) 0 1px,transparent 1.4px),
  radial-gradient(circle at 16% 40%,rgba(212,232,248,.72) 0 1px,transparent 1.5px),
  radial-gradient(circle at 28% 8%,rgba(255,255,255,.8) 0 1px,transparent 1.4px),
  radial-gradient(circle at 36% 29%,rgba(215,235,250,.8) 0 1.1px,transparent 1.7px),
  radial-gradient(circle at 45% 12%,rgba(255,255,255,.82) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 52% 61%,rgba(219,237,251,.72) 0 1px,transparent 1.5px),
  radial-gradient(circle at 62% 15%,rgba(255,255,255,.85) 0 1px,transparent 1.4px),
  radial-gradient(circle at 73% 46%,rgba(255,255,255,.78) 0 .9px,transparent 1.4px);
  background-size:470px 350px,530px 420px,430px 370px,580px 450px,620px 500px,560px 410px,690px 540px,500px 440px;
}
.site-header{position:relative;z-index:20;height:112px;max-width:1600px;margin:0 auto;padding:18px 56px 0;display:flex;align-items:flex-start;justify-content:space-between}
.brand{display:flex;align-items:center;gap:20px;height:80px;flex:0 0 auto}
.brand-emblem{height:72px;width:auto;display:block;filter:drop-shadow(0 0 9px rgba(240,212,164,.12))}
.brand-wordmark{width:205px;height:auto;display:block;margin-top:1px}
.nav{display:flex;align-items:center;gap:54px;padding-top:18px;font-family:var(--nav-serif);font-size:1.34rem;line-height:1}
.nav a{position:relative;padding:13px 0 14px;color:#f1e8dc;transition:color .18s ease}
.nav a:hover{color:#fff}
.nav a.nav-active:not(.resources-link){color:#e6b55f}
.nav a.nav-active:not(.resources-link)::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#d5a04d}
.nav .resources-link{padding:12px 18px;border:1px solid rgba(201,151,75,.9);border-radius:4px}
.nav .resources-link::after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:1px;background:var(--gold)}
.menu{display:none;background:none;border:0;width:38px;height:34px;padding:0}.menu span{display:block;height:1px;background:#f4ede4;margin:7px 0}
.hero-art{position:absolute;z-index:2;right:-1.2%;top:86px;width:59.5%;height:calc(100% - 168px);pointer-events:none;overflow:visible;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.38) 8%,#000 18%,#000 100%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.38) 8%,#000 18%,#000 100%)}
.hero-bird{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;filter:saturate(.95) contrast(1.02)}
.hero-copy{position:absolute;z-index:5;left:max(6.6vw,70px);top:31.5%;width:min(48%,730px)}
.hero-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(4.75rem,5.45vw,6.55rem);line-height:1.03;letter-spacing:-.034em;margin:0;color:#f8f1e7;text-shadow:0 2px 18px rgba(0,0,0,.1)}
.gold-rule{width:38px;height:2px;background:var(--gold);margin:31px 0 25px}
.hero-lead{margin:0;font-family:var(--nav-serif);font-size:clamp(1.3rem,1.55vw,1.65rem);line-height:1.42;color:#e4b56a;font-weight:500;max-width:620px}
.hero-actions{display:flex;align-items:center;gap:34px;margin-top:39px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:66px;padding:0 34px;min-width:280px;border-radius:4px;font-family:var(--nav-serif);font-size:1.32rem;font-weight:500;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn.primary{color:#142032;background:linear-gradient(180deg,#e5be79 0%,#c89449 100%);box-shadow:0 12px 30px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.28)}
.btn.secondary{color:#f5ede3;background:rgba(4,16,27,.28);border:1px solid rgba(201,151,75,.92)}
.transition{position:absolute;z-index:10;left:0;right:0;bottom:-1px;height:150px;pointer-events:none}
.transition svg{display:block;width:100%;height:100%;overflow:visible}
.wave-fill{fill:var(--ivory)}
.wave-halo-wide{fill:none;stroke:#b8d8ec;stroke-width:11;stroke-linecap:round;opacity:.56;filter:url(#haloGlow)}
.wave-halo{fill:none;stroke:#edf7ff;stroke-width:3.2;stroke-linecap:round;opacity:.93;filter:url(#haloGlow)}

/* Bloc 2 — À la une */
.featured{position:relative;min-height:620px;background:var(--ivory);color:var(--ink);overflow:hidden;padding:24px 0 70px}
.featured::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.72),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 30%);pointer-events:none}
.featured-inner{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 56px;display:grid;grid-template-columns:37% 63%;align-items:start;gap:44px}
.constellation{position:absolute;color:rgba(195,154,88,.19);width:210px;height:auto;z-index:1;pointer-events:none}
.constellation-left{left:-12px;top:110px}.constellation-right{right:28px;top:88px;transform:scale(.92)}
.book-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:535px;perspective:1200px}
.book-shadow{position:absolute;width:260px;height:34px;left:50%;bottom:47px;transform:translateX(-48%);border-radius:50%;background:radial-gradient(ellipse,rgba(20,30,45,.26),rgba(20,30,45,0) 70%);filter:blur(6px)}
.book-cover{position:relative;width:min(300px,79%);height:auto;display:block;filter:drop-shadow(0 20px 20px rgba(10,20,30,.18));transform:perspective(1100px) rotateY(-5deg) rotateZ(-.25deg);transform-origin:center center}
.featured-copy{padding:10px 0 0;max-width:720px}
.eyebrow{font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.07em;color:#bd8841;margin-bottom:17px}
.eyebrow-star{display:inline-block;margin-right:10px;color:#ca9548;font-size:1.05rem}
.featured-copy h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.15rem,2.55vw,3rem);line-height:1.12;letter-spacing:-.025em;margin:0;color:#10233d}
.mini-gold-rule{width:36px;height:2px;background:#c9974b;margin:18px 0 14px}
.book-subtitle,.book-description{font-family:var(--sans);color:#28343e;font-size:1.02rem;line-height:1.48;margin:0}
.soft-rule{height:1px;background:rgba(23,44,69,.12);margin:15px 0 14px;max-width:610px}
.book-description{font-size:1.02rem;line-height:1.45}
.book-features{display:flex;align-items:center;gap:18px;margin-top:27px;color:#263342;white-space:nowrap}
.feature-item{display:flex;align-items:center;gap:10px;font-size:.94rem}
.feature-item svg{width:29px;height:29px;stroke:#c8954a;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.feature-sep{width:1px;height:27px;background:rgba(24,44,68,.13)}
.book-actions{display:flex;gap:18px;margin-top:28px;flex-wrap:wrap}
.book-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:220px;height:54px;padding:0 22px;border-radius:5px;font-size:.97rem;font-weight:600;font-family:var(--sans);transition:transform .18s ease,box-shadow .18s ease}
.book-btn:hover{transform:translateY(-2px)}
.book-btn svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.book-primary{background:#061a2d;color:#fff;box-shadow:0 10px 22px rgba(6,26,45,.12)}
.book-secondary{color:#10233d;border:1px solid rgba(201,151,75,.75);background:rgba(255,255,255,.34)}

@media(max-width:1150px){
  .site-header{padding-left:34px;padding-right:34px}.brand-emblem{height:62px}.brand-wordmark{width:180px}.nav{gap:30px;font-size:1.16rem}
  .hero-copy{left:6vw;width:50%}.hero-copy h1{font-size:clamp(4.2rem,6.5vw,5.5rem)}.btn{min-width:220px;padding:0 24px}.hero-art{width:60%;right:-5%}
  .featured-inner{padding:0 34px;grid-template-columns:35% 65%;gap:30px}.book-cover{width:min(270px,84%)}.featured-copy h2{font-size:2.3rem}.book-features{gap:12px}.feature-item{font-size:.86rem}
}
@media(max-width:900px){
  .featured{padding-top:74px}.featured-inner{grid-template-columns:1fr;max-width:760px;text-align:left;gap:0}.book-stage{order:2;min-height:440px;margin-top:12px}.featured-copy{order:1;padding-top:0}.book-cover{width:min(280px,56%)}.book-features{white-space:normal;flex-wrap:wrap}.feature-sep{display:none}.book-actions{margin-bottom:12px}.constellation-left{left:-80px}.constellation-right{right:-70px}
}
@media(max-width:850px){
  .hero{height:auto;min-height:920px}.site-header{height:88px;padding:10px 20px 0;align-items:flex-start}.brand{gap:12px;height:68px}.brand-emblem{height:54px}.brand-wordmark{width:155px}.nav{display:none;position:absolute;top:78px;left:20px;right:20px;padding:15px;background:rgba(3,14,24,.97);border:1px solid rgba(255,255,255,.08);flex-direction:column;align-items:flex-start;gap:2px}.nav.open{display:flex}.nav a,.nav .resources-link{width:100%;padding:12px 5px;border:0}.nav .resources-link::after,.nav a.nav-active:not(.resources-link)::after{display:none}.menu{display:block;margin-top:13px}
  .hero-copy{position:relative;left:auto;top:auto;width:auto;padding:85px 24px 0;z-index:6}.hero-copy h1{font-size:clamp(3.7rem,13vw,5.1rem)}.gold-rule{margin-top:24px;margin-bottom:20px}.hero-lead{font-size:1.18rem}.desktop-break{display:none}.hero-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:30px}.btn{width:100%;min-width:0;height:58px}
  .hero-art{right:-18%;top:470px;width:136%;height:430px;opacity:.63;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 88%,transparent 100%)}
  .transition{height:105px}
}
@media(max-width:600px){
  .featured{padding:65px 0 54px}.featured-inner{padding:0 22px}.featured-copy h2{font-size:2rem}.book-subtitle,.book-description{font-size:.96rem}.wide-only{display:none}.book-stage{min-height:380px}.book-cover{width:min(245px,70%)}.book-actions{flex-direction:column}.book-btn{width:100%}.book-features{display:grid;grid-template-columns:1fr;gap:12px}.constellation{opacity:.7}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.book-btn{transition:none}}

/* Bloc 3 — Les univers TITANIS */
.universes{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 25% 18%,rgba(35,78,105,.17),transparent 28%),
    radial-gradient(circle at 78% 44%,rgba(40,68,96,.12),transparent 32%),
    linear-gradient(180deg,#061320 0%,#061522 55%,#04111d 100%);
  padding:86px 0 105px;
  color:#f5eee4;
}
.universes-bg{position:absolute;inset:0;pointer-events:none;opacity:.72;background-image:
  radial-gradient(circle at 6% 12%,rgba(255,255,255,.82) 0 1px,transparent 1.5px),
  radial-gradient(circle at 18% 32%,rgba(227,185,111,.58) 0 1px,transparent 1.6px),
  radial-gradient(circle at 27% 7%,rgba(255,255,255,.72) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 39% 21%,rgba(212,231,247,.64) 0 1px,transparent 1.5px),
  radial-gradient(circle at 55% 11%,rgba(255,255,255,.76) 0 1px,transparent 1.5px),
  radial-gradient(circle at 68% 35%,rgba(231,187,110,.5) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 81% 19%,rgba(255,255,255,.75) 0 1px,transparent 1.5px),
  radial-gradient(circle at 93% 42%,rgba(213,232,247,.62) 0 1px,transparent 1.5px);
  background-size:460px 350px,530px 430px,600px 480px,520px 390px,650px 530px,560px 440px,700px 550px,510px 410px;
}
.universes-inner{position:relative;z-index:2;max-width:1160px;margin:0 auto;padding:0 52px}
.universes-header{text-align:center;margin:0 auto 42px;max-width:850px}
.universes-kicker{font-family:var(--sans);font-size:.98rem;letter-spacing:.36em;font-weight:500;color:#d0a35d;text-transform:uppercase}
.universes-header h2{font-family:var(--serif);font-weight:400;font-size:clamp(3.7rem,5vw,5.15rem);line-height:1;margin:7px 0 10px;letter-spacing:.14em;color:#f7efe5}
.universes-title-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:11px auto 16px;color:#c9954b}
.universes-title-rule span{display:block;width:108px;height:1px;background:currentColor;opacity:.76}
.universes-title-rule i{font-style:normal;font-size:1rem}
.universes-header p{margin:0 auto;font-family:var(--nav-serif);font-size:clamp(1.16rem,1.55vw,1.5rem);line-height:1.4;color:#efe5d7;max-width:780px}
.universe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 26px}
.universe-card{
  --accent:#c9954b;
  position:relative;overflow:hidden;min-height:520px;border-radius:18px;
  padding:36px 42px 28px;
  border:1px solid color-mix(in srgb,var(--accent) 72%,#f4e8d5 10%);
  background:
    radial-gradient(circle at 78% 14%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 24%),
    radial-gradient(circle at 27% 18%,rgba(255,255,255,.035),transparent 30%),
    linear-gradient(180deg,rgba(9,27,43,.94),rgba(4,18,31,.95));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),0 18px 45px rgba(0,0,0,.16);
  color:#f5ede3;
  isolation:isolate;
}
.universe-card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.52;pointer-events:none;background-image:
  radial-gradient(circle at 8% 12%,rgba(255,255,255,.7) 0 .7px,transparent 1.1px),
  radial-gradient(circle at 18% 32%,color-mix(in srgb,var(--accent) 70%,white 30%) 0 .7px,transparent 1.2px),
  radial-gradient(circle at 29% 14%,rgba(255,255,255,.7) 0 .65px,transparent 1.1px),
  radial-gradient(circle at 52% 8%,rgba(255,255,255,.6) 0 .65px,transparent 1.1px),
  radial-gradient(circle at 68% 28%,rgba(255,255,255,.64) 0 .7px,transparent 1.1px),
  radial-gradient(circle at 82% 17%,color-mix(in srgb,var(--accent) 63%,white 37%) 0 .7px,transparent 1.2px);
  background-size:240px 190px,310px 250px,270px 230px,340px 290px,280px 220px,360px 300px;
}
.universe-card::after{content:"";position:absolute;z-index:-1;right:-20%;bottom:-18%;width:76%;height:66%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 6%,transparent),transparent 68%);transform:rotate(-28deg);filter:blur(2px)}
.universe-excel{--accent:#7fb77b}
.universe-tax{--accent:#c99649}
.universe-wealth{--accent:#69b2aa}
.universe-science{--accent:#7f9dca}
.universe-card>.universe-kicker{position:relative;z-index:3;margin-top:116px;color:var(--accent);font-family:var(--sans);font-size:.84rem;letter-spacing:.32em}
.card-rule{display:flex;align-items:center;gap:8px;color:var(--accent);margin:12px 0 24px;width:138px}
.card-rule span{height:1px;flex:1;background:currentColor;opacity:.75}.card-rule i{font-style:normal;font-size:.8rem}
.universe-card h3{position:relative;z-index:3;font-family:var(--serif);font-size:clamp(3rem,3.8vw,4rem);line-height:1.02;font-weight:400;letter-spacing:-.035em;margin:0 0 21px;color:#f6eee4;text-shadow:0 1px 14px rgba(0,0,0,.08)}
.universe-wealth h3{font-size:clamp(2.55rem,3.2vw,3.45rem)}
.universe-promise{position:relative;z-index:3;margin:0;font-family:var(--nav-serif);font-size:clamp(1.18rem,1.6vw,1.45rem);line-height:1.42;color:#efe5d8}
.card-divider{position:absolute;left:42px;right:42px;bottom:91px;display:flex;align-items:center;gap:9px;color:var(--accent)}
.card-divider span{height:1px;flex:1;background:currentColor;opacity:.38}.card-divider i{font-style:normal;font-size:.72rem;opacity:.92}
.universe-footer{position:absolute;left:42px;right:42px;bottom:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;font-family:var(--nav-serif);color:var(--accent)}
.status{font-size:1.18rem;white-space:nowrap}.status b{font-weight:400;margin-right:8px}.status.live{font-size:1.08rem}
.universe-footer a{position:relative;font-size:1.25rem;padding-bottom:4px;white-space:nowrap;transition:transform .18s ease,color .18s ease}
.universe-footer a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.72}
.universe-footer a:hover{transform:translateX(3px);color:#fff}
.universe-stars{position:absolute;z-index:2;right:26px;top:24px;width:235px;height:170px;color:#f4dfbc;opacity:.98}
.universe-stars svg{width:100%;height:100%;overflow:visible}
.u-lines,.u-orbits{fill:none;stroke:#e7c98d;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:.72}
.universe-excel .u-lines{stroke:#d9d1b9;opacity:.68}.u-lines .faded{opacity:.24;stroke-dasharray:5 7}
.universe-science .u-orbits{stroke:#9db3d4;opacity:.72}
.u-starlets{fill:#f5e7c9}.u-starlets .accent{fill:var(--accent)}.u-starlets .major{fill:#fff0ca}
.universe-tax .u-starlets{fill:#f3d493}.universe-wealth .u-starlets{fill:#f2e4c6}.universe-science .u-starlets{fill:#f4dcae}

@media(max-width:1000px){
  .universes-inner{padding:0 34px}.universe-card{min-height:500px;padding-left:32px;padding-right:32px}.card-divider,.universe-footer{left:32px;right:32px}.universe-stars{width:210px;right:15px}.universe-card>.universe-kicker{margin-top:112px}.status{font-size:1.02rem}.universe-footer a{font-size:1.12rem}
}
@media(max-width:760px){
  .universes{padding:72px 0 82px}.universes-inner{padding:0 20px}.universes-header{margin-bottom:34px}.universes-header h2{font-size:3.4rem;letter-spacing:.12em}.universes-title-rule span{width:72px}.universe-grid{grid-template-columns:1fr;gap:18px}.universe-card{min-height:475px}.universe-card>.universe-kicker{margin-top:108px}.universe-stars{width:205px;top:18px}.universe-card h3{font-size:3.15rem}.universe-wealth h3{font-size:2.75rem}
}
@media(max-width:480px){
  .universes-header h2{font-size:2.85rem}.universes-header p{font-size:1.1rem}.universe-card{min-height:450px;padding:28px 24px 24px}.universe-card>.universe-kicker{margin-top:100px}.universe-stars{right:8px;width:185px}.card-divider,.universe-footer{left:24px;right:24px}.universe-card h3{font-size:2.75rem}.universe-wealth h3{font-size:2.35rem}.universe-promise{font-size:1.12rem}.universe-footer{bottom:28px}.status,.status.live{font-size:.95rem}.universe-footer a{font-size:1.05rem}
}

/* V6 — corrections ciblées cartes univers : Voie lactée + logos validés */
.universe-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-42%;
  top:8%;
  width:176%;
  height:48%;
  border-radius:50%;
  transform:rotate(57deg);
  pointer-events:none;
  opacity:.62;
  filter:blur(5px);
  background:
    radial-gradient(ellipse at 50% 50%,rgba(220,229,236,.16) 0%,rgba(197,211,223,.10) 17%,rgba(173,191,207,.055) 34%,transparent 68%),
    radial-gradient(circle at 24% 48%,rgba(255,255,255,.26) 0 1px,transparent 1.7px) 0 0/17px 23px,
    radial-gradient(circle at 63% 54%,rgba(238,220,183,.20) 0 .8px,transparent 1.5px) 0 0/23px 19px,
    radial-gradient(circle at 42% 47%,rgba(255,255,255,.18) 0 .7px,transparent 1.4px) 0 0/29px 31px;
}
.universe-card::before{opacity:.66}
.universe-stars{z-index:3}
.excel-grid-lines{stroke:#e5d9bb;opacity:.72}
.universe-excel .excel-grid-lines{stroke:#dfd5bf;opacity:.72}
.tax-percent-line{stroke:#e4b968;stroke-width:1.35;opacity:.82}
.universe-tax .u-starlets .major{fill:#ffe5a8}

/* V7 — cartes univers : symboles fidèles aux visuels validés + vraie texture Voie lactée */
.universe-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.58;
  background:
    url("assets/milkyway-texture.png") left -7% top 4% / 64% 34% no-repeat,
    url("assets/milkyway-texture.png") right -12% bottom 4% / 68% 36% no-repeat,
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.68) 0 .7px,transparent 1.1px),
    radial-gradient(circle at 18% 32%,color-mix(in srgb,var(--accent) 65%,white 35%) 0 .7px,transparent 1.2px),
    radial-gradient(circle at 52% 8%,rgba(255,255,255,.6) 0 .65px,transparent 1.1px),
    radial-gradient(circle at 82% 17%,color-mix(in srgb,var(--accent) 58%,white 42%) 0 .7px,transparent 1.2px);
  background-blend-mode:screen,screen,normal,normal,normal,normal;
  background-size:64% 34%,68% 36%,240px 190px,310px 250px,340px 290px,360px 300px;
  filter:saturate(.88);
}
.universe-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(2,13,24,.08),rgba(2,13,24,.16));
}
.universe-stars{
  z-index:3;
  right:24px;
  top:20px;
  width:250px;
  height:185px;
  overflow:visible;
  opacity:1;
}
.universe-symbol-img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 58%,rgba(0,0,0,.88) 72%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 58%,rgba(0,0,0,.88) 72%,transparent 100%);
}
.universe-tax .universe-stars{width:215px;height:190px;right:28px;top:24px}
.universe-wealth .universe-stars{width:245px;height:188px;right:24px;top:20px}
.universe-science .universe-stars{width:262px;height:196px;right:18px;top:14px}
.universe-excel .universe-stars{width:244px;height:188px;right:22px;top:18px}

@media(max-width:1000px){
  .universe-stars{right:12px;width:220px;height:170px}
  .universe-tax .universe-stars{width:195px;height:170px;right:18px}
  .universe-wealth .universe-stars{width:220px;height:170px;right:13px}
  .universe-science .universe-stars{width:230px;height:178px;right:8px}
  .universe-excel .universe-stars{width:220px;height:170px;right:12px}
}

/* V8 — correction finale des cartes Univers : un seul fond Voie lactée + symboles détourés */
.universe-card{
  background:
    linear-gradient(180deg,rgba(3,15,27,.20) 0%,rgba(3,15,27,.28) 54%,rgba(2,12,23,.34) 100%),
    url("assets/milkyway-texture.png") center center / cover no-repeat;
}
.universe-card::before,
.universe-card::after{
  content:none !important;
  display:none !important;
}
.universe-symbol-img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  mix-blend-mode:normal;
  -webkit-mask-image:none;
  mask-image:none;
  filter:none;
}

/* V9 — bloc Pourquoi TITANIS ? basé sur le visuel validé */
.why{
  background:var(--navy-deep);
  padding:0 0 88px;
  color:var(--ink);
}
.why-panel{
  position:relative;
  width:min(1680px,calc(100% - 36px));
  max-width:none;
  margin:0 auto;
  min-height:860px;
  border-radius:24px;
  overflow:hidden;
  display:grid;
  grid-template-columns:52% 48%;
  background:#f8f3eb;
  box-shadow:0 26px 70px rgba(0,0,0,.2);
}
.why-art{
  position:relative;
  min-height:860px;
  overflow:hidden;
  background:#f8f3eb;
  z-index:1;
}
.why-art img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 17%;
  display:block;
  mix-blend-mode:multiply;
  opacity:.98;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 70%,rgba(0,0,0,.92) 80%,rgba(0,0,0,.45) 91%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 70%,rgba(0,0,0,.92) 80%,rgba(0,0,0,.45) 91%,transparent 100%);
}
.why-content{
  position:relative;
  z-index:2;
  margin-left:-30px;
  padding:58px 56px 42px 62px;
  background:linear-gradient(90deg,rgba(248,243,235,.1),rgba(248,243,235,.9) 9%,#f8f3eb 21%);
}
.why-kicker{
  display:flex;
  align-items:center;
  gap:16px;
  font-family:var(--sans);
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.27em;
  color:#132d4d;
}
.why-kicker span{width:54px;height:1px;background:var(--gold);opacity:.72}
.why-content h2{
  margin:22px 0 30px;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(3.8rem,5vw,5.45rem);
  line-height:.98;
  letter-spacing:-.045em;
  color:#102848;
}
.why-content h2 span{color:#aa7b33}
.why-title-rule{
  display:flex;
  align-items:center;
  gap:12px;
  color:#c3944b;
  margin:0 0 28px;
}
.why-title-rule span{height:1px;flex:1;background:currentColor;opacity:.45}
.why-title-rule i{font-style:normal;font-size:1rem}
.why-item{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:24px;
  align-items:center;
  padding:24px 0;
  border-bottom:1px solid rgba(185,140,70,.28);
}
.why-icon{
  width:78px;
  height:78px;
  border:1.3px solid #244d7a;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.26);
}
.why-icon svg{
  width:49px;
  height:49px;
  fill:none;
  stroke:#17395f;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.why-icon svg circle{fill:#a97e3c;stroke:none}
.why-item p{
  margin:0;
  font-family:var(--nav-serif);
  font-size:clamp(1.15rem,1.45vw,1.4rem);
  line-height:1.45;
  color:#183556;
}
.why-item strong{font-weight:600;color:#102f55}
.why-conclusion{
  margin:28px 0 10px;
  text-align:center;
  font-family:var(--serif);
  font-size:clamp(2rem,2.6vw,2.65rem);
  line-height:1.1;
  color:#a57b39;
}
.why-signature{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:10px;
}
.why-signature::before{
  content:"";
  display:block;
  width:180px;
  height:1px;
  background:linear-gradient(90deg,transparent,#c49448 28%,#c49448 72%,transparent);
  margin-bottom:5px;
}
.why-signature-logo{
  display:block;
  width:235px;
  max-width:68%;
  height:auto;
  object-fit:contain;
}

@media(max-width:1050px){
  .why-panel{grid-template-columns:44% 56%;min-height:760px}
  .why-art{min-height:760px}
  .why-content{margin-left:-26px;padding:52px 34px 34px 48px}
  .why-item{grid-template-columns:74px 1fr;gap:18px}
  .why-icon{width:66px;height:66px}.why-icon svg{width:42px;height:42px}
}
@media(max-width:760px){
  .why{padding:0 12px 64px}
  .why-panel{display:block;min-height:0;border-radius:18px}
  .why-art{height:430px;min-height:0}
  .why-art img{
    object-position:center 18%;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.7) 84%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.7) 84%,transparent 100%);
  }
  .why-content{margin-left:0;padding:18px 24px 34px;background:#f8f3eb}
  .why-kicker{font-size:.78rem;letter-spacing:.22em}.why-kicker span{width:36px}
  .why-content h2{font-size:3.4rem;margin:17px 0 22px}
  .why-item{grid-template-columns:60px 1fr;gap:14px;padding:20px 0}
  .why-icon{width:54px;height:54px}.why-icon svg{width:35px;height:35px}
  .why-item p{font-size:1.08rem}
  .why-conclusion{font-size:2rem}
}
@media(max-width:480px){
  .why-art{height:330px}
  .why-content{padding-left:18px;padding-right:18px}
  .why-content h2{font-size:2.75rem}
  .why-item{grid-template-columns:1fr;gap:10px;align-items:start}
  .why-icon{width:50px;height:50px}
  .why-signature-logo{width:205px;max-width:78%}
}

/* V12 — raccords d'images et intégration du bloc Pourquoi TITANIS */
@media (min-width:851px){
  /* Le masque est appliqué à l'image elle-même pour faire disparaître sa tranche gauche
     sans modifier le reste du Hero. */
  .hero-art{
    -webkit-mask-image:none;
    mask-image:none;
    overflow:visible;
  }
  .hero-bird{
    -webkit-mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.28) 3%,
      rgba(0,0,0,.72) 7%,
      #000 11%,
      #000 100%);
    mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.28) 3%,
      rgba(0,0,0,.72) 7%,
      #000 11%,
      #000 100%);
  }

  /* Même fond sur tout le bloc : l'illustration et le texte ne forment plus deux plaques. */
  .why-panel{
    grid-template-columns:50% 50%;
    background:#f5f0e9;
  }
  .why-art{
    background:#f5f0e9;
    overflow:hidden;
  }
  .why-art img{
    top:-95px;
    left:0;
    width:100%;
    height:auto;
    max-width:none;
    object-fit:initial;
    object-position:initial;
    mix-blend-mode:normal;
    opacity:1;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .why-content{
    margin-left:0;
    padding-left:40px;
    background:transparent;
  }
}

/* Raccord encore plus doux sur les grands écrans : la couleur de fond épouse l'image. */
@media (min-width:1350px){
  .why-content{padding-left:28px}
}

/* Le bloc livre reste totalement transparent autour de la couverture. */
.book-stage,
.book-cover{background:transparent}

/* V13 — suppression définitive des deux "plaques" d'images visibles */
@media (min-width:851px){
  /* HERO : le ciel sombre de l'asset se fond dans le vrai fond CSS du Hero.
     Le mode lighten conserve le Titanis, les étoiles et la lune, mais évite que
     les pixels de ciel plus sombres dessinent un rectangle. */
  .hero-art{
    -webkit-mask-image:none;
    mask-image:none;
    overflow:visible;
  }
  .hero-bird{
    mix-blend-mode:lighten;
    opacity:.985;
    -webkit-mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.18) 3%,
      rgba(0,0,0,.58) 8%,
      rgba(0,0,0,.90) 14%,
      #000 20%,
      #000 100%);
    mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.18) 3%,
      rgba(0,0,0,.58) 8%,
      rgba(0,0,0,.90) 14%,
      #000 20%,
      #000 100%);
  }

  /* POURQUOI TITANIS : une seule couleur de fond pour toute la section.
     Le fond clair de l'illustration se fusionne par darken avec le panneau ;
     le bord droit est très légèrement fondu pour supprimer toute couture. */
  .why-panel,
  .why-art,
  .why-content{
    background-color:#f5f0e9;
  }
  .why-art img{
    content:url("assets/why-titanis-visual-clean.png");
    top:-77px;
    left:0;
    width:100%;
    height:auto;
    mix-blend-mode:darken;
    opacity:1;
    -webkit-mask-image:linear-gradient(to right,
      #000 0%,
      #000 76%,
      rgba(0,0,0,.96) 82%,
      rgba(0,0,0,.72) 90%,
      rgba(0,0,0,.28) 97%,
      transparent 100%);
    mask-image:linear-gradient(to right,
      #000 0%,
      #000 76%,
      rgba(0,0,0,.96) 82%,
      rgba(0,0,0,.72) 90%,
      rgba(0,0,0,.28) 97%,
      transparent 100%);
  }
  .why-content{
    background:transparent !important;
  }
}
\n\n/* V14 — raccords supprimés à la source (assets PNG avec transparence progressive).\n   Aucun changement de géométrie : on conserve les proportions validées en V13. */\n@media (min-width:851px){\n  .hero-bird{\n    content:url("assets/hero-visual-blend.png");\n    mix-blend-mode:normal;\n    opacity:1;\n    -webkit-mask-image:none;\n    mask-image:none;\n  }\n\n  .why-panel,\n  .why-art,\n  .why-content{\n    background:#f5f0ea;\n  }\n  .why-art img{\n    content:url("assets/why-titanis-blend.png");\n    top:-77px;\n    left:0;\n    width:100%;\n    height:auto;\n    max-width:none;\n    object-fit:initial;\n    object-position:initial;\n    mix-blend-mode:normal;\n    opacity:1;\n    -webkit-mask-image:none;\n    mask-image:none;\n  }\n  .why-content{background:transparent !important;}\n}\n
/* V15 — bloc Ressources */
.resources-section{
  background:var(--navy-deep);
  padding:0 0 84px;
  color:#f6eee4;
}
.resources-panel{
  position:relative;
  width:min(1680px,calc(100% - 36px));
  min-height:760px;
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(101,142,183,.38);
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 62%,rgba(57,125,178,.16),transparent 28%),
    radial-gradient(circle at 14% 38%,rgba(46,137,171,.12),transparent 24%),
    radial-gradient(circle at 86% 42%,rgba(54,111,174,.13),transparent 24%),
    linear-gradient(180deg,#06182d 0%,#06172a 42%,#051529 100%);
  box-shadow:0 26px 70px rgba(0,0,0,.24);
}
.resources-panel::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;opacity:.8;
  background-image:
    radial-gradient(circle at 9% 22%,rgba(255,255,255,.8) 0 .8px,transparent 1.2px),
    radial-gradient(circle at 18% 35%,rgba(115,220,239,.75) 0 .8px,transparent 1.2px),
    radial-gradient(circle at 24% 10%,rgba(238,190,98,.7) 0 .7px,transparent 1.2px),
    radial-gradient(circle at 39% 26%,rgba(255,255,255,.7) 0 .8px,transparent 1.2px),
    radial-gradient(circle at 57% 13%,rgba(255,255,255,.75) 0 .7px,transparent 1.2px),
    radial-gradient(circle at 73% 29%,rgba(238,190,98,.65) 0 .7px,transparent 1.2px),
    radial-gradient(circle at 88% 15%,rgba(118,216,238,.78) 0 .8px,transparent 1.2px),
    radial-gradient(circle at 95% 37%,rgba(255,255,255,.7) 0 .7px,transparent 1.2px);
  background-size:260px 220px,330px 270px,300px 240px,380px 290px,350px 260px,420px 320px,310px 250px,390px 300px;
}
.resources-copy{position:relative;z-index:3;text-align:center;padding:54px 24px 0}
.resources-kicker{display:flex;justify-content:center;align-items:center;gap:18px;font-family:var(--sans);font-size:.9rem;font-weight:600;letter-spacing:.18em;color:#d6a24e}
.resources-kicker span{display:block;width:88px;height:1px;background:#d6a24e;opacity:.7}
.resources-copy h2{font-family:var(--serif);font-size:clamp(3.35rem,5vw,5.8rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:24px 0 18px;color:#f8efe4}
.resources-title-rule{display:flex;align-items:center;justify-content:center;gap:15px;color:#d6a24e;margin:0 auto 20px;width:min(510px,78%)}
.resources-title-rule span{height:1px;flex:1;background:currentColor;opacity:.48}.resources-title-rule i{font-style:normal;font-size:.8rem}
.resources-copy p{font-family:var(--sans);font-size:1.28rem;line-height:1.55;color:#f1e9df;margin:0 auto 26px;max-width:760px}
.resources-copy strong{color:#d6a24e;font-weight:500}
.resources-cta{display:inline-flex;align-items:center;gap:14px;padding:16px 28px;border:1px solid #d6a24e;border-radius:10px;background:linear-gradient(180deg,#f2d08a,#d9a84f);color:#07182a;font-family:var(--sans);font-size:1.05rem;font-weight:600;box-shadow:0 9px 26px rgba(214,162,78,.18);transition:transform .18s ease,box-shadow .18s ease}
.resources-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(214,162,78,.25)}
.resources-cta svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.resources-cta>span{font-size:1.8rem;line-height:1;margin-left:4px}
.resources-orbit{position:relative;height:345px;margin:12px 30px 0}
.orbit-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#2f85bc;stroke-width:1.2;stroke-dasharray:3 5;opacity:.5}
.resource-core{position:absolute;left:50%;top:56%;width:126px;height:126px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;border:1px solid rgba(214,162,78,.45);box-shadow:0 0 40px rgba(214,162,78,.15)}
.resource-core::before,.resource-core::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(116,190,225,.28)}
.resource-core::before{inset:-34px}.resource-core::after{inset:-66px}
.resource-core span{font-size:4.7rem;color:#ffd779;text-shadow:0 0 10px #ffd779,0 0 24px rgba(255,203,98,.8),0 0 50px rgba(255,203,98,.48)}
.resource-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--sans);font-size:.9rem;letter-spacing:.06em;text-align:center;color:#74d5d8}
.resource-icon{width:76px;height:76px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 18px rgba(75,178,207,.08);background:rgba(4,21,39,.35)}
.resource-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.node-files{left:11%;top:17%;color:#62d6d1}.node-exercises{right:12%;top:16%;color:#76b6e8}.node-corrections{left:12%;bottom:5%;color:#d6a24e}.node-complements{right:11%;bottom:1%;color:#63d8ce}
.excel-icon{position:relative;display:flex;align-items:center;justify-content:center;gap:5px}.excel-x{font-size:1.8rem;font-weight:500}.excel-grid{font-size:1.8rem}
@media(max-width:900px){
  .resources-panel{min-height:820px}.resources-orbit{height:420px;margin-top:8px}.node-files{left:6%}.node-exercises{right:6%}.node-corrections{left:7%}.node-complements{right:6%}
}
@media(max-width:680px){
  .resources-section{padding-bottom:60px}.resources-panel{width:calc(100% - 24px);min-height:940px}.resources-copy{padding-top:44px}.resources-copy h2{font-size:3.2rem}.resources-copy p{font-size:1.08rem}.resources-kicker span{width:40px}.resources-orbit{height:560px;margin:12px 10px 0}.orbit-lines{opacity:.32}.resource-core{top:50%;width:104px;height:104px}.resource-core::before{inset:-24px}.resource-core::after{inset:-48px}.resource-node{font-size:.78rem}.resource-icon{width:66px;height:66px}.node-files{left:7%;top:8%}.node-exercises{right:7%;top:8%}.node-corrections{left:7%;bottom:8%}.node-complements{right:7%;bottom:5%}
}

/* V16 — Ressources aligné sur la maquette validée.
   Modifications limitées à ce bloc : géométrie, CTA, orbites, signature et icône tableur générique. */
.resources-section{
  background:#f5f0ea;
  padding:28px 0 38px;
}
.resources-panel{
  width:min(1680px,calc(100% - 54px));
  min-height:1040px;
  border-radius:30px;
  border:1px solid rgba(97,139,181,.25);
  background:
    radial-gradient(circle at 50% 63%,rgba(50,123,180,.18),transparent 25%),
    radial-gradient(circle at 12% 50%,rgba(55,156,185,.08),transparent 22%),
    radial-gradient(circle at 87% 49%,rgba(53,126,187,.10),transparent 22%),
    linear-gradient(180deg,#05162b 0%,#071a31 52%,#06172b 100%);
  box-shadow:0 22px 58px rgba(0,0,0,.18);
}
.resources-panel::before{opacity:.68}
.resources-copy{padding:62px 24px 0}
.resources-kicker{font-size:.98rem;letter-spacing:.18em;color:#d6a24e}
.resources-kicker span{width:92px}
.resources-copy h2{
  font-size:clamp(3.45rem,4.7vw,5.45rem);
  line-height:1.06;
  margin:28px 0 24px;
  letter-spacing:-.03em;
}
.resources-title-rule{width:min(520px,75%);margin-bottom:27px}
.resources-copy p{font-size:1.28rem;line-height:1.48;margin-bottom:30px}
.resources-cta{
  min-width:505px;
  justify-content:center;
  gap:18px;
  padding:18px 30px;
  border:1.5px solid #79d8ff;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(74,151,204,.94),rgba(42,112,165,.94));
  color:#f7f3ec;
  font-size:1.16rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 9px 28px rgba(28,119,178,.22);
}
.resources-cta:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 34px rgba(28,119,178,.32)}
.resources-cta svg{width:30px;height:30px}
.resources-cta>span{font-size:2rem}

.resources-orbit{height:510px;margin:12px 58px 0}
.orbit-lines{stroke:#4b9cd0;stroke-width:1;stroke-dasharray:3 5;opacity:.50}
.resource-core{
  top:53%;
  width:148px;
  height:148px;
  border:0;
  box-shadow:none;
}
.resource-core::before{inset:-43px;border-color:rgba(113,192,229,.30)}
.resource-core::after{inset:-82px;border-color:rgba(113,192,229,.23)}
.core-star{width:94px;height:94px;overflow:visible;filter:drop-shadow(0 0 8px rgba(255,215,121,.9)) drop-shadow(0 0 22px rgba(255,201,96,.65))}
.core-star polygon{fill:#ffd77d}
.resource-node{gap:11px;font-size:.94rem;letter-spacing:.05em}
.resource-icon{width:86px;height:86px;background:rgba(4,21,39,.24);box-shadow:0 0 20px rgba(75,178,207,.08)}
.resource-icon svg{width:46px;height:46px;stroke-width:1.55}
.node-files{left:15%;top:14%;color:#67ded8}
.node-exercises{right:15%;top:14%;color:#8bc5f0}
.node-corrections{left:16%;bottom:13%;color:#e2ad53}
.node-complements{right:15%;bottom:9%;color:#68ddd3}
.spreadsheet-icon svg{width:50px;height:50px}

.resources-signature{
  position:absolute;
  left:50%;
  bottom:-2px;
  transform:translateX(-50%);
  width:280px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  pointer-events:none;
}
.resources-signature-emblem{width:64px;height:64px;object-fit:cover;object-position:left top;filter:none}
.resources-signature-wordmark{width:205px;height:auto;display:block}
.resources-signature-rule{width:205px;display:flex;align-items:center;gap:9px;color:#d6a24e;margin-top:0}
.resources-signature-rule span{height:1px;flex:1;background:currentColor;opacity:.58}
.resources-signature-rule i{font-style:normal;font-size:.72rem}

@media(max-width:900px){
  .resources-panel{min-height:930px}
  .resources-cta{min-width:0;width:min(505px,90%)}
  .resources-orbit{height:470px;margin:14px 20px 0}
  .node-files{left:7%}.node-exercises{right:7%}.node-corrections{left:8%}.node-complements{right:7%}
}
@media(max-width:680px){
  .resources-section{padding:16px 0 28px}
  .resources-panel{width:calc(100% - 24px);min-height:980px;border-radius:24px}
  .resources-copy{padding-top:44px}
  .resources-copy h2{font-size:3.15rem}
  .resources-copy p{font-size:1.06rem}
  .resources-orbit{height:565px;margin:12px 10px 0}
  .resource-core{top:48%;width:108px;height:108px}
  .resource-core::before{inset:-25px}.resource-core::after{inset:-49px}
  .core-star{width:70px;height:70px}
  .resource-icon{width:66px;height:66px}.resource-icon svg{width:37px;height:37px}
  .resources-signature{bottom:4px;width:200px}.resources-signature-emblem{width:48px;height:48px}.resources-signature-wordmark{width:150px}.resources-signature-rule{width:150px}
  .node-files{left:4%;top:7%}.node-exercises{right:4%;top:7%}.node-corrections{left:4%;bottom:12%}.node-complements{right:4%;bottom:9%}
}

/* V17 — bloc Ressources calé directement sur le visuel validé.
   Desktop/tablette large : visuel de référence exact, avec hotspot interactif sur le CTA.
   Mobile : conservation du bloc HTML responsive existant. */
.sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.resources-approved-shell{
  position:relative;
  display:block;
  width:min(1680px,100%);
  margin:0 auto;
  background:#f5f0ea;
}
.resources-approved-visual{
  display:block;
  width:100%;
  height:auto;
}
.resources-approved-hotspot{
  position:absolute;
  left:31.55%;
  top:45.2%;
  width:36.1%;
  height:8.1%;
  border-radius:16px;
  z-index:4;
}
.resources-approved-hotspot:focus-visible{
  outline:3px solid #9be4ff;
  outline-offset:4px;
}
@media (min-width:901px){
  .resources-section{background:#f5f0ea;padding:0;}
  .resources-section>.resources-panel{display:none!important;}
}
@media (max-width:900px){
  .resources-approved-shell{display:none!important;}
  .resources-section>.resources-panel{display:block!important;}
}


/* V19 — Footer TITANIS : structure fidèle à la maquette validée, éléments superflus retirés. */
.site-footer{
  position:relative;
  z-index:6;
  background:
    radial-gradient(circle at 14% 10%,rgba(34,71,101,.10),transparent 24%),
    linear-gradient(180deg,#051421 0%,#04111c 100%);
  color:#f2eadf;
  border-top:1px solid rgba(225,183,111,.18);
  padding:34px 4.2vw 22px;
}
.footer-inner{
  width:min(1480px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(360px,1.45fr) minmax(220px,.72fr) minmax(220px,.72fr);
  gap:0;
  align-items:stretch;
}
.footer-brand,
.footer-nav-group,
.footer-info-group{
  min-height:185px;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:8px 58px 8px 12px;
}
.footer-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:20px;
  width:max-content;
  max-width:100%;
}
.footer-emblem{
  width:88px;
  height:auto;
  display:block;
  flex:0 0 auto;
  filter:drop-shadow(0 0 10px rgba(235,197,133,.11));
}
.footer-wordmark{
  width:220px;
  max-width:60%;
  height:auto;
  display:block;
}
.footer-brand p{
  margin:14px 0 0 2px;
  max-width:330px;
  font-family:var(--nav-serif);
  font-size:1.12rem;
  line-height:1.42;
  color:rgba(242,234,223,.68);
}
.footer-nav-group,
.footer-info-group{
  padding:12px 42px 8px 46px;
  border-left:1px solid rgba(242,234,223,.12);
}
.footer-nav-group h2,
.footer-info-group h2{
  margin:0 0 18px;
  font-family:var(--sans);
  font-size:.78rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#d6a24e;
}
.footer-nav-group nav,
.footer-info-group{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-nav-group a,
.footer-info-group a{
  position:relative;
  color:rgba(242,234,223,.78);
  font-family:var(--sans);
  font-size:.96rem;
  line-height:1.95;
  transition:color .18s ease,transform .18s ease;
}
.footer-nav-group a:hover,
.footer-info-group a:hover{
  color:#fff;
  transform:translateX(2px);
}
.footer-bottom{
  width:min(1480px,100%);
  margin:14px auto 0;
  padding:18px 12px 0;
  border-top:1px solid rgba(242,234,223,.11);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  color:rgba(242,234,223,.55);
  font-family:var(--sans);
  font-size:.82rem;
}
.footer-bottom p{margin:0}
.footer-legal{display:flex;align-items:center;gap:0}
.footer-legal a{
  color:inherit;
  padding:0 24px;
  border-left:1px solid rgba(242,234,223,.12);
}
.footer-legal a:first-child{border-left:0}
.footer-legal a:hover{color:rgba(242,234,223,.92)}

/* Le footer vient visuellement prolonger le bloc Ressources, comme sur la maquette. */
@media (min-width:901px){
  .site-footer{margin-top:-22px;padding-top:42px;}
}

@media(max-width:820px){
  .site-footer{padding:38px 24px 22px;margin-top:0}
  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1;min-height:auto;padding:0 0 28px;border-bottom:1px solid rgba(242,234,223,.11)}
  .footer-nav-group,.footer-info-group{min-height:auto;padding:28px 26px 10px 0;border-left:0}
  .footer-info-group{padding-left:28px;border-left:1px solid rgba(242,234,223,.11)}
  .footer-emblem{width:72px}.footer-wordmark{width:205px}
  .footer-brand p{font-size:1.05rem}
  .footer-bottom{margin-top:24px;padding-left:0;padding-right:0;flex-direction:column;align-items:flex-start;gap:14px}
  .footer-legal a:first-child{padding-left:0}
}
@media(max-width:520px){
  .footer-inner{grid-template-columns:1fr}
  .footer-nav-group,.footer-info-group{padding:24px 0 4px;border-left:0}
  .footer-info-group{border-top:1px solid rgba(242,234,223,.09)}
  .footer-logo{gap:14px}.footer-emblem{width:62px}.footer-wordmark{width:180px;max-width:68%}
  .footer-brand p{font-size:1rem;max-width:280px}
  .footer-legal{flex-direction:column;align-items:flex-start;gap:8px}
  .footer-legal a,.footer-legal a:first-child{padding:0;border:0}
}


/* V20 — passe globale technique, sans changement du design validé */
section[id]{scroll-margin-top:24px;}
a:focus-visible,button:focus-visible{outline:2px solid #e4bd77;outline-offset:4px;}
a[aria-disabled="true"]{cursor:default;}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;}}

/* V21 — animation Titanis : uniquement les étoiles existantes + tracé progressif des liaisons */
.hero-constellation-animation{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
  mix-blend-mode:screen;
}
.hero-linework{opacity:.98}
.hero-line{
  fill:none;
  stroke:#d7a85d;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:0;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  filter:drop-shadow(0 0 2px rgba(232,184,104,.28));
}
.hero-star-layer{pointer-events:none}
.hero-star{opacity:0;transform-box:fill-box;transform-origin:center}
.hero-star .star-halo{
  fill:#f5c873;
  opacity:.22;
  filter:url(#softStarGlow);
}
.hero-star .star-spark{
  fill:#ffe9b5;
  opacity:.78;
  filter:drop-shadow(0 0 2.6px rgba(255,213,132,.42));
}
.hero-star.major .star-halo{opacity:.28}
.hero-star.eye-star .eye-halo{fill:#fff1c7;opacity:.42;filter:url(#eyeStarGlow)}
.hero-star.eye-star .star-spark{fill:#fff8e6;opacity:.96}

.hero-art.constellation-live .hero-bird{
  animation:heroBirdAwaken 5.2s cubic-bezier(.22,.8,.28,1) both;
}
.hero-art.constellation-live .hero-line{
  animation:drawHeroLine 1.18s cubic-bezier(.35,.06,.28,1) forwards;
  animation-delay:var(--d);
}
.hero-art.constellation-live .hero-star:not(.eye-star){
  animation:
    heroStarWake .95s ease-out var(--sd) both,
    heroStarTwinkle 4.8s ease-in-out calc(var(--sd) + 1.35s) infinite;
}
.hero-art.constellation-live .eye-star{
  animation:
    heroEyeFinal 1.55s cubic-bezier(.2,.8,.25,1) var(--sd) both,
    heroEyeIdle 5.4s ease-in-out calc(var(--sd) + 1.6s) infinite;
}

@keyframes heroBirdAwaken{
  0%{filter:saturate(.82) contrast(.98) brightness(.72);opacity:.86}
  62%{filter:saturate(.90) contrast(1) brightness(.90);opacity:.94}
  100%{filter:saturate(.95) contrast(1.02) brightness(1);opacity:1}
}
@keyframes drawHeroLine{
  0%{stroke-dashoffset:1;opacity:0}
  12%{opacity:.22}
  100%{stroke-dashoffset:0;opacity:.86}
}
@keyframes heroStarWake{
  0%{opacity:0;transform:scale(.56)}
  35%{opacity:.92;transform:scale(1.22)}
  70%{opacity:.5;transform:scale(.88)}
  100%{opacity:.74;transform:scale(1)}
}
@keyframes heroStarTwinkle{
  0%,100%{opacity:.52;transform:scale(.94)}
  18%{opacity:.76;transform:scale(1.04)}
  31%{opacity:.48;transform:scale(.92)}
  47%{opacity:.72;transform:scale(1.02)}
  72%{opacity:.56;transform:scale(.96)}
}
@keyframes heroEyeFinal{
  0%{opacity:0;transform:scale(.5)}
  34%{opacity:1;transform:scale(1.48)}
  57%{opacity:.72;transform:scale(.92)}
  76%{opacity:1;transform:scale(1.18)}
  100%{opacity:.92;transform:scale(1)}
}
@keyframes heroEyeIdle{
  0%,100%{opacity:.76;transform:scale(.96)}
  48%{opacity:1;transform:scale(1.10)}
  56%{opacity:.82;transform:scale(1.01)}
}

@media(prefers-reduced-motion:reduce){
  .hero-art .hero-bird{animation:none!important;filter:saturate(.95) contrast(1.02)!important;opacity:1!important}
  .hero-line{stroke-dashoffset:0!important;opacity:.62!important;animation:none!important}
  .hero-star{opacity:.58!important;transform:none!important;animation:none!important}
  .hero-star.eye-star{opacity:.78!important}
}

/* V22 — animation corrigée : le visuel de base ne contient plus les traits lumineux.
   Les étoiles visibles sont celles de l'image elle-même ; l'overlay n'ajoute qu'un halo
   exactement superposé, sans croix ni étoile artificielle. */
.hero-bird{
  content:url("assets/hero-animation-base.png") !important;
}
.hero-constellation-animation{
  position:absolute;
  z-index:4;
  pointer-events:none;
  overflow:visible;
  width:0;
  height:0;
  left:0;
  top:0;
  mix-blend-mode:screen;
}
.hero-line{
  fill:none;
  stroke:#d3a25b;
  stroke-width:1.15;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:0;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  filter:drop-shadow(0 0 1.6px rgba(238,190,111,.38));
}
.hero-star-glow{
  fill:#ffe0a0;
  opacity:0;
  filter:url(#nodeGlow);
  transform-box:fill-box;
  transform-origin:center;
}
.hero-star-glow.major{fill:#ffe7b3;}
.eye-star-glow{fill:#fff2cb;filter:url(#eyeGlow);}

.hero-art.constellation-live .hero-line{
  animation:drawHeroLineV22 2.40s cubic-bezier(.35,.08,.25,1) var(--d) forwards;
}
.hero-art.constellation-live .hero-star-glow:not(.eye-star-glow){
  animation:
    nodePulseIntro 2.33s ease-out var(--sd) both,
    nodeTwinkle 11.1s ease-in-out calc(var(--sd) + 2.63s) infinite;
}
.hero-art.constellation-live .eye-star-glow{
  animation:
    eyePulseFinal 3.23s cubic-bezier(.18,.75,.25,1) var(--sd) both,
    eyeTwinkleIdle 12.0s ease-in-out calc(var(--sd) + 3.30s) infinite;
}
@keyframes drawHeroLineV22{
  0%{stroke-dashoffset:1;opacity:0}
  10%{opacity:.20}
  100%{stroke-dashoffset:0;opacity:.88}
}
@keyframes nodePulseIntro{
  0%{opacity:0;transform:scale(.55)}
  30%{opacity:.58;transform:scale(1.26)}
  58%{opacity:.18;transform:scale(.92)}
  100%{opacity:.30;transform:scale(1)}
}
@keyframes nodeTwinkle{
  0%,100%{opacity:.12;transform:scale(.92)}
  20%{opacity:.32;transform:scale(1.05)}
  35%{opacity:.15;transform:scale(.96)}
  57%{opacity:.38;transform:scale(1.08)}
  73%{opacity:.16;transform:scale(.97)}
}
@keyframes eyePulseFinal{
  0%{opacity:0;transform:scale(.55)}
  28%{opacity:.95;transform:scale(1.55)}
  52%{opacity:.30;transform:scale(.92)}
  72%{opacity:.72;transform:scale(1.22)}
  100%{opacity:.36;transform:scale(1)}
}
@keyframes eyeTwinkleIdle{
  0%,100%{opacity:.20;transform:scale(.96)}
  48%{opacity:.50;transform:scale(1.12)}
  60%{opacity:.26;transform:scale(1.01)}
}
@media(prefers-reduced-motion:reduce){
  .hero-line{stroke-dashoffset:0!important;opacity:.78!important;animation:none!important}
  .hero-star-glow{opacity:.16!important;transform:none!important;animation:none!important}
  .eye-star-glow{opacity:.26!important}
}
.hero-art.constellation-live .hero-bird{animation:none!important;}

/* =========================================================
   V24 — passe responsive globale
   Aucune modification du rendu desktop validé (> 900 px).
   Objectif : tablette + mobile, sans redesign des blocs.
   ========================================================= */
body{overflow-x:hidden;}

@media (max-width:900px){
  /* Header / navigation */
  .site-header{
    max-width:none;
    width:100%;
    padding:12px 22px 0;
  }
  .brand-emblem{height:56px;}
  .brand-wordmark{width:158px;}
  .menu{position:relative;z-index:30;}
  .nav{
    z-index:25;
    border-radius:10px;
    box-shadow:0 18px 45px rgba(0,0,0,.34);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  /* Hero : texte puis Titanis, sans collision */
  .hero{
    min-height:1080px;
    height:auto;
  }
  .hero-copy{
    padding:70px 28px 0;
    max-width:720px;
  }
  .hero-copy h1{
    font-size:clamp(3.7rem,10.2vw,5.3rem);
    line-height:1.02;
  }
  .hero-lead{max-width:560px;}
  .hero-actions{
    max-width:560px;
    flex-direction:row;
    align-items:center;
  }
  .hero-actions .btn{
    flex:1 1 0;
    min-width:0;
    padding-left:18px;
    padding-right:18px;
  }
  .hero-art{
    top:500px;
    right:-5%;
    width:110%;
    height:500px;
    opacity:.93;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 91%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 91%,transparent 100%);
  }
  .transition{height:118px;}

  /* À la une */
  .featured{
    padding:64px 0 62px;
    min-height:0;
  }
  .featured-inner{
    max-width:760px;
    padding:0 34px;
    grid-template-columns:1fr;
    gap:28px;
  }
  .featured-copy{order:1;max-width:none;}
  .book-stage{
    order:2;
    min-height:410px;
    margin-top:0;
  }
  .book-cover{width:min(270px,52vw);}
  .book-shadow{bottom:38px;}
  .book-features{white-space:normal;}

  /* Univers */
  .universes{border-radius:0;}
  .universes-inner{max-width:760px;padding:0 28px;}
  .universes-header{max-width:680px;}
  .universe-grid{grid-template-columns:1fr;gap:22px;}
  .universe-card{min-height:500px;}

  /* Pourquoi TITANIS */
  .why{padding:0 18px 66px;}
  .why-panel{
    width:100%;
    grid-template-columns:1fr;
    min-height:0;
    border-radius:20px;
  }
  .why-art{
    min-height:0;
    height:500px;
  }
  .why-art img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 18%;
    top:0;
  }
  .why-content{
    margin:0;
    padding:34px 36px 40px;
    background:#f5f0ea!important;
  }
  .why-content h2{
    font-size:clamp(3.35rem,8vw,4.7rem);
    line-height:1;
  }
  .why-item{grid-template-columns:74px 1fr;gap:18px;}

  /* Ressources : à cette largeur on utilise le bloc HTML responsive */
  .resources-section{padding:18px 0 30px;}
  .resources-panel{
    width:calc(100% - 28px);
    min-height:920px;
    border-radius:24px;
  }
  .resources-copy{padding:48px 24px 0;}
  .resources-copy h2{font-size:clamp(3rem,7.8vw,4.4rem);}
  .resources-copy p{font-size:1.08rem;}
  .resources-cta{width:min(500px,86%);min-width:0;}
  .resources-orbit{height:480px;margin:18px 18px 0;}
  .node-files{left:5%;top:10%;}
  .node-exercises{right:5%;top:10%;}
  .node-corrections{left:6%;bottom:10%;}
  .node-complements{right:5%;bottom:7%;}

  /* Footer */
  .site-footer{margin-top:0;}
}

@media (max-width:640px){
  .site-header{height:82px;padding:10px 16px 0;}
  .brand{height:64px;gap:10px;}
  .brand-emblem{height:50px;}
  .brand-wordmark{width:142px;}
  .nav{top:74px;left:14px;right:14px;}

  .hero{min-height:1040px;}
  .hero-copy{padding:58px 20px 0;}
  .hero-copy h1{font-size:clamp(3.25rem,14vw,4.25rem);}
  .gold-rule{margin:22px 0 18px;}
  .hero-lead{font-size:1.13rem;}
  .hero-actions{
    margin-top:28px;
    max-width:none;
    flex-direction:column;
    gap:12px;
  }
  .hero-actions .btn{width:100%;height:56px;}
  .hero-art{
    top:515px;
    right:-18%;
    width:136%;
    height:430px;
  }
  .transition{height:102px;}

  .featured{padding:54px 0 52px;}
  .featured-inner{padding:0 20px;gap:22px;}
  .featured-copy h2{font-size:2.1rem;}
  .book-subtitle,.book-description{font-size:.98rem;}
  .book-features{display:grid;grid-template-columns:1fr;gap:12px;}
  .feature-sep{display:none;}
  .book-actions{display:grid;grid-template-columns:1fr;gap:12px;}
  .book-btn{width:100%;}
  .book-stage{min-height:360px;}
  .book-cover{width:min(235px,68vw);}

  .universes{padding:66px 0 72px;}
  .universes-inner{padding:0 14px;}
  .universes-header{margin-bottom:28px;padding:0 8px;}
  .universes-header h2{font-size:2.75rem;letter-spacing:.1em;}
  .universes-header p{font-size:1.07rem;}
  .universe-card{
    min-height:455px;
    padding:26px 22px 24px;
    border-radius:18px;
  }
  .universe-card>.universe-kicker{margin-top:98px;font-size:.78rem;}
  .universe-stars{width:176px!important;height:142px!important;right:4px!important;top:14px!important;}
  .universe-card h3{font-size:2.7rem;}
  .universe-wealth h3{font-size:2.28rem;}
  .universe-promise{font-size:1.08rem;}
  .card-divider,.universe-footer{left:22px;right:22px;}
  .universe-footer{bottom:24px;gap:12px;}
  .status,.status.live{font-size:.9rem;}
  .universe-footer a{font-size:1rem;}

  .why{padding:0 10px 54px;}
  .why-panel{border-radius:16px;}
  .why-art{height:360px;}
  .why-content{padding:24px 20px 30px;}
  .why-kicker{font-size:.72rem;letter-spacing:.19em;gap:10px;}
  .why-kicker span{width:28px;}
  .why-content h2{font-size:2.9rem;margin:16px 0 20px;}
  .why-item{
    grid-template-columns:56px 1fr;
    gap:13px;
    padding:18px 0;
  }
  .why-icon{width:52px;height:52px;}
  .why-icon svg{width:34px;height:34px;}
  .why-item p{font-size:1rem;line-height:1.42;}
  .why-conclusion{font-size:1.82rem;margin-top:22px;}
  .why-signature-logo{width:190px;}

  .resources-section{padding:12px 0 24px;}
  .resources-panel{width:calc(100% - 18px);min-height:930px;border-radius:20px;}
  .resources-copy{padding:38px 16px 0;}
  .resources-kicker{font-size:.72rem;letter-spacing:.12em;gap:10px;}
  .resources-kicker span{width:28px;}
  .resources-copy h2{font-size:2.75rem;margin:20px 0 17px;}
  .resources-title-rule{width:72%;margin-bottom:18px;}
  .resources-copy p{font-size:.98rem;line-height:1.46;margin-bottom:22px;}
  .resources-cta{width:92%;padding:14px 16px;font-size:.96rem;gap:10px;}
  .resources-cta svg{width:24px;height:24px;}
  .resources-orbit{height:540px;margin:14px 4px 0;}
  .orbit-lines{opacity:.28;}
  .resource-core{top:49%;width:92px;height:92px;}
  .resource-core::before{inset:-22px;}
  .resource-core::after{inset:-42px;}
  .core-star{width:62px;height:62px;}
  .resource-node{font-size:.68rem;letter-spacing:.04em;gap:7px;max-width:125px;}
  .resource-icon{width:58px;height:58px;}
  .resource-icon svg{width:32px;height:32px;}
  .spreadsheet-icon svg{width:36px;height:36px;}
  .node-files{left:2%;top:7%;}
  .node-exercises{right:2%;top:7%;}
  .node-corrections{left:2%;bottom:14%;}
  .node-complements{right:2%;bottom:10%;}
  .resources-signature{bottom:7px;}

  .site-footer{padding:34px 18px 20px;}
  .footer-inner{grid-template-columns:1fr;}
  .footer-brand{padding:0 0 24px;}
  .footer-nav-group,.footer-info-group{padding:22px 0 4px;border-left:0;}
  .footer-info-group{border-top:1px solid rgba(242,234,223,.09);}
  .footer-bottom{margin-top:22px;}
}

@media (max-width:400px){
  .brand-wordmark{width:130px;}
  .brand-emblem{height:46px;}
  .hero-copy h1{font-size:3.05rem;}
  .hero-art{top:515px;height:400px;right:-24%;width:148%;}
  .featured-copy h2{font-size:1.92rem;}
  .universes-header h2{font-size:2.45rem;}
  .universe-card h3{font-size:2.45rem;}
  .universe-wealth h3{font-size:2.08rem;}
  .why-art{height:315px;}
  .why-content h2{font-size:2.55rem;}
  .why-item{grid-template-columns:1fr;}
  .why-icon{margin-bottom:2px;}
  .resources-copy h2{font-size:2.45rem;}
  .resource-node{font-size:.62rem;max-width:110px;}
}

/* V25 — Ressources responsive : même identité que le visuel desktop validé.
   On conserve le visuel approuvé au-dessus de 900px et on adapte sa composition,
   sans revenir à l'ancienne maquette mobile étirée. */
@media (max-width:900px){
  .resources-section{
    background:#f5f0ea;
    padding:14px 0 26px;
  }
  .resources-approved-shell{display:none!important;}
  .resources-section>.resources-panel{
    display:block!important;
    width:calc(100% - 20px);
    min-height:0;
    margin:0 auto;
    border-radius:24px;
    overflow:hidden;
    background:
      radial-gradient(circle at 50% 69%,rgba(67,151,205,.12),transparent 25%),
      radial-gradient(circle at 18% 34%,rgba(28,99,151,.10),transparent 22%),
      linear-gradient(180deg,#06182b 0%,#071b31 58%,#06182b 100%);
  }
  .resources-panel::before{opacity:.48;}
  .resources-copy{
    padding:34px 22px 0;
  }
  .resources-kicker{
    font-size:.78rem;
    letter-spacing:.16em;
    gap:12px;
  }
  .resources-kicker span{width:44px;}
  .resources-copy h2{
    font-size:clamp(2.65rem,7.7vw,4.15rem);
    line-height:1.02;
    margin:18px auto 15px;
    max-width:760px;
  }
  .resources-title-rule{
    width:min(460px,76%);
    margin-bottom:18px;
  }
  .resources-copy p{
    font-size:1.02rem;
    line-height:1.45;
    margin-bottom:22px;
  }
  .resources-cta{
    width:min(470px,88%);
    min-width:0;
    justify-content:center;
    padding:15px 20px;
    border-radius:12px;
    border-color:#76d6ff;
    background:linear-gradient(180deg,#4a96c8 0%,#317eb4 100%);
    color:#fff;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 24px rgba(25,110,168,.24);
  }
  .resources-orbit{
    position:relative;
    height:430px;
    margin:16px 18px 0;
  }
  .orbit-lines{
    opacity:.42;
    inset:16px 0 22px;
  }
  .resource-core{
    top:48%;
    width:92px;
    height:92px;
    border-color:rgba(214,162,78,.36);
    box-shadow:0 0 30px rgba(214,162,78,.12);
  }
  .resource-core::before{inset:-28px;border-color:rgba(113,192,229,.24);}
  .resource-core::after{inset:-52px;border-color:rgba(113,192,229,.18);}
  .core-star{width:62px;height:62px;filter:drop-shadow(0 0 9px rgba(255,204,103,.75));}
  .resource-node{
    max-width:145px;
    gap:8px;
    font-size:.73rem;
    line-height:1.12;
    letter-spacing:.045em;
  }
  .resource-icon{
    width:62px;
    height:62px;
    background:rgba(4,21,39,.20);
  }
  .resource-icon svg{width:35px;height:35px;}
  .spreadsheet-icon svg{width:37px;height:37px;}
  .node-files{left:3%;top:7%;}
  .node-exercises{right:3%;top:7%;}
  .node-corrections{left:4%;bottom:20%;}
  .node-complements{right:3%;bottom:17%;}
  .resources-signature{
    bottom:4px;
    width:205px;
    gap:2px;
  }
  .resources-signature-emblem{width:48px;height:48px;}
  .resources-signature-wordmark{width:154px;}
  .resources-signature-rule{width:154px;}
}

@media (max-width:640px){
  .resources-section{padding:10px 0 22px;}
  .resources-section>.resources-panel{
    width:calc(100% - 12px);
    border-radius:20px;
  }
  .resources-copy{padding:30px 14px 0;}
  .resources-kicker{font-size:.68rem;letter-spacing:.13em;gap:9px;}
  .resources-kicker span{width:26px;}
  .resources-copy h2{
    font-size:clamp(2.35rem,10.4vw,3.25rem);
    margin:16px 0 14px;
  }
  .resources-title-rule{width:72%;margin-bottom:16px;}
  .resources-copy p{font-size:.94rem;line-height:1.42;margin-bottom:20px;}
  .resources-cta{width:92%;padding:14px 14px;font-size:.93rem;gap:9px;}
  .resources-cta svg{width:23px;height:23px;}
  .resources-orbit{
    height:390px;
    margin:12px 6px 0;
  }
  .orbit-lines{opacity:.40;inset:18px 0 22px;}
  .resource-core{top:47%;width:82px;height:82px;}
  .resource-core::before{inset:-23px;}
  .resource-core::after{inset:-43px;}
  .core-star{width:54px;height:54px;}
  .resource-node{font-size:.64rem;max-width:118px;gap:6px;}
  .resource-icon{width:56px;height:56px;}
  .resource-icon svg{width:31px;height:31px;}
  .spreadsheet-icon svg{width:33px;height:33px;}
  .node-files{left:1%;top:7%;}
  .node-exercises{right:1%;top:7%;}
  .node-corrections{left:2%;bottom:19%;}
  .node-complements{right:1%;bottom:16%;}
  .resources-signature{bottom:2px;width:180px;}
  .resources-signature-emblem{width:44px;height:44px;}
  .resources-signature-wordmark{width:138px;}
  .resources-signature-rule{width:138px;}
}

@media (max-width:400px){
  .resources-copy h2{font-size:2.22rem;}
  .resources-copy p{font-size:.89rem;}
  .resources-orbit{height:370px;}
  .resource-node{font-size:.59rem;max-width:104px;}
  .resource-icon{width:52px;height:52px;}
  .node-corrections{bottom:18%;}
  .node-complements{bottom:15%;}
}

/* V26 — Ressources : conserver la maquette validée à toutes les largeurs.
   On désactive définitivement l'ancienne version HTML responsive. */
.resources-section > .resources-panel{
  display:none !important;
}
.resources-approved-shell{
  display:block !important;
  width:min(1680px,100%);
  margin:0 auto;
}
.resources-approved-visual{
  display:block;
  width:100%;
  height:auto;
}
@media (max-width:900px){
  .resources-section{
    background:#f5f0ea;
    padding:0;
  }
  .resources-approved-shell{
    display:block !important;
    width:100%;
    margin:0 auto;
  }
  .resources-section > .resources-panel{
    display:none !important;
  }
}
@media (max-width:680px){
  .resources-approved-shell{
    width:100%;
  }
}

/* V27 — Ressources : vraie composition responsive, pas simple réduction du visuel desktop. */
.resources-mobile-panel{display:none;}

@media (max-width:900px){
  .resources-section{
    background:#f5f0ea;
    padding:14px 0 24px;
  }
  .resources-approved-shell{display:none!important;}
  .resources-section > .resources-panel{display:none!important;}
  .resources-mobile-panel{
    display:block;
    width:calc(100% - 24px);
    max-width:760px;
    margin:0 auto;
    overflow:hidden;
    border-radius:26px;
    border:1px solid rgba(142,181,214,.38);
    background:
      radial-gradient(circle at 50% 78%, rgba(45,111,159,.16), transparent 31%),
      radial-gradient(circle at 50% 0%, rgba(29,86,132,.12), transparent 36%),
      linear-gradient(180deg,#071b31 0%,#071a2f 57%,#06182b 100%);
    color:#f8efe4;
    box-shadow:0 20px 46px rgba(1,13,25,.15);
    position:relative;
  }
  .resources-mobile-panel::before{
    content:"";
    position:absolute;inset:0;pointer-events:none;opacity:.55;
    background-image:
      radial-gradient(circle at 7% 13%,#8edcf0 0 1px,transparent 1.5px),
      radial-gradient(circle at 17% 8%,#d8a85b 0 1px,transparent 1.5px),
      radial-gradient(circle at 31% 19%,#77cae8 0 1px,transparent 1.5px),
      radial-gradient(circle at 72% 10%,#76d3e7 0 1px,transparent 1.5px),
      radial-gradient(circle at 86% 22%,#d9a34d 0 1px,transparent 1.5px),
      radial-gradient(circle at 92% 39%,#7cd3e8 0 1px,transparent 1.5px),
      radial-gradient(circle at 12% 51%,#d6a24e 0 1px,transparent 1.5px),
      radial-gradient(circle at 58% 43%,#6dbbdc 0 1px,transparent 1.5px),
      radial-gradient(circle at 78% 58%,#d8a34d 0 1px,transparent 1.5px);
  }
  .resources-mobile-copy{position:relative;z-index:2;text-align:center;padding:34px 28px 0;}
  .resources-mobile-kicker{display:flex;align-items:center;justify-content:center;gap:12px;color:#d7a34e;font:600 .78rem/1 var(--sans);letter-spacing:.16em;}
  .resources-mobile-kicker span{width:48px;height:1px;background:currentColor;opacity:.72;}
  .resources-mobile-copy h2{font-family:var(--serif);font-size:clamp(2.65rem,7vw,4rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:22px auto 17px;color:#f8efe4;}
  .resources-mobile-rule{display:flex;align-items:center;justify-content:center;gap:12px;width:min(430px,75%);margin:0 auto 20px;color:#d6a24e;}
  .resources-mobile-rule span{height:1px;flex:1;background:currentColor;opacity:.46;}
  .resources-mobile-rule i{font-style:normal;font-size:.72rem;}
  .resources-mobile-copy p{max-width:590px;margin:0 auto 24px;font:400 1.02rem/1.48 var(--sans);color:#f3ece3;}
  .resources-mobile-copy strong{color:#d6a24e;font-weight:500;}
  .resources-mobile-cta{display:flex;align-items:center;justify-content:center;gap:12px;width:min(490px,90%);min-height:64px;margin:0 auto;padding:13px 22px;border:1px solid #7bd2f0;border-radius:13px;background:linear-gradient(180deg,#438fc0,#2f78aa);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 30px rgba(24,102,157,.24);color:#fff;font:600 1.05rem/1 var(--sans);}
  .resources-mobile-cta svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .resources-mobile-cta b{font:400 2rem/1 var(--sans);margin-left:4px;}

  .resources-mobile-map{height:520px;margin:12px 16px 0;position:relative;z-index:2;}
  .resources-mobile-lines{position:absolute;inset:8px 0 52px;width:100%;height:calc(100% - 60px);fill:none;stroke:#3d95c4;stroke-width:1.1;stroke-dasharray:4 5;opacity:.48;}
  .mobile-resource-core{position:absolute;left:50%;top:43%;width:106px;height:106px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;border:1px solid rgba(214,162,78,.38);box-shadow:0 0 35px rgba(255,195,75,.14);}
  .mobile-resource-core::before,.mobile-resource-core::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(116,190,225,.25);}
  .mobile-resource-core::before{inset:-28px;}.mobile-resource-core::after{inset:-54px;}
  .mobile-resource-core svg{width:76px;height:76px;fill:#ffd476;filter:drop-shadow(0 0 8px rgba(255,207,102,.8)) drop-shadow(0 0 20px rgba(255,207,102,.38));}

  .mobile-resource-node{position:absolute;width:150px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;font:500 .78rem/1.14 var(--sans);letter-spacing:.045em;}
  .mobile-resource-icon{width:72px;height:72px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;background:rgba(4,21,39,.28);box-shadow:0 0 18px rgba(75,178,207,.08);}
  .mobile-resource-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .m-files{left:1%;top:5%;color:#6be0da;}.m-exercises{right:1%;top:5%;color:#82c7f2;}.m-corrections{left:1%;top:58%;color:#d7a34e;}.m-complements{right:1%;top:58%;color:#69d9d8;}

  .resources-mobile-signature{position:absolute;left:50%;bottom:3px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;width:220px;}
  .resources-mobile-signature>img:first-child{width:54px;height:54px;object-fit:cover;object-position:left top;}
  .resources-mobile-signature>img:nth-child(2){display:block;width:176px;height:auto;}
  .resources-mobile-signature>div{width:176px;display:flex;align-items:center;gap:8px;color:#d6a24e;}
  .resources-mobile-signature>div span{height:1px;flex:1;background:currentColor;opacity:.55;}.resources-mobile-signature i{font-style:normal;font-size:.7rem;}
}

@media (max-width:560px){
  .resources-section{padding:10px 0 20px;}
  .resources-mobile-panel{width:calc(100% - 14px);border-radius:22px;}
  .resources-mobile-copy{padding:28px 16px 0;}
  .resources-mobile-kicker{font-size:.68rem;letter-spacing:.13em;gap:9px;}
  .resources-mobile-kicker span{width:30px;}
  .resources-mobile-copy h2{font-size:clamp(2.25rem,10vw,3rem);margin:17px auto 14px;}
  .resources-mobile-rule{width:73%;margin-bottom:16px;}
  .resources-mobile-copy p{font-size:.94rem;line-height:1.44;margin-bottom:20px;}
  .resources-mobile-cta{width:94%;min-height:60px;padding:12px 14px;font-size:.96rem;gap:9px;}
  .resources-mobile-cta svg{width:24px;height:24px;}.resources-mobile-cta b{font-size:1.8rem;}
  .resources-mobile-map{height:470px;margin:8px 4px 0;}
  .resources-mobile-lines{inset:14px 0 52px;height:calc(100% - 66px);opacity:.42;}
  .mobile-resource-core{top:43%;width:88px;height:88px;}
  .mobile-resource-core::before{inset:-23px;}.mobile-resource-core::after{inset:-44px;}
  .mobile-resource-core svg{width:62px;height:62px;}
  .mobile-resource-node{width:122px;font-size:.66rem;gap:7px;}
  .mobile-resource-icon{width:60px;height:60px;}.mobile-resource-icon svg{width:34px;height:34px;}
  .m-files{left:0;top:5%;}.m-exercises{right:0;top:5%;}.m-corrections{left:0;top:58%;}.m-complements{right:0;top:58%;}
  .resources-mobile-signature{width:190px;bottom:2px;}.resources-mobile-signature>img:first-child{width:46px;height:46px;}.resources-mobile-signature>img:nth-child(2){width:148px;}.resources-mobile-signature>div{width:148px;}
}

@media (max-width:380px){
  .resources-mobile-copy h2{font-size:2.08rem;}
  .resources-mobile-copy p{font-size:.88rem;}
  .resources-mobile-map{height:445px;}
  .mobile-resource-node{width:108px;font-size:.59rem;}
  .mobile-resource-icon{width:54px;height:54px;}.mobile-resource-icon svg{width:30px;height:30px;}
  .mobile-resource-core{width:80px;height:80px;}.mobile-resource-core::before{inset:-20px;}.mobile-resource-core::after{inset:-38px;}.mobile-resource-core svg{width:56px;height:56px;}
}

/* V28 — Ressources mobile : conserver le visuel validé, réorganisé sans revenir à l’ancienne version. */
@media (max-width:900px){
  .resources-mobile-map-v28{
    height:610px;
    margin:14px 8px 0;
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 50% 38%, rgba(30,91,137,.14), transparent 31%),
      linear-gradient(180deg, rgba(6,29,51,.02), rgba(5,31,55,.08));
  }
  .resources-mobile-orbits-v28{
    position:absolute;
    inset:22px 0 66px;
    width:100%;
    height:calc(100% - 88px);
    fill:none;
    stroke:#2f84b6;
    stroke-width:1;
    stroke-dasharray:4 5;
    opacity:.34;
    pointer-events:none;
  }
  .resources-mobile-asset-v28,
  .resources-mobile-core-v28{
    position:absolute;
    display:block;
    height:auto;
    pointer-events:none;
    user-select:none;
  }
  .v28-files{left:0;top:16px;width:41%;}
  .v28-exercises{right:0;top:18px;width:43%;}
  .resources-mobile-core-v28{left:50%;top:160px;width:62%;transform:translateX(-50%);}
  .v28-corrections{left:0;top:390px;width:42%;}
  .v28-complements{right:-1%;top:392px;width:45%;}
  .resources-mobile-signature-v28{bottom:0;width:220px;z-index:3;}
  .resources-mobile-signature-v28>img:first-child{width:54px;height:54px;}
  .resources-mobile-signature-v28>img:nth-child(2){width:176px;}
  .resources-mobile-signature-v28>div{width:176px;}

  /* Neutraliser définitivement les anciens éléments de la carte mobile. */
  .resources-mobile-lines,.mobile-resource-core,.mobile-resource-node{display:none!important;}
}

@media (max-width:560px){
  .resources-mobile-map-v28{height:500px;margin:8px 2px 0;}
  .resources-mobile-orbits-v28{inset:15px -8px 58px;width:calc(100% + 16px);height:calc(100% - 73px);opacity:.30;}
  .v28-files{left:-2%;top:10px;width:45%;}
  .v28-exercises{right:-2%;top:12px;width:47%;}
  .resources-mobile-core-v28{top:126px;width:70%;}
  .v28-corrections{left:-3%;top:307px;width:46%;}
  .v28-complements{right:-4%;top:310px;width:50%;}
  .resources-mobile-signature-v28{bottom:0;width:190px;}
  .resources-mobile-signature-v28>img:first-child{width:46px;height:46px;}
  .resources-mobile-signature-v28>img:nth-child(2){width:148px;}
  .resources-mobile-signature-v28>div{width:148px;}
}

@media (max-width:380px){
  .resources-mobile-map-v28{height:462px;}
  .v28-files{width:46%;}
  .v28-exercises{width:48%;}
  .resources-mobile-core-v28{top:118px;width:72%;}
  .v28-corrections{top:287px;width:47%;}
  .v28-complements{top:290px;width:51%;}
}

/* V29 — Ressources mobile : réserver une vraie zone de signature sous les quatre ressources. */
@media (max-width:900px){
  .resources-mobile-map-v28{
    height:670px;
    padding-bottom:86px;
  }
  .resources-mobile-signature-v28{
    bottom:12px;
  }
}

@media (max-width:560px){
  .resources-mobile-map-v28{
    height:565px;
    padding-bottom:82px;
  }
  .resources-mobile-signature-v28{
    bottom:10px;
  }
}

@media (max-width:380px){
  .resources-mobile-map-v28{
    height:525px;
    padding-bottom:78px;
  }
  .resources-mobile-signature-v28{
    bottom:8px;
  }
}

/* V30 — Ressources mobile : corriger le recadrage de l'emblème TITANIS dans la signature.
   L'emblème source est plus large que haut ; il ne doit jamais être forcé dans un carré. */
@media (max-width: 900px){
  .resources-mobile-signature-v28 > img:first-child,
  .resources-mobile-signature > img:first-child{
    width: 62px !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    overflow: visible !important;
  }
}
@media (max-width: 520px){
  .resources-mobile-signature-v28 > img:first-child,
  .resources-mobile-signature > img:first-child{
    width: 56px !important;
    height: auto !important;
  }
}

/* =========================================================
   PAGE LIVRES — V31
   Référence : maquette validée du 26/08/2026.
   ========================================================= */
.books-page{background:var(--ivory);color:var(--ink)}
.books-hero{
  position:relative;
  min-height:590px;
  overflow:hidden;
  color:var(--ivory);
  background:
    radial-gradient(circle at 18% 62%,rgba(37,86,121,.17),transparent 34%),
    radial-gradient(circle at 80% 24%,rgba(34,69,99,.15),transparent 30%),
    linear-gradient(180deg,#04101b 0%,#061624 64%,#092039 100%);
}
.books-hero .starfield{opacity:.96;filter:brightness(1.22)}
.books-hero .site-header{height:108px}
.books-hero .nav .nav-active{color:#e6b55f}
.books-hero .nav .nav-active::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#d5a04d}

/* Décor du hero Livres : système solaire discret à gauche, étoiles lisibles, constellation en filigrane. */
.books-hero::after{
  content:"";position:absolute;z-index:0;inset:92px 0 72px;pointer-events:none;opacity:.9;
  background:
    radial-gradient(circle at 12% 19%,rgba(255,242,215,.78) 0 1.4px,transparent 2.2px),
    radial-gradient(circle at 18% 63%,rgba(218,235,248,.66) 0 1.15px,transparent 1.9px),
    radial-gradient(circle at 31% 28%,rgba(255,255,255,.82) 0 1.25px,transparent 2px),
    radial-gradient(circle at 43% 72%,rgba(223,239,251,.72) 0 1.1px,transparent 1.8px),
    radial-gradient(circle at 55% 18%,rgba(255,248,232,.75) 0 1.2px,transparent 1.9px),
    radial-gradient(circle at 67% 57%,rgba(218,236,250,.7) 0 1.15px,transparent 1.9px),
    radial-gradient(circle at 81% 30%,rgba(255,245,220,.8) 0 1.35px,transparent 2.1px),
    radial-gradient(circle at 92% 68%,rgba(223,239,252,.7) 0 1.1px,transparent 1.8px);
}
.books-orbit{position:absolute;z-index:1;pointer-events:none;color:rgba(205,158,84,.34)}
.books-orbit svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:.78}
.books-orbit circle{fill:#d9ae67;stroke:none;opacity:.72;filter:drop-shadow(0 0 5px rgba(224,184,111,.34))}
.books-orbit .orbit-sun{fill:#f1ddb1;opacity:.88;filter:drop-shadow(0 0 8px rgba(244,213,151,.45))}
.books-orbit-left{width:510px;height:425px;left:-185px;top:102px;opacity:.72;transform:none}
.books-orbit .solar-orbit-lines ellipse{stroke-linecap:round;opacity:.72}
.books-orbit .solar-orbit-lines ellipse:nth-child(1){stroke-dasharray:46 10 14 18}
.books-orbit .solar-orbit-lines ellipse:nth-child(2){stroke-dasharray:61 10 9 18}
.books-orbit .solar-orbit-lines ellipse:nth-child(3){stroke-dasharray:42 12 20 22}
.books-orbit .solar-orbit-lines ellipse:nth-child(4){stroke-dasharray:55 13 10 22}
.books-orbit .solar-points circle:not(.orbit-sun){opacity:.72}

.books-constellation{position:absolute;z-index:1;right:2.6vw;top:124px;width:270px;height:305px;pointer-events:none;opacity:1;color:#ead5ac}
.books-constellation svg{width:100%;height:100%;overflow:visible;fill:none;stroke:none}
.books-constellation path{fill:none;stroke:rgba(232,210,171,.11);stroke-width:.72;opacity:1}
.books-constellation circle{fill:rgba(244,224,188,.44);stroke:none;opacity:1;filter:drop-shadow(0 0 3px rgba(239,218,177,.28))}
.books-hero-copy{position:relative;z-index:4;max-width:1050px;margin:0 auto;text-align:center;padding:58px 42px 145px}
.books-kicker{font-family:var(--sans);font-size:1rem;letter-spacing:.29em;font-weight:500;color:#d8a557}
.books-kicker-rule{display:flex;align-items:center;justify-content:center;gap:13px;width:205px;margin:22px auto 31px;color:#c9954b}
.books-kicker-rule span{height:1px;flex:1;background:currentColor;opacity:.7}
.books-kicker-rule i{font-style:normal;font-size:.9rem}
.books-hero-copy h1{font-family:var(--serif);font-size:clamp(3.2rem,4.7vw,5.25rem);line-height:1.08;letter-spacing:-.035em;font-weight:400;color:#f7efe5;margin:0;text-shadow:0 2px 20px rgba(0,0,0,.13)}
.books-hero-copy p{margin:28px auto 0;font-family:var(--sans);font-size:clamp(1.08rem,1.3vw,1.36rem);line-height:1.55;color:#eee5da;max-width:820px}
.books-transition{position:absolute;z-index:5;left:0;right:0;bottom:-1px;height:128px;pointer-events:none}
.books-transition svg{display:block;width:100%;height:100%}
.books-transition path{fill:var(--ivory)}

.books-featured{position:relative;background:var(--ivory);padding:72px 0 90px;color:var(--ink);overflow:hidden}
.books-featured::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 48% 5%,rgba(255,255,255,.72),transparent 31%),radial-gradient(circle at 8% 55%,rgba(222,202,169,.10),transparent 24%)}
.books-featured-inner{position:relative;z-index:2;max-width:1220px;margin:0 auto;padding:0 54px;display:grid;grid-template-columns:40% 60%;align-items:center;gap:54px}
.books-cover-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:700px;perspective:1300px}
.books-cover-shadow{position:absolute;left:50%;bottom:48px;width:330px;height:47px;transform:translateX(-51%);border-radius:50%;background:radial-gradient(ellipse,rgba(18,31,42,.28),rgba(18,31,42,0) 70%);filter:blur(8px)}
.books-cover{position:relative;z-index:1;display:block;width:min(355px,86%);height:auto;transform:perspective(1200px) rotateY(-5deg) rotateZ(-.25deg);transform-origin:center;filter:drop-shadow(0 23px 25px rgba(17,31,45,.18))}
.books-featured-copy{max-width:650px;padding:10px 0 0}
.books-book-kicker{font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#2d6a50;margin-bottom:21px}
.books-book-kicker span{padding:0 9px;color:#c8954a}
.books-featured-copy h2{font-family:var(--serif);font-weight:500;font-size:clamp(3rem,4vw,4.6rem);line-height:1.06;letter-spacing:-.035em;color:#0d2039;margin:0}
.books-book-rule{display:flex;align-items:center;gap:12px;color:#c8954a;margin:20px 0 22px;width:82px}
.books-book-rule span{height:1px;flex:1;background:currentColor}.books-book-rule i{font-style:normal;font-size:.65rem}
.books-official-subtitle{margin:0 0 23px;font-family:var(--sans);font-size:1.02rem;line-height:1.5;text-transform:none;font-weight:600;color:#285b43;max-width:610px}
.books-description{font-family:var(--sans);font-size:1.05rem;line-height:1.62;color:#2b3640;margin:0 0 19px;max-width:620px}
.books-audience{font-family:var(--sans);font-size:1.03rem;line-height:1.6;color:#285b43;font-weight:600;margin:0 0 24px;max-width:620px}
.books-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid rgba(16,36,62,.14);padding-top:24px;margin-top:8px;max-width:620px}
.books-feature{display:flex;align-items:center;gap:11px;font-family:var(--sans);font-size:.91rem;line-height:1.25;color:#263342}
.books-feature-icon{width:47px;height:47px;border-radius:50%;background:#e8ebd1;display:grid;place-items:center;flex:0 0 auto;color:#44764d}
.books-feature-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.books-actions{display:flex;gap:17px;flex-wrap:wrap;margin-top:31px}
.books-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-width:235px;height:59px;padding:0 22px;border-radius:6px;font-family:var(--sans);font-size:.94rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;transition:transform .18s ease,box-shadow .18s ease}
.books-btn:hover{transform:translateY(-2px)}
.books-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.books-btn span{font-size:1.25rem;margin-left:2px}
.books-btn-primary{background:linear-gradient(180deg,#1f6b35,#185a2d);color:#fff;border:1px solid #145226;box-shadow:0 10px 23px rgba(20,82,38,.13)}
.books-btn-secondary{background:rgba(255,255,255,.28);color:#185a2d;border:1px solid rgba(39,104,53,.68)}
.books-end-rule{position:relative;z-index:2;display:flex;align-items:center;gap:14px;color:#c9974b;width:min(860px,72vw);margin:76px auto 0;opacity:.72}
.books-end-rule span{height:1px;flex:1;background:currentColor}.books-end-rule i{font-style:normal;font-size:.9rem}

@media(max-width:1050px){
  .books-orbit-left{left:-245px;opacity:.62}.books-constellation{right:-35px;opacity:.86}
  .books-featured-inner{padding:0 34px;grid-template-columns:38% 62%;gap:36px}.books-cover-stage{min-height:620px}.books-cover{width:min(310px,88%)}
  .books-featured-copy h2{font-size:3.4rem}.books-feature{font-size:.84rem}.books-feature-icon{width:42px;height:42px}
}
@media(max-width:850px){
  .books-hero{min-height:560px}.books-hero .site-header{height:88px}
  .books-hero-copy{padding:78px 24px 135px}.books-hero-copy h1{font-size:clamp(3rem,9.5vw,4.5rem)}.books-hero-copy p{font-size:1.08rem}.books-orbit-left{width:420px;height:350px;left:-215px;top:126px}.books-constellation{width:220px;right:-82px;top:160px}
  .books-featured{padding-top:56px}.books-featured-inner{grid-template-columns:1fr;max-width:760px;gap:6px}.books-cover-stage{min-height:520px;order:2}.books-featured-copy{order:1;max-width:none}.books-cover{width:min(300px,54%)}
  .books-features{max-width:none}.books-actions{margin-bottom:12px}
}
@media(max-width:600px){
  .books-hero{min-height:535px}.books-hero-copy{padding:68px 21px 125px}.books-kicker{font-size:.82rem}.books-kicker-rule{margin-top:18px;margin-bottom:25px}.books-hero-copy h1{font-size:clamp(2.55rem,12vw,3.55rem);line-height:1.04}.books-hero-copy h1 br{display:none}.books-hero-copy p{font-size:1rem;line-height:1.52}.books-hero-copy .wide-only{display:none}
  .books-transition{height:95px}.books-orbit-left{opacity:.50}.books-constellation{opacity:.65}
  .books-featured{padding:43px 0 58px}.books-featured-inner{padding:0 21px}.books-featured-copy h2{font-size:2.65rem}.books-featured-copy h2 br{display:none}.books-official-subtitle,.books-description,.books-audience{font-size:.96rem}.books-cover-stage{min-height:440px}.books-cover{width:min(265px,72%)}
  .books-features{grid-template-columns:1fr;gap:12px}.books-feature{font-size:.94rem}.books-feature-icon{width:44px;height:44px}.books-actions{flex-direction:column}.books-btn{width:100%}.books-end-rule{margin-top:48px;width:82vw}
}
@media(prefers-reduced-motion:reduce){.books-btn{transition:none}}

/* =========================================================
   PAGE LIVRES — V34 : décor du hero fidèle à la maquette.
   Modifs directes CSS/SVG uniquement, sans génération d'image.
   ========================================================= */
.books-hero{
  background:
    radial-gradient(circle at 17% 61%,rgba(42,82,116,.12),transparent 35%),
    radial-gradient(circle at 78% 23%,rgba(31,67,98,.10),transparent 31%),
    linear-gradient(180deg,#04101b 0%,#061624 64%,#082039 100%);
}
/* Le tapis de fond redevient une poussière stellaire très fine ; les vraies étoiles sont l'overlay .books-glints. */
.books-hero .starfield{
  opacity:.30;
  filter:none;
  background-size:560px 440px,640px 500px,520px 460px,690px 540px,760px 620px,680px 530px,820px 660px,620px 540px;
}
.books-hero::after{
  opacity:.38;
  background:
    radial-gradient(circle at 12% 19%,rgba(255,247,228,.50) 0 .7px,transparent 1.25px),
    radial-gradient(circle at 18% 63%,rgba(220,238,250,.42) 0 .65px,transparent 1.15px),
    radial-gradient(circle at 31% 28%,rgba(255,255,255,.54) 0 .7px,transparent 1.2px),
    radial-gradient(circle at 43% 72%,rgba(223,240,252,.43) 0 .65px,transparent 1.15px),
    radial-gradient(circle at 55% 18%,rgba(255,248,232,.48) 0 .65px,transparent 1.15px),
    radial-gradient(circle at 67% 57%,rgba(219,238,251,.42) 0 .65px,transparent 1.15px),
    radial-gradient(circle at 81% 30%,rgba(255,245,220,.50) 0 .7px,transparent 1.2px),
    radial-gradient(circle at 92% 68%,rgba(223,240,252,.42) 0 .65px,transparent 1.15px);
}
.books-glints{position:absolute;z-index:1;inset:105px 0 92px;pointer-events:none}
.books-glints i{
  position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);
  opacity:var(--o);border-radius:50%;background:#fff9ed;
  box-shadow:0 0 6px rgba(255,244,218,.62),0 0 14px rgba(208,229,246,.16);
}
.books-glints i::before,.books-glints i::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:linear-gradient(to bottom,transparent,rgba(255,248,232,.86),transparent);
  border-radius:999px;
}
.books-glints i::before{width:.7px;height:calc(var(--s) * 4.7)}
.books-glints i::after{height:.7px;width:calc(var(--s) * 4.7);background:linear-gradient(to right,transparent,rgba(255,248,232,.72),transparent)}

/* Système orbital : très discret, concentrique, interrompu, avec un vrai petit soleil. */
.books-orbit-left{width:505px;height:422px;left:-118px;top:117px;opacity:.54}
.books-orbit svg{stroke-width:.68}
.books-orbit .solar-orbit-lines ellipse{stroke:rgba(204,157,85,.46);stroke-linecap:round}
.books-orbit .solar-orbit-lines ellipse:nth-child(1){stroke-dasharray:39 9 15 16;opacity:.72}
.books-orbit .solar-orbit-lines ellipse:nth-child(2){stroke-dasharray:54 10 10 18;opacity:.58}
.books-orbit .solar-orbit-lines ellipse:nth-child(3){stroke-dasharray:33 11 19 21;opacity:.46}
.books-orbit .solar-orbit-lines ellipse:nth-child(4){stroke-dasharray:49 13 11 24;opacity:.38}
.books-orbit .solar-orbit-lines ellipse:nth-child(5){stroke-dasharray:58 15 9 28;opacity:.30}
.books-orbit .solar-points circle{fill:#d9ad64;opacity:.64;filter:drop-shadow(0 0 4px rgba(223,178,102,.34))}
.books-orbit .solar-core circle{fill:#f6e1b7;stroke:none;filter:drop-shadow(0 0 8px rgba(249,222,168,.58))}
.books-orbit .solar-core path{stroke:#e9c27d;stroke-width:.8;opacity:.72;fill:none;stroke-linecap:round}

/* Constellation : les traits s'effacent presque ; seules quelques étoiles restent perceptibles. */
.books-constellation{right:2.8vw;top:126px;width:278px;height:310px;opacity:.72}
.books-constellation path{stroke:rgba(231,210,174,.055);stroke-width:.52}
.books-constellation .constellation-points circle{fill:rgba(246,227,194,.30);filter:drop-shadow(0 0 3px rgba(243,219,177,.20))}
.books-constellation .constellation-glints path{stroke:rgba(246,227,194,.28);stroke-width:.58;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(241,219,180,.16))}

@media(max-width:1050px){
  .books-orbit-left{left:-175px;opacity:.44}
  .books-constellation{right:-48px;opacity:.54}
}
@media(max-width:850px){
  .books-glints{opacity:.75}
  .books-orbit-left{left:-190px;opacity:.34}
  .books-constellation{opacity:.34}
}
@media(max-width:560px){
  .books-glints{opacity:.62}
  .books-orbit-left{opacity:.20}
  .books-constellation{opacity:.20}
}

/* =========================================================
   PAGE LIVRES — V35 : fond entièrement repris en CSS/SVG.
   Aucune génération d'image : étoiles, système solaire et constellation
   sont des éléments HTML/CSS/SVG natifs du site.
   ========================================================= */
.books-hero{
  background:
    radial-gradient(circle at 18% 62%,rgba(41,79,112,.09),transparent 34%),
    radial-gradient(circle at 76% 22%,rgba(30,64,93,.075),transparent 31%),
    linear-gradient(180deg,#04101b 0%,#061522 60%,#082038 100%);
}
.books-hero .starfield{
  opacity:.18;
  filter:none;
  background-size:760px 620px,840px 680px,700px 590px,940px 760px,880px 720px,920px 740px,1040px 860px,760px 640px;
}
.books-hero::after{
  opacity:.16;
  background:
    radial-gradient(circle at 9% 32%,rgba(236,245,252,.40) 0 .45px,transparent .9px),
    radial-gradient(circle at 21% 58%,rgba(255,244,221,.38) 0 .5px,transparent 1px),
    radial-gradient(circle at 35% 19%,rgba(236,246,253,.34) 0 .45px,transparent .9px),
    radial-gradient(circle at 48% 73%,rgba(255,244,221,.34) 0 .45px,transparent .9px),
    radial-gradient(circle at 60% 27%,rgba(236,246,253,.36) 0 .45px,transparent .9px),
    radial-gradient(circle at 71% 61%,rgba(255,244,221,.34) 0 .45px,transparent .9px),
    radial-gradient(circle at 84% 19%,rgba(236,246,253,.34) 0 .45px,transparent .9px),
    radial-gradient(circle at 94% 67%,rgba(255,244,221,.32) 0 .45px,transparent .9px);
}

/* Étoiles : vraies formes à quatre branches, lumineuses, sans aspect de point gris. */
.books-glints{z-index:2;inset:100px 0 90px}
.books-glints i{
  width:var(--s);height:var(--s);opacity:var(--o);border-radius:0;background:#fff8e9;
  clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);
  box-shadow:0 0 7px rgba(255,244,218,.72),0 0 16px rgba(190,220,242,.20);
}
.books-glints i::before,.books-glints i::after{display:none}
.books-glints i:nth-child(3n){background:#dceeff;box-shadow:0 0 6px rgba(211,235,255,.70),0 0 14px rgba(170,211,240,.18)}

/* Système solaire : orbites partielles, légèrement obliques, interrompues et très discrètes. */
.books-orbit-left{width:590px;height:430px;left:-170px;top:118px;opacity:.66}
.books-orbit svg{stroke-width:.72}
.books-orbit .solar-orbit-lines path{
  fill:none;stroke:rgba(205,159,86,.32);stroke-linecap:round;
  stroke-dasharray:56 14 24 18 34 22;
}
.books-orbit .solar-orbit-lines path:nth-child(2){stroke:rgba(205,159,86,.25);stroke-dasharray:72 16 19 26 37 18}
.books-orbit .solar-orbit-lines path:nth-child(3){stroke:rgba(205,159,86,.20);stroke-dasharray:48 18 31 23 22 27}
.books-orbit .solar-orbit-lines path:nth-child(4){stroke:rgba(205,159,86,.15);stroke-dasharray:67 22 18 28 32 24}
.books-orbit .solar-orbit-lines .orbit-short{stroke:rgba(205,159,86,.22);stroke-dasharray:38 14 20 18}
.books-orbit .solar-planets circle{fill:#d8ab62;opacity:.70;filter:drop-shadow(0 0 5px rgba(222,177,101,.36))}
.books-orbit .solar-star path:first-child{fill:#ffe7ad;stroke:none;filter:drop-shadow(0 0 7px rgba(250,216,145,.55))}
.books-orbit .solar-rays{fill:none;stroke:rgba(246,215,154,.55);stroke-width:.7;stroke-linecap:round}

/* Constellation : identifiable mais en filigrane ; étoiles plus lisibles que les traits. */
.books-constellation{right:2.7vw;top:118px;width:290px;height:318px;opacity:.72}
.books-constellation .constellation-lines path{fill:none;stroke:rgba(233,212,176,.12);stroke-width:.72;stroke-linecap:round;stroke-linejoin:round}
.books-constellation .constellation-stars path{fill:#f5ddad;opacity:.68;filter:drop-shadow(0 0 5px rgba(240,214,166,.28))}
.books-constellation .constellation-stars circle{fill:rgba(242,221,184,.42);filter:drop-shadow(0 0 3px rgba(241,217,177,.20))}

@media(max-width:1050px){
  .books-orbit-left{left:-220px;opacity:.54}
  .books-constellation{right:-34px;opacity:.60}
}
@media(max-width:850px){
  .books-glints{opacity:.78}
  .books-orbit-left{left:-240px;opacity:.42}
  .books-constellation{right:-76px;opacity:.46}
}
@media(max-width:560px){
  .books-glints{opacity:.68}
  .books-orbit-left{opacity:.28}
  .books-constellation{opacity:.30}
}

/* =========================================================
   V36 — Page Livres : décor repris du visuel validé
   Aucun redessin : orbites, constellation et étoile proviennent
   directement de la maquette approuvée.
   ========================================================= */
.books-hero{
  background:
    radial-gradient(circle at 52% 47%,rgba(9,33,52,.18),transparent 46%),
    linear-gradient(180deg,#04111d 0%,#061827 58%,#082035 100%);
}
.books-hero .starfield{display:none!important;}
.books-orbit,.books-constellation{display:none!important;}
.books-approved-decor{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.books-approved-orbit{
  position:absolute;left:0;top:112px;
  width:clamp(155px,15.3vw,235px);height:auto;
  opacity:.74;
  filter:brightness(1.08) saturate(.92);
}
.books-approved-constellation{
  position:absolute;right:0;top:112px;
  width:clamp(150px,18.5vw,255px);height:auto;
  opacity:.64;
  filter:brightness(1.08) saturate(.88);
}
.books-approved-stars{position:absolute;inset:112px 0 0;}
.books-approved-stars i{
  position:absolute;left:var(--x);top:var(--y);
  width:var(--s);height:var(--s);
  opacity:var(--o);
  background:url('assets/books-star-approved.png') center/contain no-repeat;
  transform:translate(-50%,-50%);
  filter:brightness(1.16) saturate(.82) drop-shadow(0 0 3px rgba(255,236,198,.22));
}
.books-hero-copy{z-index:4;}
.books-hero .site-header{z-index:20;}

@media(max-width:900px){
  .books-approved-orbit{left:-50px;top:122px;width:190px;opacity:.48;}
  .books-approved-constellation{right:-34px;top:138px;width:180px;opacity:.46;}
  .books-approved-stars i:nth-child(n+8){display:none;}
}
@media(max-width:600px){
  .books-approved-orbit{left:-78px;top:136px;width:170px;opacity:.34;}
  .books-approved-constellation{right:-58px;top:150px;width:150px;opacity:.32;}
  .books-approved-stars i{opacity:calc(var(--o) * .8);}
}


/* =========================================================
   V37 — Page Livres : nettoyage du décor validé + étoiles réalistes.
   Travail direct sur le site / assets existants, sans génération d'image.
   ========================================================= */
/* Supprime complètement les anciens overlays qui provoquaient la croix parasite. */
.books-glints{display:none!important;}

/* Le système solaire et la constellation restent ceux extraits du visuel validé. */
.books-approved-orbit{
  opacity:.76;
  filter:brightness(1.10) saturate(.94) contrast(1.02);
}
.books-approved-constellation{
  opacity:.68;
  filter:brightness(1.12) saturate(.90) contrast(1.02);
}

/* Étoiles du ciel : noyau minuscule et clair, rayons courts et dégradés.
   Le halo vient surtout des rayons, pas d'un gros flou. */
.books-approved-stars i{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:var(--s);
  height:var(--s);
  opacity:var(--o);
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#fffdf8;
  box-shadow:
    0 0 2px rgba(255,250,236,.92),
    0 0 4px rgba(211,232,247,.22);
  filter:none;
}
.books-approved-stars i::before,
.books-approved-stars i::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.books-approved-stars i::before{
  width:.65px;
  height:var(--ray);
  background:linear-gradient(to bottom,
    transparent 0%,
    rgba(255,250,237,.05) 10%,
    rgba(255,250,237,.42) 33%,
    rgba(255,253,246,.96) 50%,
    rgba(255,250,237,.42) 67%,
    rgba(255,250,237,.05) 90%,
    transparent 100%);
}
.books-approved-stars i::after{
  width:var(--ray);
  height:.65px;
  background:linear-gradient(to right,
    transparent 0%,
    rgba(214,235,249,.03) 10%,
    rgba(232,243,251,.32) 33%,
    rgba(255,253,246,.88) 50%,
    rgba(232,243,251,.32) 67%,
    rgba(214,235,249,.03) 90%,
    transparent 100%);
}
.books-approved-stars i.star-bright{
  box-shadow:
    0 0 2px rgba(255,252,242,1),
    0 0 4px rgba(255,239,205,.34),
    0 0 6px rgba(201,226,244,.12);
}

@media(max-width:900px){
  .books-approved-stars i{transform:translate(-50%,-50%) scale(.92);}
}
@media(max-width:600px){
  .books-approved-stars i{transform:translate(-50%,-50%) scale(.82);}
}


/* =========================================================
   PAGE LIVRES — V38 : bloc "À venir"
   Construction directe dans le site, sans fausse couverture.
   ========================================================= */
.books-upcoming{
  position:relative;
  background:linear-gradient(180deg,#f5efe6 0%,#f1e9dd 100%);
  color:#10233b;
  padding:10px 0 92px;
  overflow:hidden;
}
.books-upcoming::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 9% 74%,rgba(197,145,69,.08),transparent 22%),
    radial-gradient(circle at 88% 18%,rgba(22,46,72,.055),transparent 20%);
}
.books-upcoming-inner{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  padding:0 54px;
}
.books-upcoming-heading{
  text-align:center;
  margin:0 auto 34px;
}
.books-upcoming-kicker{
  font-family:var(--sans);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.24em;
  color:#a9742f;
}
.books-upcoming-heading h2{
  margin:7px 0 0;
  font-family:var(--serif);
  font-size:clamp(2.5rem,3.5vw,3.7rem);
  line-height:1;
  font-weight:500;
  color:#10233b;
}
.books-upcoming-rule{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:180px;
  margin:18px auto 0;
  color:#bd8336;
}
.books-upcoming-rule span{height:1px;flex:1;background:currentColor;opacity:.55}
.books-upcoming-rule i{font-style:normal;font-size:.72rem}
.books-upcoming-card{
  position:relative;
  display:grid;
  grid-template-columns:170px 1fr auto;
  align-items:center;
  gap:34px;
  min-height:220px;
  padding:30px 34px 30px 28px;
  border:1px solid rgba(177,125,52,.44);
  border-radius:18px;
  background:
    linear-gradient(120deg,rgba(255,255,255,.72),rgba(250,246,238,.9)),
    #f7f1e8;
  box-shadow:0 12px 28px rgba(41,47,51,.07);
}
.books-upcoming-card::after{
  content:"";
  position:absolute;
  left:201px;
  top:28px;
  bottom:28px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(176,122,46,.28),transparent);
}
.books-upcoming-symbol{
  display:grid;
  place-items:center;
  width:146px;
  height:146px;
  border-radius:22px;
  background:#07192b;
  border:1px solid rgba(192,137,57,.55);
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.books-upcoming-symbol img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.books-upcoming-copy{padding-right:20px}
.books-upcoming-label{
  font-family:var(--sans);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.11em;
  color:#9d6927;
  margin-bottom:10px;
}
.books-upcoming-label span{padding:0 8px;color:#c28b42}
.books-upcoming-copy h3{
  margin:0;
  max-width:720px;
  font-family:var(--serif);
  font-size:clamp(2rem,2.8vw,3rem);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.025em;
  color:#10233b;
}
.books-upcoming-copy p{
  margin:15px 0 0;
  max-width:680px;
  font-family:var(--sans);
  font-size:1rem;
  line-height:1.58;
  color:#4b4b49;
}
.books-upcoming-status{
  align-self:end;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(177,125,52,.38);
  border-radius:999px;
  color:#9d6927;
  background:rgba(255,250,241,.72);
  font-family:var(--sans);
  font-size:.82rem;
  white-space:nowrap;
}
.books-upcoming-status-star{font-size:.8rem;color:#c28b42}

@media(max-width:850px){
  .books-upcoming{padding-bottom:70px}
  .books-upcoming-inner{padding:0 34px}
  .books-upcoming-card{grid-template-columns:132px 1fr;gap:26px;padding:27px}
  .books-upcoming-card::after{left:179px}
  .books-upcoming-symbol{width:120px;height:120px;border-radius:18px}
  .books-upcoming-status{grid-column:2;justify-self:start;margin-top:-6px}
}
@media(max-width:600px){
  .books-upcoming{padding:4px 0 56px}
  .books-upcoming-inner{padding:0 20px}
  .books-upcoming-heading{margin-bottom:25px}
  .books-upcoming-card{
    grid-template-columns:1fr;
    gap:18px;
    text-align:left;
    padding:24px 22px;
  }
  .books-upcoming-card::after{display:none}
  .books-upcoming-symbol{width:92px;height:92px;border-radius:15px}
  .books-upcoming-copy{padding-right:0}
  .books-upcoming-copy h3{font-size:2.15rem}
  .books-upcoming-status{grid-column:auto;justify-self:start;margin-top:0}
}


/* =========================================================
   PAGE LIVRES — V40 : affinage du pictogramme Fiscalité
   Fond légèrement éclairci, constellation recentrée,
   quelques petites étoiles avec rayons courts et doux.
   ========================================================= */
.books-upcoming-symbol{
  background:#0b2238;
  box-shadow:
    inset 0 0 24px rgba(88,126,154,.10),
    inset 0 0 0 1px rgba(255,255,255,.025);
}
.books-upcoming-symbol img{
  position:relative;
  z-index:1;
  transform:translateX(-4px);
  filter:brightness(1.16) saturate(.96);
}
.books-upcoming-symbol::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(42,79,108,.08),rgba(255,255,255,.015));
}
.books-upcoming-sky-star{
  --core:1.1px;
  --ray:7px;
  position:absolute;
  z-index:3;
  width:var(--core);
  height:var(--core);
  border-radius:50%;
  background:#fffaf0;
  box-shadow:0 0 2px rgba(255,246,222,.55);
  opacity:.56;
  pointer-events:none;
}
.books-upcoming-sky-star::before,
.books-upcoming-sky-star::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.books-upcoming-sky-star::before{
  width:.7px;
  height:var(--ray);
  background:linear-gradient(to bottom,
    transparent 0%,
    rgba(255,246,222,.08) 14%,
    rgba(255,246,222,.58) 43%,
    rgba(255,253,244,.92) 50%,
    rgba(255,246,222,.58) 57%,
    rgba(255,246,222,.08) 86%,
    transparent 100%);
}
.books-upcoming-sky-star::after{
  width:var(--ray);
  height:.7px;
  background:linear-gradient(to right,
    transparent 0%,
    rgba(255,246,222,.06) 14%,
    rgba(255,246,222,.46) 43%,
    rgba(255,253,244,.86) 50%,
    rgba(255,246,222,.46) 57%,
    rgba(255,246,222,.06) 86%,
    transparent 100%);
}
.books-upcoming-sky-star.s1{left:17%;top:19%;--ray:6px;opacity:.42}
.books-upcoming-sky-star.s2{left:80%;top:20%;--ray:5px;opacity:.36}
.books-upcoming-sky-star.s3{left:87%;top:56%;--ray:7px;opacity:.48}
.books-upcoming-sky-star.s4{left:17%;top:73%;--ray:5px;opacity:.34}
.books-upcoming-sky-star.s5{left:73%;top:83%;--ray:4px;opacity:.30}

@media(max-width:850px){
  .books-upcoming-symbol img{transform:translateX(-3px);}
  .books-upcoming-sky-star{transform:scale(.9)}
}
@media(max-width:600px){
  .books-upcoming-symbol img{transform:translateX(-2px);}
  .books-upcoming-sky-star{transform:scale(.78)}
}


/* =========================================================
   PAGE LIVRES — V41 : vignette Fiscalité
   - constellation recentrée
   - ciel légèrement éclairci
   - étoiles de fond visibles sous forme de petits éclats,
     pas de points gris
   ========================================================= */
.books-upcoming-symbol{
  position:relative;
  isolation:isolate;
  background:#102a42;
  box-shadow:
    inset 0 0 22px rgba(129,160,181,.10),
    inset 0 0 0 1px rgba(255,255,255,.035);
}
.books-upcoming-symbol img{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  transform:none;
  opacity:.94;
  filter:brightness(1.22) contrast(1.02) saturate(.72);
}
.books-upcoming-symbol::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(145deg,rgba(94,130,156,.075),rgba(255,255,255,.018));
}
.books-upcoming-sky-star{
  --core:1.15px;
  --ray:6px;
  position:absolute;
  z-index:4;
  width:var(--core);
  height:var(--core);
  border-radius:50%;
  background:#fffdf8;
  box-shadow:0 0 2px rgba(255,248,229,.65);
  opacity:.62;
  pointer-events:none;
}
.books-upcoming-sky-star::before,
.books-upcoming-sky-star::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.books-upcoming-sky-star::before{
  width:.65px;
  height:var(--ray);
  background:linear-gradient(to bottom,
    transparent 0%,
    rgba(255,250,238,.10) 15%,
    rgba(255,250,238,.54) 39%,
    rgba(255,255,252,.98) 50%,
    rgba(255,250,238,.54) 61%,
    rgba(255,250,238,.10) 85%,
    transparent 100%);
}
.books-upcoming-sky-star::after{
  width:var(--ray);
  height:.65px;
  background:linear-gradient(to right,
    transparent 0%,
    rgba(255,250,238,.08) 15%,
    rgba(255,250,238,.46) 39%,
    rgba(255,255,252,.94) 50%,
    rgba(255,250,238,.46) 61%,
    rgba(255,250,238,.08) 85%,
    transparent 100%);
}
/* placement volontairement hors des quatre étoiles principales du symbole */
.books-upcoming-sky-star.s1{left:14%;top:17%;--ray:5px;opacity:.50}
.books-upcoming-sky-star.s2{left:77%;top:13%;--ray:4px;opacity:.43}
.books-upcoming-sky-star.s3{left:88%;top:39%;--ray:5px;opacity:.48}
.books-upcoming-sky-star.s4{left:13%;top:55%;--ray:4px;opacity:.40}
.books-upcoming-sky-star.s5{left:25%;top:83%;--ray:5px;opacity:.44}
.books-upcoming-sky-star.s6{left:84%;top:80%;--ray:4px;opacity:.38}
.books-upcoming-sky-star.s7{left:55%;top:10%;--ray:3.5px;opacity:.34}
.books-upcoming-sky-star.s8{left:8%;top:34%;--ray:3.5px;opacity:.33}
.books-upcoming-sky-star.s9{left:91%;top:65%;--ray:3.5px;opacity:.31}

@media(max-width:850px){
  .books-upcoming-symbol img{transform:none;}
  .books-upcoming-sky-star{transform:scale(.9)}
}
@media(max-width:600px){
  .books-upcoming-symbol img{transform:none;}
  .books-upcoming-sky-star{transform:scale(.76)}
}


/* =========================================================
   PAGE LIVRES — V42 : ciel du pictogramme Fiscalité
   Répartition volontairement irrégulière des petits éclats.
   Les étoiles ne suivent plus le pourtour de la vignette.
   ========================================================= */
.books-upcoming-sky-star{
  --core:.9px;
  --ray:4px;
  opacity:.42;
}
.books-upcoming-sky-star::before{width:.52px}
.books-upcoming-sky-star::after{height:.52px}

/* dispersion asymétrique : tailles, distances et densités variables */
.books-upcoming-sky-star.s1 {left:10%; top:14%; --ray:2.8px; opacity:.28}
.books-upcoming-sky-star.s2 {left:31%; top:9%;  --ray:3.5px; opacity:.34}
.books-upcoming-sky-star.s3 {left:68%; top:17%; --ray:2.6px; opacity:.26}
.books-upcoming-sky-star.s4 {left:87%; top:26%; --ray:4.1px; opacity:.40}
.books-upcoming-sky-star.s5 {left:18%; top:40%; --ray:3.1px; opacity:.32}
.books-upcoming-sky-star.s6 {left:44%; top:32%; --ray:2.5px; opacity:.24}
.books-upcoming-sky-star.s7 {left:76%; top:46%; --ray:3.2px; opacity:.31}
.books-upcoming-sky-star.s8 {left:8%;  top:66%; --ray:3.8px; opacity:.37}
.books-upcoming-sky-star.s9 {left:34%; top:73%; --ray:2.7px; opacity:.25}
.books-upcoming-sky-star.s10{left:61%; top:63%; --ray:3.5px; opacity:.33}
.books-upcoming-sky-star.s11{left:90%; top:72%; --ray:2.8px; opacity:.27}
.books-upcoming-sky-star.s12{left:22%; top:88%; --ray:2.5px; opacity:.23}
.books-upcoming-sky-star.s13{left:53%; top:89%; --ray:3.1px; opacity:.29}
.books-upcoming-sky-star.s14{left:79%; top:86%; --ray:2.4px; opacity:.22}
.books-upcoming-sky-star.s15{left:95%; top:52%; --ray:3.4px; opacity:.30}

/* =========================================================
   FICHE LIVRE — FORMULES EXCEL — V43
   Hero de la fiche produit, construit directement en HTML/CSS.
   ========================================================= */
.book-detail-page{background:var(--ivory);color:var(--ink)}
.book-detail-topbar{position:relative;background:var(--navy-deep);border-bottom:1px solid rgba(201,151,75,.18)}
.book-detail-topbar .site-header{height:108px}
.book-detail-topbar .nav .nav-active{color:#e6b55f}
.book-detail-topbar .nav .nav-active::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#d5a04d}

.book-detail-hero{
  position:relative;
  overflow:hidden;
  min-height:760px;
  padding:62px 0 74px;
  background:
    radial-gradient(circle at 14% 22%,rgba(255,255,255,.82),transparent 24%),
    radial-gradient(circle at 88% 75%,rgba(202,217,186,.20),transparent 28%),
    linear-gradient(180deg,#fbf7f0 0%,#f7f1e7 70%,#f3ecdf 100%);
}
.book-detail-grid-bg{position:absolute;inset:0;pointer-events:none;opacity:.50}
.book-detail-grid-bg::before{
  content:"";position:absolute;left:-7%;top:8%;width:53%;height:78%;transform:rotate(-4deg);
  background-image:linear-gradient(rgba(45,106,80,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(45,106,80,.07) 1px,transparent 1px);
  background-size:42px 42px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 46%,#000 0%,rgba(0,0,0,.72) 44%,transparent 75%);
  mask-image:radial-gradient(ellipse at 50% 46%,#000 0%,rgba(0,0,0,.72) 44%,transparent 75%);
}
.book-detail-grid-bg::after{
  content:"=SI(B2>100;\"Oui\";\"Non\")";position:absolute;right:4.5%;bottom:10%;
  font-family:var(--sans);font-size:clamp(1rem,1.5vw,1.3rem);letter-spacing:.02em;color:rgba(45,106,80,.13);
  border:1px solid rgba(45,106,80,.10);border-radius:7px;padding:12px 18px;background:rgba(255,255,255,.14);transform:rotate(-2deg);
}
.book-detail-inner{position:relative;z-index:2;width:min(1280px,calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:42% 58%;gap:58px;align-items:center}
.book-detail-cover-zone{position:relative;min-height:610px;display:flex;align-items:center;justify-content:center}
.book-detail-cover-orbit{position:absolute;width:410px;height:410px;border:1px solid rgba(45,106,80,.12);border-radius:50%;transform:rotate(-8deg)}
.book-detail-cover-orbit::before,.book-detail-cover-orbit::after{content:"";position:absolute;border:1px solid rgba(45,106,80,.09);border-radius:50%}
.book-detail-cover-orbit::before{inset:44px -34px;transform:rotate(17deg)}
.book-detail-cover-orbit::after{inset:-25px 55px;transform:rotate(-14deg)}
.book-detail-cover-shadow{position:absolute;left:50%;bottom:40px;width:320px;height:42px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(17,31,45,.24),rgba(17,31,45,0) 72%);filter:blur(8px)}
.book-detail-cover{position:relative;z-index:2;width:min(365px,82%);height:auto;display:block;transform:perspective(1200px) rotateY(-5deg) rotateZ(-.35deg);transform-origin:center;filter:drop-shadow(0 28px 28px rgba(17,31,45,.19))}
.book-detail-copy{max-width:690px;padding-top:8px}
.book-detail-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:25px;font-family:var(--sans);font-size:.9rem;color:#62705f;transition:transform .18s ease,color .18s ease}
.book-detail-back:hover{transform:translateX(-3px);color:#285b43}
.book-detail-kicker{font-family:var(--sans);font-size:.92rem;font-weight:600;letter-spacing:.12em;color:#2d6a50;margin-bottom:16px}
.book-detail-kicker span{padding:0 9px;color:#c8954a}
.book-detail-copy h1{font-family:var(--serif);font-size:clamp(3.35rem,4.45vw,5.2rem);line-height:1.02;letter-spacing:-.04em;font-weight:500;color:#0d2039;margin:0}
.book-detail-rule{display:flex;align-items:center;gap:12px;color:#c8954a;width:94px;margin:21px 0 20px}
.book-detail-rule span{height:1px;flex:1;background:currentColor}.book-detail-rule i{font-style:normal;font-size:.68rem}
.book-detail-subtitle{font-family:var(--sans);font-weight:600;font-size:1.08rem;line-height:1.55;color:#285b43;max-width:650px;margin:0 0 18px}
.book-detail-intro-block{max-width:650px;margin:0 0 28px}
.book-detail-intro{font-family:var(--sans);font-size:1.01rem;line-height:1.68;color:#38434b;margin:0 0 12px}
.book-detail-intro:last-of-type{margin-bottom:15px}
.book-detail-promise{font-family:var(--sans);font-size:1rem;line-height:1.6;color:#285b43;margin:0;padding-left:16px;border-left:2px solid rgba(45,106,80,.48)}
.book-detail-promise strong{font-weight:600;color:#1f5d43}
.book-detail-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding-top:23px;border-top:1px solid rgba(16,36,62,.13);max-width:675px}
.book-detail-highlight{display:flex;align-items:center;gap:10px;min-width:0}
.book-detail-highlight-icon{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#e8ebd1;color:#44764d}
.book-detail-highlight-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.book-detail-highlight>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.book-detail-highlight strong{font-family:var(--sans);font-size:.86rem;line-height:1.2;color:#233342;font-weight:600}
.book-detail-highlight small{font-family:var(--sans);font-size:.73rem;line-height:1.2;color:#647068}
.book-detail-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:31px}
.book-detail-btn{height:58px;padding:0 21px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.015em;transition:transform .18s ease,box-shadow .18s ease}
.book-detail-btn:hover{transform:translateY(-2px)}
.book-detail-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.book-detail-btn>span{font-size:1.15rem}
.book-detail-btn-primary{background:linear-gradient(180deg,#1f6b35,#185a2d);border:1px solid #145226;color:#fff;box-shadow:0 10px 23px rgba(20,82,38,.12)}
.book-detail-btn-secondary{background:rgba(255,255,255,.34);border:1px solid rgba(39,104,53,.58);color:#185a2d}
.book-detail-bottom-rule{position:relative;z-index:2;display:flex;align-items:center;gap:14px;color:#c9974b;width:min(900px,72vw);margin:42px auto 0;opacity:.62}
.book-detail-bottom-rule span{height:1px;flex:1;background:currentColor}.book-detail-bottom-rule i{font-style:normal;font-size:.85rem}

@media(max-width:1050px){
  .book-detail-inner{width:min(100% - 56px,1050px);grid-template-columns:39% 61%;gap:34px}
  .book-detail-cover-zone{min-height:555px}.book-detail-cover{width:min(320px,88%)}.book-detail-cover-orbit{width:350px;height:350px}
  .book-detail-copy h1{font-size:3.65rem}.book-detail-highlight small{display:none}
}
@media(max-width:850px){
  .book-detail-topbar .site-header{height:88px}
  .book-detail-hero{padding:50px 0 62px}.book-detail-inner{grid-template-columns:1fr;width:min(100% - 42px,720px);gap:8px}
  .book-detail-copy{order:1;max-width:none}.book-detail-cover-zone{order:2;min-height:535px;margin-top:16px}.book-detail-cover{width:min(310px,58%)}
  .book-detail-cover-orbit{width:380px;height:380px}.book-detail-grid-bg::before{width:90%;left:-28%;height:56%;top:42%}.book-detail-grid-bg::after{display:none}
  .book-detail-highlights{max-width:none}.book-detail-actions{margin-bottom:8px}.book-detail-bottom-rule{margin-top:18px}
}
@media(max-width:600px){
  .book-detail-hero{padding:40px 0 52px}.book-detail-inner{width:calc(100% - 38px)}
  .book-detail-back{margin-bottom:20px}.book-detail-copy h1{font-size:2.85rem}.book-detail-copy h1 br{display:none}.book-detail-subtitle{font-size:1rem}.book-detail-intro,.book-detail-promise{font-size:.96rem}
  .book-detail-highlights{grid-template-columns:1fr;gap:12px}.book-detail-highlight small{display:block}.book-detail-cover-zone{min-height:465px}.book-detail-cover{width:min(270px,72%)}.book-detail-cover-orbit{width:300px;height:300px}
  .book-detail-actions{flex-direction:column}.book-detail-btn{width:100%}.book-detail-bottom-rule{width:82vw}
}
@media(prefers-reduced-motion:reduce){.book-detail-back,.book-detail-btn{transition:none}}

/* =========================================================
   FICHE LIVRE — FORMULES EXCEL — V45
   Développement complet de la fiche : bénéfices, public,
   méthode, compatibilité, ressources et appel final.
   ========================================================= */
.book-section-inner{width:min(1240px,calc(100% - 80px));margin:0 auto}
.book-section-kicker{margin:0 0 14px;font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.19em;color:#b47b2d}
.book-section-heading{max-width:820px;margin:0 auto 54px;text-align:center}
.book-section-heading h2,.book-audience-heading h2,.book-method-copy h2,.book-compatibility-copy h2,.book-resources-copy h2,.book-final-copy h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;margin:0;color:#10243e}
.book-section-heading h2{font-size:clamp(2.7rem,4.2vw,4.4rem);line-height:1.05}
.book-section-heading>p:last-child{max-width:760px;margin:20px auto 0;font-size:1.05rem;line-height:1.72}

.book-benefits{padding:92px 0 100px;background:linear-gradient(180deg,#071724,#061421);color:#eef2ea}
.book-section-heading-light h2{color:#f7f1e7}
.book-section-heading-light>p:last-child{color:#c8d1ce}
.book-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.book-benefit-card{position:relative;min-height:286px;padding:30px 28px;border:1px solid rgba(145,180,151,.18);border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.018));overflow:hidden}
.book-benefit-card::after{content:"";position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border:1px solid rgba(91,147,105,.13);border-radius:50%}
.book-benefit-number{display:block;margin-bottom:43px;color:#7db28a;font-family:var(--serif);font-size:1.2rem}
.book-benefit-card h3{margin:0 0 13px;font-family:var(--serif);font-size:1.8rem;font-weight:500;color:#fff3df}
.book-benefit-card p{margin:0;color:#bac6c2;font-size:.94rem;line-height:1.65}

.book-audience{padding:100px 0;background:#f7f1e7}
.book-audience-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:86px;align-items:start}
.book-audience-heading h2{font-size:clamp(2.7rem,4vw,4.15rem);line-height:1.07}
.book-heading-rule{display:flex;align-items:center;gap:12px;width:124px;color:#c9974b;margin-top:28px}
.book-heading-rule span{height:1px;flex:1;background:currentColor}.book-heading-rule i{font-style:normal;font-size:.72rem}
.book-audience-copy{padding-top:23px;max-width:620px}
.book-audience-copy p{margin:0 0 19px;color:#3d474e;font-size:1.05rem;line-height:1.78}
.book-audience-copy .book-audience-emphasis{margin-top:29px;padding:22px 24px;border-left:3px solid #397050;background:rgba(224,232,210,.54);color:#24583f;font-weight:600}

.book-method{padding:105px 0;background:linear-gradient(180deg,#eef0de,#e7ead4);color:#10243e}
.book-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center}
.book-method-visual{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}
.book-method-visual::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(58,106,73,.14);box-shadow:0 0 0 52px rgba(58,106,73,.045),0 0 0 105px rgba(58,106,73,.025)}
.formula-window{position:relative;z-index:2;width:min(100%,520px);padding:0 0 28px;border:1px solid rgba(35,83,57,.25);border-radius:15px;background:#fbfaf4;box-shadow:0 28px 50px rgba(35,61,45,.14);overflow:hidden}
.formula-window-top{height:46px;padding:0 16px;display:flex;align-items:center;gap:7px;background:#0c2e24;color:#fff}
.formula-window-top span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45)}
.formula-window-top b{margin-left:auto;font-size:.73rem;letter-spacing:.08em;font-weight:500;color:#c9d8cc}
.formula-code{padding:43px 24px 35px;text-align:center;font-family:Consolas,"Courier New",monospace;font-size:clamp(1.28rem,2.2vw,1.75rem);font-weight:700;white-space:nowrap;color:#263a30}
.formula-eq,.formula-punc{color:#56625a}.formula-fn{color:#1b6c45}.formula-ref{color:#327fb0}.formula-op{color:#bc6e2b}.formula-num{color:#8d61a9}.formula-text{color:#986537}.formula-text-alt{color:#8b4e4e}
.formula-legend{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding:0 20px;font-size:.75rem;color:#5c685f}
.formula-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#777}.legend-dot.fn{background:#1b6c45}.legend-dot.ref{background:#327fb0}.legend-dot.op{background:#bc6e2b}.legend-dot.txt{background:#986537}
.book-method-copy h2{font-size:clamp(2.8rem,4.2vw,4.35rem);line-height:1.06;margin-bottom:23px}
.book-method-copy>p:not(.book-section-kicker){margin:0 0 30px;color:#45554b;font-size:1.04rem;line-height:1.75}
.book-method-points{display:grid;gap:0;border-top:1px solid rgba(48,92,61,.17)}
.book-method-points>div{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid rgba(48,92,61,.17)}
.book-method-points strong{font-size:.9rem;color:#285f43}.book-method-points span{font-size:.88rem;line-height:1.5;color:#647066}

.book-compatibility{padding:96px 0;background:#f7f1e7}
.book-compatibility-panel{display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:center;padding:54px 62px;border:1px solid rgba(45,106,80,.2);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(241,240,220,.72));box-shadow:0 15px 40px rgba(26,47,35,.06)}
.book-compatibility-copy h2{font-size:clamp(2.55rem,3.9vw,4.05rem);line-height:1.06;margin-bottom:19px}
.book-compatibility-copy>p:not(.book-section-kicker){margin:0 0 14px;color:#445049;font-size:1.02rem;line-height:1.73}
.book-compatibility-note{padding-left:16px;border-left:2px solid rgba(45,106,80,.45);color:#285f43!important;font-weight:600}
.book-version-stack{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;align-content:center}
.version-pill{min-width:112px;height:48px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-family:var(--sans);font-size:.84rem;font-weight:700;letter-spacing:.03em;border:1px solid rgba(16,36,62,.1);box-shadow:0 6px 16px rgba(17,36,42,.05)}
.version-pill.all{background:#e1e8d0;color:#345e3f}.version-pill.v2019{background:#d9e7dc;color:#2d6650}.version-pill.v2021{background:#d9e8e8;color:#35686a}.version-pill.v2024{background:#dfe5ef;color:#4b5f81}.version-pill.v365{background:#eee1d6;color:#7c593e}

.book-resources{padding:100px 0;background:#f2ebdf}
.book-resources-grid{display:grid;grid-template-columns:1fr .9fr;gap:92px;align-items:center}
.book-resources-copy h2{font-size:clamp(2.85rem,4vw,4.25rem);line-height:1.06;margin-bottom:20px}
.book-resources-copy>p:not(.book-section-kicker){margin:0;max-width:610px;color:#49524f;font-size:1.04rem;line-height:1.75}
.book-resources-btn{margin-top:30px;width:max-content}
.book-resources-cards{position:relative;min-height:360px}
.resource-mini-card{position:absolute;width:190px;height:155px;padding:22px;border:1px solid rgba(38,90,62,.19);border-radius:16px;background:#fbf8f1;box-shadow:0 18px 34px rgba(32,45,38,.10);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;color:#285f43}
.resource-mini-card svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.resource-mini-card span{font-size:.88rem;font-weight:600}
.resource-mini-card-main{width:220px;height:178px;left:18%;top:24px;z-index:2;transform:rotate(-3deg);background:#0b2b22;color:#f2e8d7;border-color:rgba(201,151,75,.42)}
.resource-mini-card:nth-child(2){right:3%;top:8%;transform:rotate(4deg)}
.resource-mini-card:nth-child(3){right:8%;bottom:8%;transform:rotate(-2deg)}

.book-final-cta{position:relative;overflow:hidden;padding:90px 0;background:linear-gradient(180deg,#071724,#04101b);color:#f7f1e7}
.book-final-cta::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#c9974b,transparent);opacity:.55}
.book-final-cta-stars{position:absolute;inset:0;opacity:.38;background-image:radial-gradient(circle at 14% 20%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 78% 16%,#e9cf9c 0 1px,transparent 1.6px),radial-gradient(circle at 91% 72%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 48% 82%,#dbe8dc 0 .8px,transparent 1.5px);background-size:430px 340px,570px 440px,480px 390px,620px 500px}
.book-final-cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:center}
.book-final-cover{width:230px;justify-self:center;filter:drop-shadow(0 24px 24px rgba(0,0,0,.27));transform:rotate(-2deg)}
.book-final-copy{max-width:780px}
.book-final-copy h2{color:#f7f1e7;font-size:clamp(2.8rem,4vw,4.2rem);line-height:1.05;margin-bottom:19px}
.book-final-copy>p:not(.book-section-kicker){margin:0;max-width:710px;color:#c7d0cd;font-size:1.03rem;line-height:1.7}
.book-final-actions{margin-top:31px}.book-final-secondary{border:1px solid rgba(225,238,229,.42);color:#e3eee7;background:transparent}.book-final-secondary:hover{border-color:rgba(225,238,229,.72)}

@media(max-width:1050px){
  .book-section-inner{width:min(100% - 56px,1050px)}
  .book-benefit-grid{grid-template-columns:repeat(2,1fr)}
  .book-audience-grid,.book-method-grid,.book-resources-grid{gap:52px}
  .book-compatibility-panel{gap:42px;padding:45px}
  .book-final-cta-inner{grid-template-columns:210px 1fr;gap:42px}.book-final-cover{width:195px}
}
@media(max-width:820px){
  .book-benefits,.book-audience,.book-method,.book-compatibility,.book-resources{padding:76px 0}
  .book-audience-grid,.book-method-grid,.book-resources-grid,.book-compatibility-panel{grid-template-columns:1fr}
  .book-audience-grid,.book-method-grid,.book-resources-grid{gap:40px}
  .book-audience-copy{padding-top:0;max-width:none}
  .book-method-visual{order:2;min-height:430px}.book-method-copy{order:1}
  .book-compatibility-panel{padding:38px 34px}.book-version-stack{justify-content:flex-start}
  .book-resources-cards{min-height:330px;max-width:560px;width:100%;margin:0 auto}
  .book-final-cta-inner{grid-template-columns:150px 1fr;gap:32px}.book-final-cover{width:145px}
}
@media(max-width:600px){
  .book-section-inner{width:calc(100% - 38px)}
  .book-benefits,.book-audience,.book-method,.book-compatibility,.book-resources{padding:62px 0}
  .book-section-heading{margin-bottom:36px;text-align:left}.book-section-heading h2{font-size:2.65rem}.book-section-heading>p:last-child{font-size:.98rem}
  .book-benefit-grid{grid-template-columns:1fr}.book-benefit-card{min-height:0}.book-benefit-number{margin-bottom:25px}
  .book-audience-heading h2,.book-method-copy h2,.book-compatibility-copy h2,.book-resources-copy h2{font-size:2.6rem}
  .book-method-visual{min-height:350px}.book-method-visual::before{width:280px;height:280px;box-shadow:0 0 0 35px rgba(58,106,73,.045)}
  .formula-code{font-size:.99rem;padding-left:12px;padding-right:12px}.formula-legend{gap:12px}
  .book-method-points>div{grid-template-columns:1fr;gap:5px}
  .book-compatibility-panel{padding:30px 24px}.version-pill{min-width:96px;height:43px;font-size:.78rem}
  .book-resources-cards{min-height:360px}.resource-mini-card-main{left:2%;top:34px}.resource-mini-card:nth-child(2){right:0;top:3%}.resource-mini-card:nth-child(3){right:4%;bottom:3%}
  .book-final-cta{padding:68px 0}.book-final-cta-inner{grid-template-columns:1fr;text-align:center}.book-final-cover{display:none}.book-final-copy h2{font-size:2.65rem}.book-final-copy>p:not(.book-section-kicker){font-size:.97rem}.book-final-actions{justify-content:center;flex-direction:column}.book-final-actions .book-detail-btn{width:100%}
}

/* V46 — continuité visuelle de la fiche livre */
.book-detail-hero{
  min-height:0;
  padding-bottom:48px;
}
.book-detail-cover-zone{min-height:570px}
.book-detail-continue{
  width:min(100%,675px);
  margin-top:24px;
  padding:14px 17px 14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid rgba(16,36,62,.12);
  border-bottom:1px solid rgba(16,36,62,.12);
  color:#285f43;
  font-family:var(--sans);
  transition:background .18s ease,color .18s ease;
}
.book-detail-continue:hover{background:rgba(45,106,80,.045);color:#174e35}
.book-detail-continue-copy{display:flex;flex-direction:column;gap:3px}
.book-detail-continue-copy strong{font-size:.88rem;font-weight:650;letter-spacing:.015em}
.book-detail-continue-copy small{font-size:.76rem;line-height:1.35;color:#69736c}
.book-detail-continue-arrow{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid rgba(45,106,80,.28);background:rgba(255,255,255,.42);font-size:1rem;
}
.book-detail-section-nav{
  position:relative;z-index:4;
  background:#f3ecdf;
  border-top:1px solid rgba(26,54,44,.09);
  border-bottom:1px solid rgba(26,54,44,.16);
}
.book-detail-section-nav-inner{
  width:min(1240px,calc(100% - 80px));margin:0 auto;min-height:92px;
  display:flex;align-items:center;justify-content:space-between;gap:34px;
}
.book-detail-section-nav-title{display:flex;align-items:center;gap:13px;flex:0 0 auto}
.book-detail-section-nav-title img{
  width:38px;height:54px;object-fit:cover;border-radius:2px;box-shadow:0 5px 12px rgba(17,31,45,.16)
}
.book-detail-section-nav-title span{display:flex;flex-direction:column;gap:3px}
.book-detail-section-nav-title small{font:600 .68rem/1 var(--sans);letter-spacing:.12em;color:#38704f}
.book-detail-section-nav-title strong{font:500 1rem/1.2 var(--serif);color:#10243e}
.book-detail-section-nav-links{display:flex;align-items:center;justify-content:flex-end;gap:9px 24px;flex-wrap:wrap}
.book-detail-section-nav-links a{
  position:relative;font:500 .82rem/1.25 var(--sans);color:#53615a;padding:9px 0;
}
.book-detail-section-nav-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:#397050;transition:right .18s ease
}
.book-detail-section-nav-links a:hover{color:#285f43}.book-detail-section-nav-links a:hover::after{right:0}
.book-benefits{position:relative;padding-top:78px}
.book-benefits::before{
  content:"";position:absolute;left:0;right:0;top:0;height:22px;
  background:linear-gradient(180deg,rgba(243,236,223,.34),rgba(7,23,36,0));pointer-events:none
}
#dans-le-livre,#a-qui,#methode,#compatibilite,#ressources-livre{scroll-margin-top:22px}

@media(max-width:1050px){
  .book-detail-section-nav-inner{width:min(100% - 56px,1050px)}
  .book-detail-section-nav-links{gap:6px 16px}
}
@media(max-width:820px){
  .book-detail-cover-zone{min-height:500px}
  .book-detail-section-nav-inner{width:min(100% - 42px,720px);padding:16px 0;align-items:flex-start;flex-direction:column;gap:10px}
  .book-detail-section-nav-links{justify-content:flex-start}
}
@media(max-width:600px){
  .book-detail-hero{padding-bottom:36px}
  .book-detail-cover-zone{min-height:445px}
  .book-detail-continue{padding-left:12px;padding-right:12px}
  .book-detail-continue-copy small{display:none}
  .book-detail-section-nav-inner{width:calc(100% - 38px)}
  .book-detail-section-nav-title img{width:32px;height:46px}
  .book-detail-section-nav-links{gap:3px 14px}
  .book-detail-section-nav-links a{font-size:.76rem}
  .book-benefits{padding-top:62px}
}

/* V47 — navigation du livre visible dès le Hero, au-dessus de la couverture */
.book-detail-quicknav{
  position:absolute;
  z-index:5;
  top:8px;
  left:50%;
  width:min(430px,96%);
  transform:translateX(-50%);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}
.book-detail-quicknav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px 6px;
  border:1px solid rgba(45,106,80,.24);
  border-radius:999px;
  background:rgba(255,255,255,.48);
  box-shadow:0 5px 14px rgba(24,53,40,.035);
  font:600 .72rem/1.15 var(--sans);
  letter-spacing:.01em;
  color:#365e4b;
  white-space:nowrap;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.book-detail-quicknav a:hover{
  transform:translateY(-1px);
  background:#fffdf7;
  border-color:rgba(45,106,80,.48);
  color:#174f37;
}
/* Le bandeau inférieur de V46 n'est plus nécessaire : la continuité est signalée dans le premier écran. */
.book-detail-section-nav,.book-detail-continue{display:none!important}
.book-benefits{padding-top:78px}

@media(max-width:1050px){
  .book-detail-quicknav{width:min(385px,96%);top:4px;gap:6px}
  .book-detail-quicknav a{font-size:.68rem;padding:7px 10px}
}
@media(max-width:820px){
  .book-detail-cover-zone{padding-top:72px}
  .book-detail-quicknav{top:5px;width:min(500px,96%)}
  .book-detail-quicknav a{font-size:.72rem}
}
@media(max-width:600px){
  .book-detail-cover-zone{padding-top:92px}
  .book-detail-quicknav{top:2px;width:100%;gap:6px}
  .book-detail-quicknav a{font-size:.67rem;padding:7px 9px}
}

/* V48 — navigation de la fiche séparée de la couverture */
.book-detail-cover-zone{
  display:grid;
  grid-template-rows:auto 1fr;
  justify-items:center;
  align-items:center;
  padding-top:0;
}
.book-detail-quicknav{
  position:relative;
  top:auto;
  left:auto;
  transform:none;
  width:min(455px,96%);
  margin:0 0 18px;
  align-self:end;
}
.book-detail-cover-orbit{
  top:calc(50% + 36px);
  left:50%;
  transform:translate(-50%,-50%) rotate(-8deg);
}
.book-detail-cover-shadow{
  left:50%;
  bottom:22px;
}
.book-detail-cover{
  align-self:start;
}

@media(max-width:1050px){
  .book-detail-quicknav{width:min(410px,98%);margin-bottom:16px}
  .book-detail-cover-orbit{top:calc(50% + 34px)}
}
@media(max-width:820px){
  .book-detail-cover-zone{padding-top:0;grid-template-rows:auto auto;min-height:0;margin-top:24px}
  .book-detail-quicknav{top:auto;width:min(520px,100%);margin:0 0 22px;align-self:auto}
  .book-detail-cover{align-self:auto;margin-bottom:18px}
  .book-detail-cover-orbit{top:calc(50% + 48px)}
  .book-detail-cover-shadow{bottom:4px}
}
@media(max-width:600px){
  .book-detail-cover-zone{padding-top:0}
  .book-detail-quicknav{top:auto;width:100%;margin-bottom:18px}
  .book-detail-cover-orbit{top:calc(50% + 58px)}
}

/* =========================================================
   RESSOURCES — FORMULES EXCEL — V50
   Page dédiée aux ressources du premier ouvrage.
   ========================================================= */
.resource-library-page{background:#f5f0e8;color:#10243e}
.resource-topbar .nav .resources-link.nav-active{color:#fff;background:rgba(201,151,75,.12);box-shadow:inset 0 0 0 1px rgba(230,181,95,.28)}

.resource-book-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#071725 0%,#081a2b 72%,#0a1e30 100%);color:#f8f1e7;padding:64px 0 76px;border-bottom:1px solid rgba(214,162,78,.24)}
.resource-book-grid{position:absolute;inset:0;pointer-events:none;opacity:.34;background-image:linear-gradient(rgba(100,160,123,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(100,160,123,.055) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse at 25% 52%,#000 0%,rgba(0,0,0,.82) 40%,transparent 78%);mask-image:radial-gradient(ellipse at 25% 52%,#000 0%,rgba(0,0,0,.82) 40%,transparent 78%)}
.resource-book-hero::after{content:"";position:absolute;inset:auto -10% -160px 28%;height:330px;background:radial-gradient(ellipse at center,rgba(65,130,94,.18),transparent 68%);pointer-events:none}
.resource-book-hero-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:36% 64%;gap:70px;align-items:center}
.resource-book-cover-wrap{position:relative;min-height:540px;display:grid;place-items:center}
.resource-book-cover-halo{position:absolute;width:390px;height:390px;border-radius:50%;border:1px solid rgba(111,169,129,.17);box-shadow:0 0 0 48px rgba(111,169,129,.035),0 0 0 96px rgba(111,169,129,.018)}
.resource-book-cover{position:relative;z-index:2;width:min(300px,80%);height:auto;display:block;transform:perspective(1200px) rotateY(-4deg);filter:drop-shadow(0 28px 34px rgba(0,0,0,.34))}
.resource-book-hero-copy{max-width:700px}
.resource-book-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;font:500 .86rem/1 var(--sans);color:#9eb5a8;transition:transform .18s ease,color .18s ease}
.resource-book-back:hover{transform:translateX(-3px);color:#d7e6dc}
.resource-book-kicker,.resource-book-section-kicker{margin:0 0 15px;font:700 .78rem/1.3 var(--sans);letter-spacing:.18em;color:#d5a04d}
.resource-book-kicker span{padding:0 8px;color:#7fb18c}
.resource-book-hero h1{margin:0;color:#fff5e8;font-family:var(--serif);font-weight:500;font-size:clamp(3.35rem,5vw,5.3rem);line-height:1.02;letter-spacing:-.04em}
.resource-book-rule{display:flex;align-items:center;gap:11px;width:105px;margin:22px 0 22px;color:#d5a04d}.resource-book-rule span{height:1px;flex:1;background:currentColor}.resource-book-rule i{font-style:normal;font-size:.7rem}
.resource-book-lead{max-width:670px;margin:0 0 16px;font:600 1.16rem/1.55 var(--sans);color:#dce9df}
.resource-book-intro{max-width:660px;margin:0;color:#b9c9c1;font:400 1rem/1.7 var(--sans)}
.resource-book-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.resource-book-btn{min-height:54px;padding:0 21px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:11px;font:600 .87rem/1 var(--sans);text-transform:uppercase;letter-spacing:.02em;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.resource-book-btn:hover{transform:translateY(-2px)}.resource-book-btn>span{font-size:1.15rem}
.resource-book-btn-primary{background:linear-gradient(180deg,#2b7446,#205f37);border:1px solid #194d2e;color:#fff;box-shadow:0 10px 26px rgba(13,44,27,.18)}
.resource-book-btn-secondary{border:1px solid rgba(190,214,197,.38);background:rgba(255,255,255,.035);color:#e1ece5}

.resource-book-section-inner{width:min(1180px,calc(100% - 80px));margin:0 auto}
.resource-book-overview{padding:92px 0 94px;background:linear-gradient(180deg,#f8f4ed,#f3ede3)}
.resource-book-heading{max-width:800px;margin:0 auto 48px;text-align:center}.resource-book-heading h2,.resource-download-copy h2,.resource-stable-inner h2,.resource-book-final h2{margin:0;color:#10243e;font-family:var(--serif);font-weight:500;letter-spacing:-.035em}.resource-book-heading h2{font-size:clamp(2.8rem,4.2vw,4.4rem);line-height:1.05}.resource-book-heading>p:last-child{max-width:690px;margin:18px auto 0;color:#53615d;font:400 1rem/1.7 var(--sans)}
.resource-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.resource-type-card{min-height:280px;padding:30px 26px 27px;border:1px solid rgba(34,91,61,.13);border-radius:16px;background:rgba(255,255,255,.58);box-shadow:0 10px 30px rgba(30,52,43,.04)}
.resource-type-icon{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;margin-bottom:32px;background:#e3ead8;color:#306c45}.resource-type-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.resource-type-card h3{margin:0 0 12px;color:#17304a;font-family:var(--serif);font-size:1.7rem;font-weight:600}.resource-type-card p{margin:0;color:#5e6965;font:400 .94rem/1.65 var(--sans)}

.resource-download-section{padding:84px 0;background:#eef0e4}
.resource-download-card{display:grid;grid-template-columns:100px 1fr auto;gap:30px;align-items:center;padding:36px 38px;border:1px solid rgba(42,101,66,.17);border-radius:18px;background:#fbf9f4;box-shadow:0 14px 34px rgba(37,57,46,.06)}
.resource-download-icon{width:88px;height:88px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#2f7448,#1f5d38);color:#fff;box-shadow:0 12px 24px rgba(31,93,56,.15)}.resource-download-icon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.resource-download-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px}.resource-download-meta span{font:700 .72rem/1 var(--sans);letter-spacing:.17em;color:#3e7551}.resource-download-meta b{padding:6px 9px;border-radius:999px;background:#eee0bf;color:#8d6122;font:600 .68rem/1 var(--sans)}
.resource-download-copy h2{font-size:clamp(2rem,3vw,3rem);line-height:1.08}.resource-download-copy p{max-width:700px;margin:13px 0 17px;color:#56625e;font:400 .96rem/1.65 var(--sans)}
.resource-download-tags{display:flex;flex-wrap:wrap;gap:8px}.resource-download-tags span{padding:7px 10px;border:1px solid rgba(46,104,70,.15);border-radius:999px;background:#f2f5ed;color:#4b6b57;font:600 .7rem/1 var(--sans)}
.resource-download-action{min-width:205px;text-align:center}.resource-download-disabled{width:100%;min-height:48px;padding:0 16px;border:1px solid rgba(84,101,92,.18);border-radius:7px;background:#e8e9e4;color:#838b86;font:600 .78rem/1.2 var(--sans);cursor:not-allowed}.resource-download-action small{display:block;margin-top:9px;color:#8a918d;font:400 .7rem/1.35 var(--sans)}

.resource-stable-link{padding:92px 0;background:#fffaf3}.resource-stable-inner{display:grid;grid-template-columns:88px 1fr;gap:30px;align-items:start;max-width:980px}.resource-stable-symbol{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#10243e;color:#d6a24e;font-size:1.1rem;box-shadow:0 8px 22px rgba(16,36,62,.08)}.resource-stable-inner h2{font-size:clamp(2.35rem,3.8vw,3.7rem);line-height:1.08}.resource-stable-inner p:last-child{max-width:790px;margin:18px 0 0;color:#5c6763;font:400 1rem/1.72 var(--sans)}

.resource-book-final{padding:72px 0;background:linear-gradient(180deg,#071725,#06131f);color:#eef2ed}.resource-book-final-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.resource-book-final h2{color:#fff3e1;font-size:clamp(2.3rem,3.5vw,3.5rem);line-height:1.08}.resource-book-final p:last-child{max-width:650px;margin:15px 0 0;color:#bccbc4;font:400 .96rem/1.65 var(--sans)}.resource-book-final .resource-book-btn{flex:0 0 auto}

@media(max-width:1050px){
  .resource-book-hero-inner{width:min(100% - 56px,980px);grid-template-columns:34% 66%;gap:44px}.resource-book-cover-wrap{min-height:500px}.resource-book-cover{width:min(270px,86%)}.resource-book-cover-halo{width:330px;height:330px}
  .resource-book-section-inner{width:min(100% - 56px,980px)}.resource-type-grid{grid-template-columns:repeat(2,1fr)}.resource-download-card{grid-template-columns:88px 1fr}.resource-download-action{grid-column:2;display:flex;align-items:center;gap:14px;text-align:left}.resource-download-action small{margin:0}
}
@media(max-width:820px){
  .resource-book-hero{padding:48px 0 62px}.resource-book-hero-inner{grid-template-columns:1fr;width:min(100% - 42px,720px);gap:26px}.resource-book-cover-wrap{order:2;min-height:430px}.resource-book-hero-copy{order:1;max-width:none}.resource-book-cover{width:min(250px,48%)}.resource-book-cover-halo{width:300px;height:300px}.resource-book-hero h1{font-size:3.65rem}
  .resource-book-section-inner{width:min(100% - 42px,720px)}.resource-download-card{grid-template-columns:72px 1fr;padding:30px 28px}.resource-download-icon{width:70px;height:70px}.resource-download-icon svg{width:38px;height:38px}.resource-book-final-inner{align-items:flex-start;flex-direction:column}.resource-stable-inner{grid-template-columns:65px 1fr;gap:22px}.resource-stable-symbol{width:58px;height:58px}
}
@media(max-width:600px){
  .resource-book-hero{padding:38px 0 50px}.resource-book-hero-inner,.resource-book-section-inner{width:calc(100% - 36px)}.resource-book-hero h1{font-size:2.8rem}.resource-book-hero h1 br{display:none}.resource-book-lead{font-size:1.03rem}.resource-book-intro{font-size:.95rem}.resource-book-actions{flex-direction:column}.resource-book-btn{width:100%}.resource-book-cover-wrap{min-height:390px}.resource-book-cover{width:min(230px,65%)}.resource-book-cover-halo{width:260px;height:260px}
  .resource-book-overview{padding:66px 0 68px}.resource-book-heading{margin-bottom:34px}.resource-book-heading h2{font-size:2.55rem}.resource-type-grid{grid-template-columns:1fr}.resource-type-card{min-height:0;padding:25px 23px}.resource-type-icon{margin-bottom:22px}
  .resource-download-section{padding:62px 0}.resource-download-card{grid-template-columns:1fr;gap:20px;padding:26px 22px}.resource-download-icon{width:66px;height:66px}.resource-download-action{grid-column:auto;display:block;text-align:left}.resource-download-action small{margin-top:8px}.resource-download-disabled{width:auto;min-width:210px}
  .resource-stable-link{padding:66px 0}.resource-stable-inner{grid-template-columns:1fr}.resource-stable-symbol{width:52px;height:52px}.resource-stable-inner h2{font-size:2.45rem}
  .resource-book-final{padding:58px 0}.resource-book-final h2{font-size:2.4rem}
}

/* =========================================================
   RESSOURCES — FORMULES EXCEL — V51
   Deux téléchargements distincts + repère de lien permanent.
   ========================================================= */
.resource-download-heading{
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
}
.resource-download-heading h2{
  margin:0;
  color:#10243e;
  font-family:var(--serif);
  font-size:clamp(2.55rem,3.8vw,3.8rem);
  line-height:1.06;
  font-weight:500;
  letter-spacing:-.035em;
}
.resource-download-heading>p:last-child{
  max-width:710px;
  margin:17px auto 0;
  color:#56625e;
  font:400 1rem/1.68 var(--sans);
}
.resource-download-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.resource-download-grid .resource-download-card{
  grid-template-columns:74px 1fr;
  grid-template-rows:auto auto;
  gap:20px 22px;
  align-items:start;
  padding:30px;
}
.resource-download-grid .resource-download-icon{
  width:72px;
  height:72px;
  border-radius:16px;
}
.resource-download-grid .resource-download-icon svg{
  width:40px;
  height:40px;
}
.resource-download-grid .resource-download-copy h3{
  margin:0;
  color:#10243e;
  font-family:var(--serif);
  font-size:clamp(1.75rem,2.35vw,2.35rem);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.03em;
}
.resource-download-grid .resource-download-copy p{
  margin:12px 0 16px;
  font-size:.92rem;
  line-height:1.62;
}
.resource-download-grid .resource-download-action{
  grid-column:1/-1;
  min-width:0;
  text-align:left;
  padding-top:3px;
}
.resource-download-grid .resource-download-disabled{
  width:100%;
  min-height:49px;
  color:#747d78;
}
.resource-download-grid .resource-download-action small{
  margin-top:8px;
  text-align:center;
}
.resource-download-corrections .resource-download-icon{
  background:linear-gradient(145deg,#17324c,#10243e);
  box-shadow:0 12px 24px rgba(16,36,62,.14);
}
.resource-download-corrections .resource-download-meta span{color:#465f78}
.resource-download-corrections .resource-download-tags span{
  border-color:rgba(16,36,62,.13);
  background:#f0f2f1;
  color:#526474;
}

/* Le repère n'est plus une étoile abstraite : il représente un lien stable,
   avec l'étoile TITANIS comme accent de marque. */
.resource-stable-symbol{
  width:76px;
  height:76px;
  border-radius:22px;
  background:linear-gradient(145deg,#132b47,#0d2039);
  color:#f3ecdf;
  box-shadow:0 10px 24px rgba(16,36,62,.10),inset 0 1px 0 rgba(255,255,255,.05);
}
.resource-stable-symbol svg{
  width:50px;
  height:50px;
  overflow:visible;
}
.resource-stable-symbol .stable-link-chain,
.resource-stable-symbol .stable-link-bridge{
  fill:none;
  stroke:#f3ecdf;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.resource-stable-symbol .stable-link-bridge{stroke:#81b7d6;opacity:.9}
.resource-stable-symbol .stable-link-star{
  fill:#d6a24e;
  stroke:none;
  filter:drop-shadow(0 0 4px rgba(214,162,78,.28));
}

@media(max-width:820px){
  .resource-download-grid{grid-template-columns:1fr;gap:18px}
  .resource-download-heading{margin-bottom:28px}
  .resource-stable-symbol{width:64px;height:64px;border-radius:18px}
  .resource-stable-symbol svg{width:42px;height:42px}
}
@media(max-width:620px){
  .resource-download-grid .resource-download-card{grid-template-columns:58px 1fr;padding:24px 20px;gap:17px 16px}
  .resource-download-grid .resource-download-icon{width:58px;height:58px;border-radius:14px}
  .resource-download-grid .resource-download-icon svg{width:33px;height:33px}
  .resource-download-grid .resource-download-copy h3{font-size:1.8rem}
  .resource-download-heading h2{font-size:2.35rem}
  .resource-download-heading>p:last-child{font-size:.94rem}
  .resource-stable-symbol{width:58px;height:58px}
  .resource-stable-symbol svg{width:38px;height:38px}
}

/* =========================================================
   CONTACT — V52
   Page statique prête visuellement ; activation de l'envoi ultérieure.
   ========================================================= */
.contact-page{background:var(--ivory);color:var(--ink)}
.contact-topbar{background:#04101b}
.contact-hero{
  position:relative;overflow:hidden;min-height:500px;color:var(--ivory);
  background:
    radial-gradient(circle at 18% 64%,rgba(47,104,145,.18),transparent 31%),
    radial-gradient(circle at 82% 23%,rgba(45,82,118,.14),transparent 30%),
    linear-gradient(180deg,#04101b 0%,#061725 67%,#092039 100%);
}
.contact-stars{position:absolute;inset:0;opacity:.62;pointer-events:none;background-image:
  radial-gradient(circle at 8% 22%,rgba(255,255,255,.84) 0 1px,transparent 1.5px),
  radial-gradient(circle at 18% 61%,rgba(221,237,249,.7) 0 1px,transparent 1.5px),
  radial-gradient(circle at 31% 17%,rgba(239,197,124,.72) 0 1px,transparent 1.5px),
  radial-gradient(circle at 44% 66%,rgba(255,255,255,.76) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 57% 24%,rgba(218,236,250,.68) 0 1px,transparent 1.5px),
  radial-gradient(circle at 72% 57%,rgba(239,196,117,.58) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 87% 18%,rgba(255,255,255,.75) 0 1px,transparent 1.5px),
  radial-gradient(circle at 94% 69%,rgba(218,237,250,.68) 0 1px,transparent 1.5px);
  background-size:420px 330px,510px 400px,590px 460px,540px 390px,620px 500px,560px 430px,680px 520px,500px 410px;
}
.contact-hero-inner{position:relative;z-index:2;max-width:1050px;margin:0 auto;padding:84px 42px 142px;text-align:center}
.contact-kicker,.contact-section-kicker{font-family:var(--sans);font-size:.92rem;font-weight:600;letter-spacing:.22em;color:#d6a24e;text-transform:uppercase}
.contact-kicker-rule{display:flex;align-items:center;justify-content:center;gap:12px;width:210px;margin:20px auto 29px;color:#c9974b}
.contact-kicker-rule span{height:1px;flex:1;background:currentColor;opacity:.64}.contact-kicker-rule i{font-style:normal;font-size:.78rem}
.contact-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.25rem,4.9vw,5.45rem);line-height:1.05;letter-spacing:-.04em;margin:0;color:#f8f0e6}
.contact-hero-inner>p:last-child{max-width:790px;margin:27px auto 0;font-size:1.08rem;line-height:1.65;color:#eee6dc}
.contact-transition{position:absolute;z-index:3;left:0;right:0;bottom:-1px;height:105px;pointer-events:none}
.contact-transition svg{width:100%;height:100%;display:block}.contact-transition path{fill:var(--ivory)}

.contact-main{background:var(--ivory);padding:72px 0 94px}
.contact-main-inner{width:min(1180px,calc(100% - 54px));margin:0 auto;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:74px;align-items:start}
.contact-intro{padding:12px 0 0}
.contact-intro h2{font-family:var(--serif);font-size:clamp(3rem,4vw,4.3rem);font-weight:500;line-height:1.04;letter-spacing:-.04em;color:#10243e;margin:17px 0 21px}
.contact-intro-lead{font-size:1.02rem;line-height:1.64;color:#45515b;max-width:500px;margin:0 0 34px}
.contact-reasons{display:grid;gap:5px}
.contact-reason{display:grid;grid-template-columns:66px 1fr;gap:18px;align-items:center;padding:20px 0;border-top:1px solid rgba(16,36,62,.11)}
.contact-reason:last-child{border-bottom:1px solid rgba(16,36,62,.11)}
.contact-reason-icon{width:60px;height:60px;border:1px solid rgba(201,151,75,.64);border-radius:50%;display:grid;place-items:center;color:#1e5d79;background:rgba(255,255,255,.36)}
.contact-reason-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.contact-reason h3{font-family:var(--nav-serif);font-size:1.45rem;color:#132c49;margin:0 0 4px}
.contact-reason p{font-size:.91rem;line-height:1.48;color:#56606a;margin:0}

.contact-form-card{background:#fffdf8;border:1px solid rgba(16,36,62,.10);border-radius:22px;padding:38px 40px 40px;box-shadow:0 18px 45px rgba(15,34,53,.08)}
.contact-form-head h2{font-family:var(--serif);font-size:3rem;font-weight:500;line-height:1.05;letter-spacing:-.035em;color:#10243e;margin:13px 0 10px}
.contact-form-head>p:last-child{margin:0 0 30px;color:#65707a;font-size:.91rem;line-height:1.52}
.contact-form{display:grid;gap:20px}
.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-field{display:grid;gap:8px;font-family:var(--sans);font-size:.84rem;font-weight:600;color:#263b51}
.contact-field span small{font-weight:400;color:#7a838b}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid rgba(16,36,62,.16);border-radius:8px;background:#fff;color:#243344;font:400 .95rem/1.35 var(--sans);padding:13px 14px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}
.contact-field textarea{resize:vertical;min-height:160px}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:#6e9db8;box-shadow:0 0 0 3px rgba(110,157,184,.11)}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#a0a6ab}
.contact-form-footer{display:grid;gap:9px;margin-top:2px}
.contact-submit{height:56px;border:0;border-radius:8px;background:linear-gradient(180deg,#375469,#294357);color:#d9dde0;font:600 .93rem/1 var(--sans);letter-spacing:.02em;cursor:not-allowed;opacity:.75}
.contact-submit span{font-size:1.15rem;margin-left:6px}.contact-form-footer small{text-align:center;color:#858c91;font-size:.76rem}

.contact-note{background:#f3ede4;padding:58px 0 64px;border-top:1px solid rgba(16,36,62,.06)}
.contact-note-inner{width:min(1080px,calc(100% - 54px));margin:0 auto;display:grid;grid-template-columns:82px 1fr;gap:28px;align-items:center}
.contact-note-symbol{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#10243e;color:#d6a24e;font-size:1.3rem;box-shadow:0 9px 22px rgba(16,36,62,.09)}
.contact-note h2{font-family:var(--serif);font-size:clamp(2.3rem,3.1vw,3.45rem);font-weight:500;line-height:1.08;letter-spacing:-.03em;color:#10243e;margin:10px 0 11px}
.contact-note p:last-child{max-width:850px;margin:0;color:#505c66;font-size:.96rem;line-height:1.6}

@media(max-width:900px){
  .contact-hero-inner{padding:72px 28px 128px}.contact-main{padding-top:58px}.contact-main-inner{grid-template-columns:1fr;gap:44px;max-width:760px}.contact-intro-lead{max-width:650px}.contact-form-card{padding:34px 32px}.contact-note-inner{max-width:760px}
}
@media(max-width:600px){
  .contact-hero{min-height:470px}.contact-hero-inner{padding:62px 20px 112px}.contact-kicker{font-size:.78rem}.contact-kicker-rule{margin:17px auto 24px}.contact-hero h1{font-size:clamp(2.65rem,11vw,3.6rem)}.contact-hero h1 br{display:none}.contact-hero-inner>p:last-child{font-size:.98rem;line-height:1.58}.contact-transition{height:82px}
  .contact-main{padding:46px 0 64px}.contact-main-inner{width:calc(100% - 34px);gap:36px}.contact-intro h2{font-size:2.85rem}.contact-section-kicker{font-size:.76rem;letter-spacing:.18em}.contact-reason{grid-template-columns:54px 1fr;gap:14px}.contact-reason-icon{width:50px;height:50px}.contact-reason-icon svg{width:29px;height:29px}.contact-reason h3{font-size:1.3rem}
  .contact-form-card{padding:28px 20px;border-radius:17px}.contact-form-head h2{font-size:2.55rem}.contact-field-grid{grid-template-columns:1fr;gap:20px}.contact-note{padding:46px 0}.contact-note-inner{width:calc(100% - 34px);grid-template-columns:1fr;gap:18px}.contact-note-symbol{width:60px;height:60px}.contact-note h2{font-size:2.35rem}
}


/* =========================================================
   V53 — Contact : pictogramme « correction » explicite.
   Aucun autre changement de mise en page.
   ========================================================= */
.contact-note-symbol{
  width:76px;
  height:76px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#132b47,#0d2039);
  color:#f3ecdf;
  box-shadow:0 10px 24px rgba(16,36,62,.10),inset 0 1px 0 rgba(255,255,255,.05);
}
.contact-note-symbol svg{width:50px;height:50px;overflow:visible}
.contact-note-page,.contact-note-fold,.contact-note-text{
  fill:none;
  stroke:#f3ecdf;
  stroke-width:2.05;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-note-pencil,.contact-note-pencil-detail{
  fill:none;
  stroke:#81b7d6;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-note-star{
  fill:#d6a24e;
  stroke:none;
  filter:drop-shadow(0 0 4px rgba(214,162,78,.28));
}
@media(max-width:600px){
  .contact-note-symbol{width:60px;height:60px;border-radius:17px}
  .contact-note-symbol svg{width:40px;height:40px}
}


/* =========================================================
   V54 — Pages légales
   Mentions légales + Confidentialité, structure provisoire.
   ========================================================= */
.legal-page{background:var(--ivory);color:var(--ink)}
.legal-topbar{background:#04101b}
.legal-hero{
  position:relative;overflow:hidden;min-height:445px;color:var(--ivory);
  background:
    radial-gradient(circle at 16% 60%,rgba(45,101,141,.17),transparent 31%),
    radial-gradient(circle at 84% 23%,rgba(39,79,113,.14),transparent 30%),
    linear-gradient(180deg,#04101b 0%,#061725 68%,#092039 100%);
}
.legal-hero-privacy{background:radial-gradient(circle at 75% 28%,rgba(62,118,139,.17),transparent 32%),radial-gradient(circle at 17% 62%,rgba(38,85,123,.15),transparent 30%),linear-gradient(180deg,#04101b 0%,#061725 68%,#092039 100%)}
.legal-stars{position:absolute;inset:0;opacity:.55;pointer-events:none;background-image:
  radial-gradient(circle at 8% 22%,rgba(255,255,255,.82) 0 1px,transparent 1.5px),
  radial-gradient(circle at 20% 67%,rgba(219,236,249,.66) 0 1px,transparent 1.5px),
  radial-gradient(circle at 33% 18%,rgba(239,197,124,.70) 0 1px,transparent 1.5px),
  radial-gradient(circle at 46% 63%,rgba(255,255,255,.72) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 60% 24%,rgba(218,236,250,.64) 0 1px,transparent 1.5px),
  radial-gradient(circle at 74% 59%,rgba(239,196,117,.55) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 88% 19%,rgba(255,255,255,.72) 0 1px,transparent 1.5px);
  background-size:420px 330px,510px 400px,590px 460px,540px 390px,620px 500px,560px 430px,680px 520px;
}
.legal-hero-inner{position:relative;z-index:2;max-width:1000px;margin:0 auto;padding:77px 42px 124px;text-align:center}
.legal-kicker,.legal-section-kicker{font-family:var(--sans);font-size:.88rem;font-weight:600;letter-spacing:.20em;color:#d6a24e;text-transform:uppercase}
.legal-rule{display:flex;align-items:center;justify-content:center;gap:12px;width:210px;margin:19px auto 27px;color:#c9974b}
.legal-rule span{height:1px;flex:1;background:currentColor;opacity:.62}.legal-rule i{font-style:normal;font-size:.76rem}
.legal-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.2rem,4.7vw,5.1rem);line-height:1.04;letter-spacing:-.04em;margin:0;color:#f8f0e6}
.legal-hero-inner>p:last-child{max-width:770px;margin:24px auto 0;font-size:1.04rem;line-height:1.62;color:#eee6dc}
.legal-transition{position:absolute;z-index:3;left:0;right:0;bottom:-1px;height:96px;pointer-events:none}
.legal-transition svg{width:100%;height:100%;display:block}.legal-transition path{fill:var(--ivory)}
.legal-main{background:var(--ivory);padding:68px 0 96px}
.legal-inner{width:min(1180px,calc(100% - 54px));margin:0 auto;display:grid;grid-template-columns:310px minmax(0,1fr);gap:54px;align-items:start}
.legal-aside{position:sticky;top:26px;display:grid;gap:18px}
.legal-status-card{background:#10243e;color:#f5eee4;border-radius:20px;padding:28px 26px 29px;box-shadow:0 16px 38px rgba(16,36,62,.10)}
.legal-status-icon{width:48px;height:48px;border:1px solid rgba(214,162,78,.56);border-radius:14px;display:grid;place-items:center;color:#d6a24e;margin-bottom:22px}
.legal-status-card .legal-section-kicker{font-size:.72rem;letter-spacing:.16em}
.legal-status-card h2{font-family:var(--nav-serif);font-size:1.7rem;font-weight:500;line-height:1.12;margin:12px 0 13px;color:#f7efe5}
.legal-status-card p:last-child{margin:0;color:rgba(245,238,228,.72);font-size:.88rem;line-height:1.57}
.legal-local-nav{display:grid;padding:9px 8px;border-left:1px solid rgba(16,36,62,.13)}
.legal-local-nav a{padding:9px 14px;color:#59636c;font-size:.86rem;transition:color .16s ease,transform .16s ease}
.legal-local-nav a:hover{color:#10243e;transform:translateX(2px)}
.legal-content{display:grid;gap:22px}
.legal-card{background:#fffdf8;border:1px solid rgba(16,36,62,.09);border-radius:19px;padding:34px 38px;box-shadow:0 12px 30px rgba(15,34,53,.045);scroll-margin-top:26px}
.legal-card h2{font-family:var(--serif);font-size:clamp(2rem,2.7vw,2.85rem);font-weight:500;line-height:1.08;letter-spacing:-.03em;color:#10243e;margin:12px 0 16px}
.legal-card p:not(.legal-section-kicker){margin:0 0 13px;color:#505c66;font-size:.95rem;line-height:1.68}
.legal-card p:last-child{margin-bottom:0}
.legal-placeholder-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.legal-placeholder-grid>div,.legal-inline-placeholder{border:1px solid rgba(16,36,62,.10);border-radius:10px;padding:15px 16px;background:#f8f3eb}
.legal-placeholder-grid span,.legal-inline-placeholder span{display:block;color:#6c757c;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.legal-placeholder-grid strong,.legal-inline-placeholder strong{color:#a27635;font-size:.9rem;font-weight:600}
.legal-inline-placeholder{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.legal-inline-placeholder span{margin:0}.legal-inline-placeholder strong{text-align:right}
.legal-contact-link{display:inline-flex;align-items:center;gap:10px;margin-top:8px;color:#1f5d75;font-size:.9rem;font-weight:600;border-bottom:1px solid rgba(31,93,117,.35);padding-bottom:4px}
.legal-contact-link span{font-size:1.1rem}
@media(max-width:900px){
  .legal-hero-inner{padding:68px 28px 116px}.legal-inner{grid-template-columns:1fr;max-width:760px}.legal-aside{position:static}.legal-status-card{display:grid;grid-template-columns:54px 1fr;column-gap:20px}.legal-status-icon{grid-row:1/4;margin:0}.legal-status-card .legal-section-kicker,.legal-status-card h2,.legal-status-card p:last-child{grid-column:2}.legal-local-nav{display:none}
}
@media(max-width:600px){
  .legal-hero{min-height:420px}.legal-hero-inner{padding:58px 20px 105px}.legal-kicker{font-size:.74rem}.legal-rule{margin:16px auto 23px}.legal-hero h1{font-size:clamp(2.7rem,12vw,3.55rem)}.legal-hero-inner>p:last-child{font-size:.95rem;line-height:1.57}.legal-transition{height:78px}
  .legal-main{padding:44px 0 68px}.legal-inner{width:calc(100% - 34px);gap:28px}.legal-status-card{grid-template-columns:1fr;padding:24px 22px}.legal-status-icon{grid-row:auto}.legal-status-card .legal-section-kicker,.legal-status-card h2,.legal-status-card p:last-child{grid-column:auto}.legal-card{padding:27px 21px;border-radius:16px}.legal-section-kicker{font-size:.72rem;letter-spacing:.15em}.legal-card h2{font-size:2.15rem}.legal-placeholder-grid{grid-template-columns:1fr}.legal-inline-placeholder{align-items:flex-start;flex-direction:column}.legal-inline-placeholder strong{text-align:left}
}

/* =========================================================
   V55 — Page centrale Ressources TITANIS
   Les liens généraux pointent ici ; les CTA propres à un livre
   continuent de pointer vers sa page dédiée.
   ========================================================= */
.resources-hub-page{background:var(--ivory);color:var(--ink)}
.resources-hub-hero{
  position:relative;overflow:hidden;min-height:570px;color:var(--ivory);
  background:
    radial-gradient(circle at 18% 62%,rgba(47,112,146,.17),transparent 31%),
    radial-gradient(circle at 82% 28%,rgba(45,100,135,.14),transparent 30%),
    linear-gradient(180deg,#04101b 0%,#061725 66%,#092039 100%);
}
.resources-hub-stars{position:absolute;inset:0;pointer-events:none;opacity:.64;background-image:
  radial-gradient(circle at 7% 18%,rgba(255,255,255,.82) 0 1px,transparent 1.5px),
  radial-gradient(circle at 17% 67%,rgba(125,211,232,.72) 0 1px,transparent 1.5px),
  radial-gradient(circle at 29% 31%,rgba(239,196,117,.67) 0 1px,transparent 1.5px),
  radial-gradient(circle at 42% 73%,rgba(255,255,255,.72) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 57% 18%,rgba(125,202,229,.65) 0 1px,transparent 1.5px),
  radial-gradient(circle at 71% 59%,rgba(239,196,117,.58) 0 .9px,transparent 1.4px),
  radial-gradient(circle at 87% 21%,rgba(255,255,255,.76) 0 1px,transparent 1.5px),
  radial-gradient(circle at 94% 69%,rgba(115,207,230,.63) 0 .9px,transparent 1.4px);
  background-size:430px 330px,510px 410px,590px 470px,540px 390px,620px 500px,570px 440px,680px 520px,510px 420px;
}
.resources-hub-hero .nav .resources-link.nav-active{color:#fff;background:rgba(201,151,75,.12);box-shadow:inset 0 0 0 1px rgba(230,181,95,.28)}
.resources-hub-orbit{position:absolute;z-index:1;right:-110px;top:114px;width:620px;height:360px;opacity:.32;pointer-events:none;color:#78b8d7}
.resources-hub-orbit svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:4 7;overflow:visible}
.resources-hub-orbit circle{fill:#d6a24e;stroke:none;filter:drop-shadow(0 0 5px rgba(214,162,78,.4))}
.resources-hub-hero-inner{position:relative;z-index:3;max-width:1060px;margin:0 auto;padding:84px 42px 150px;text-align:center}
.resources-hub-kicker,.resources-hub-section-kicker{margin:0;font:700 .84rem/1.2 var(--sans);letter-spacing:.21em;text-transform:uppercase;color:#d6a24e}
.resources-hub-rule{display:flex;align-items:center;justify-content:center;gap:12px;width:226px;margin:21px auto 29px;color:#c9974b}.resources-hub-rule span{height:1px;flex:1;background:currentColor;opacity:.66}.resources-hub-rule i{font-style:normal;font-size:.8rem}
.resources-hub-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.45rem,5.2vw,5.65rem);line-height:1.03;letter-spacing:-.04em;margin:0;color:#f8f0e6;text-shadow:0 2px 18px rgba(0,0,0,.12)}
.resources-hub-hero-inner>p:last-child{max-width:790px;margin:25px auto 0;color:#eee6dc;font:400 1.08rem/1.62 var(--sans)}
.resources-hub-transition{position:absolute;z-index:4;left:0;right:0;bottom:-1px;height:105px;pointer-events:none}.resources-hub-transition svg{display:block;width:100%;height:100%}.resources-hub-transition path{fill:var(--ivory)}

.resources-hub-library{background:linear-gradient(180deg,#f7f1e8 0%,#f2ecdf 100%);padding:72px 0 100px}
.resources-hub-inner{width:min(1180px,calc(100% - 70px));margin:0 auto}
.resources-hub-heading{max-width:840px;margin:0 auto 48px;text-align:center}.resources-hub-heading h2{margin:13px 0 0;font-family:var(--serif);font-size:clamp(2.8rem,4.2vw,4.45rem);font-weight:500;line-height:1.06;letter-spacing:-.035em;color:#10243e}.resources-hub-heading>p:last-child{max-width:760px;margin:18px auto 0;color:#56625e;font:400 1rem/1.7 var(--sans)}
.resources-hub-book-card{position:relative;overflow:hidden;display:grid;grid-template-columns:39% 61%;align-items:center;min-height:610px;border:1px solid rgba(38,91,59,.14);border-radius:24px;background:rgba(255,253,248,.82);box-shadow:0 18px 45px rgba(25,49,37,.065)}
.resources-hub-book-card::after{content:"";position:absolute;right:-12%;bottom:-40%;width:58%;height:72%;border-radius:50%;background:radial-gradient(ellipse,rgba(76,136,96,.10),transparent 68%);pointer-events:none}
.resources-hub-cover-zone{position:relative;min-height:610px;display:grid;place-items:center;background:radial-gradient(circle at 50% 49%,rgba(83,138,99,.10),transparent 38%);border-right:1px solid rgba(31,84,52,.08)}
.resources-hub-cover-orbit{position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid rgba(65,125,84,.15);box-shadow:0 0 0 45px rgba(65,125,84,.028),0 0 0 90px rgba(65,125,84,.014)}
.resources-hub-cover{position:relative;z-index:2;width:min(310px,72%);height:auto;display:block;transform:perspective(1200px) rotateY(-5deg);filter:drop-shadow(0 25px 28px rgba(17,39,27,.20))}
.resources-hub-book-copy{position:relative;z-index:2;padding:52px 60px 50px 58px;max-width:700px}
.resources-hub-book-kicker{margin:0 0 17px;color:#2d6a50;font:700 .78rem/1 var(--sans);letter-spacing:.10em;text-transform:uppercase}.resources-hub-book-kicker span{padding:0 8px;color:#c8954a}
.resources-hub-book-copy h3{margin:0;color:#10243e;font-family:var(--serif);font-size:clamp(3rem,4vw,4.25rem);font-weight:500;line-height:1.04;letter-spacing:-.04em}
.resources-hub-book-rule{display:flex;align-items:center;gap:11px;width:92px;margin:20px 0 22px;color:#c8954a}.resources-hub-book-rule span{height:1px;flex:1;background:currentColor}.resources-hub-book-rule i{font-style:normal;font-size:.65rem}
.resources-hub-book-lead{max-width:620px;margin:0;color:#4f5c56;font:400 1.01rem/1.65 var(--sans)}
.resources-hub-types{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0 31px;padding-top:25px;border-top:1px solid rgba(16,36,62,.10)}
.resources-hub-types>div{display:flex;align-items:center;gap:9px;color:#33463c;font:600 .76rem/1.25 var(--sans)}
.resources-hub-type-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:#e4ebd9;color:#36704a}.resources-hub-type-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.resources-hub-book-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:57px;padding:0 25px;border-radius:7px;background:linear-gradient(180deg,#236d3b,#195b31);border:1px solid #145029;color:#fff;font:600 .88rem/1 var(--sans);text-transform:uppercase;letter-spacing:.02em;box-shadow:0 10px 24px rgba(20,82,38,.13);transition:transform .18s ease,box-shadow .18s ease}.resources-hub-book-btn:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(20,82,38,.18)}.resources-hub-book-btn span{font-size:1.2rem}

.resources-hub-future{background:#fffaf3;padding:84px 0 88px;border-top:1px solid rgba(16,36,62,.05)}
.resources-hub-future-inner{width:min(980px,calc(100% - 70px));margin:0 auto;display:grid;grid-template-columns:88px 1fr;gap:30px;align-items:start}
.resources-hub-future-symbol{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#132b47,#0d2039);color:#edf3f6;box-shadow:0 10px 24px rgba(16,36,62,.10),inset 0 1px 0 rgba(255,255,255,.05)}
.resources-hub-future-symbol svg{width:48px;height:48px;fill:none;stroke:#82bad7;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.resources-hub-future-symbol .future-star{fill:#d6a24e;stroke:none;filter:drop-shadow(0 0 4px rgba(214,162,78,.28))}
.resources-hub-future h2{margin:12px 0 0;color:#10243e;font-family:var(--serif);font-size:clamp(2.35rem,3.7vw,3.65rem);font-weight:500;line-height:1.08;letter-spacing:-.035em}.resources-hub-future p:last-child{max-width:800px;margin:17px 0 0;color:#5c6763;font:400 1rem/1.72 var(--sans)}

@media(max-width:1000px){
  .resources-hub-orbit{right:-230px;opacity:.25}.resources-hub-inner{width:min(100% - 54px,900px)}.resources-hub-book-card{grid-template-columns:36% 64%}.resources-hub-cover-zone{min-height:560px}.resources-hub-cover-orbit{width:300px;height:300px}.resources-hub-book-copy{padding-left:44px;padding-right:38px}.resources-hub-types{grid-template-columns:repeat(2,1fr);gap:14px}.resources-hub-future-inner{width:min(100% - 54px,820px)}
}
@media(max-width:800px){
  .resources-hub-hero{min-height:540px}.resources-hub-hero-inner{padding:72px 28px 140px}.resources-hub-orbit{display:none}.resources-hub-library{padding-top:58px}.resources-hub-book-card{grid-template-columns:1fr;max-width:720px;margin:0 auto}.resources-hub-cover-zone{min-height:450px;border-right:0;border-bottom:1px solid rgba(31,84,52,.08)}.resources-hub-cover{width:min(260px,48%)}.resources-hub-cover-orbit{width:285px;height:285px}.resources-hub-book-copy{max-width:none;padding:42px}.resources-hub-future-inner{grid-template-columns:70px 1fr;gap:22px}.resources-hub-future-symbol{width:64px;height:64px;border-radius:18px}.resources-hub-future-symbol svg{width:41px;height:41px}
}
@media(max-width:560px){
  .resources-hub-hero{min-height:505px}.resources-hub-hero-inner{padding:62px 20px 124px}.resources-hub-kicker{font-size:.72rem}.resources-hub-rule{width:185px;margin:18px auto 24px}.resources-hub-hero h1{font-size:clamp(2.75rem,12vw,3.65rem)}.resources-hub-hero h1 br{display:none}.resources-hub-hero-inner>p:last-child{font-size:.96rem;line-height:1.58}.resources-hub-transition{height:84px}
  .resources-hub-library{padding:46px 0 66px}.resources-hub-inner{width:calc(100% - 28px)}.resources-hub-heading{margin-bottom:32px}.resources-hub-heading h2{font-size:2.7rem}.resources-hub-heading>p:last-child{font-size:.93rem}.resources-hub-cover-zone{min-height:390px}.resources-hub-cover{width:min(235px,62%)}.resources-hub-cover-orbit{width:245px;height:245px}.resources-hub-book-card{border-radius:18px}.resources-hub-book-copy{padding:31px 22px 30px}.resources-hub-book-copy h3{font-size:2.65rem}.resources-hub-book-copy h3 br{display:none}.resources-hub-book-lead{font-size:.94rem}.resources-hub-types{grid-template-columns:1fr 1fr;margin:24px 0 26px;padding-top:22px}.resources-hub-types>div{font-size:.72rem}.resources-hub-type-icon{width:38px;height:38px}.resources-hub-type-icon svg{width:22px;height:22px}.resources-hub-book-btn{width:100%;min-height:55px;padding:0 15px;font-size:.78rem}
  .resources-hub-future{padding:58px 0 64px}.resources-hub-future-inner{width:calc(100% - 34px);grid-template-columns:1fr;gap:17px}.resources-hub-future-symbol{width:58px;height:58px}.resources-hub-future h2{font-size:2.45rem}.resources-hub-future p:last-child{font-size:.94rem}
}
