/* =========================================================================
   KALIA NORMANDIE — feuille de style refondue (esthetique, mobile-first)
   ========================================================================= */
:root{
  --night:#070D1C; --night-2:#0B1C3B; --blue:#102A52; --ink:#E7EDF7;
  --muted:#9AA6BC; --muted-2:#8b97ad; --gold:#C2A878; --gold-2:#d4bd92;
  --gold-soft:#e6cf9b; --line:rgba(194,168,120,.20); --wrap:1240px;
  --pad:clamp(20px,5vw,46px);              /* marge laterale fluide partout */
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--night)}
body{font-family:'Jost',system-ui,sans-serif;background:transparent;color:var(--ink);line-height:1.6;overflow-x:hidden}
/* le calque anime porte un fond degrade nuit pour faire ressortir les orbes */

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--night)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500;line-height:1.15}

/* Boutons */
.btn{display:inline-block;padding:15px 32px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  white-space:nowrap;border:1px solid transparent;position:relative;overflow:hidden;border-radius:2px;
  transition:transform .25s ease,box-shadow .35s ease,background .35s ease,color .35s ease,border-color .35s ease}
.btn::before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);transition:left .7s ease}
.btn:hover::before{left:140%}
.btn-gold{background:var(--gold);color:var(--night)}
.btn-gold:hover{background:var(--gold-2);transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(194,168,120,.7)}
.btn-ghost{border-color:rgba(231,237,247,.32);color:var(--ink)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

/* =========================================================================
   FOND ANIME GLOBAL (orbes + etoiles) — derriere tout le contenu
   ========================================================================= */
.kx-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(130% 100% at 50% 0%,#0B1C3B 0%,#081730 45%,#070D1C 100%)}
.kx-bg .orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}
.kx-bg .o1{width:48vw;height:48vw;left:-12vw;top:-6vh;background:radial-gradient(circle,rgba(194,168,120,.40),transparent 70%);animation:orbA 30s ease-in-out infinite}
.kx-bg .o2{width:46vw;height:46vw;right:-12vw;top:22vh;background:radial-gradient(circle,rgba(18,46,88,.9),transparent 70%);animation:orbB 36s ease-in-out infinite}
.kx-bg .o3{width:48vw;height:48vw;left:10vw;top:52vh;background:radial-gradient(circle,rgba(194,168,120,.24),transparent 70%);animation:orbC 42s ease-in-out infinite}
.kx-bg .o4{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;width:42vw;height:42vw;right:-8vw;bottom:-12vh;background:radial-gradient(circle,rgba(18,46,88,.85),transparent 70%);animation:orbA 38s ease-in-out infinite}

@keyframes orbA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(6vw,-4vh) scale(1.12)}}
@keyframes orbB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-5vw,5vh) scale(1.08)}}
@keyframes orbC{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4vw,6vh) scale(.92)}}
@keyframes twinkle{0%,100%{opacity:.2}50%{opacity:.7}}

/* =========================================================================
   HEADER
   ========================================================================= */
.site-header{position:fixed;inset:0 0 auto 0;z-index:80;
  background:rgba(7,13,28,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(194,168,120,.18);
  box-shadow:0 10px 34px -22px rgba(0,0,0,.85);transition:background .4s,box-shadow .4s,backdrop-filter .4s}
.site-header.solid{background:rgba(7,13,28,.94);border-bottom-color:rgba(194,168,120,.28)}
.site-header.solid .nav{padding-top:12px;padding-bottom:12px}
.nav{display:flex;align-items:center;justify-content:center;gap:30px;padding-top:30px;padding-bottom:30px;position:relative;transition:padding .35s ease}
.nav-links{display:flex;flex:1;align-items:center;justify-content:space-between;gap:30px}
.brand{position:absolute;left:50%;top:-2px;transform:translateX(-50%);display:block;width:144px;height:88px;z-index:81;transition:width .35s ease,height .35s ease}
.brand-disc{position:absolute;top:-2px;left:50%;transform:translateX(-50%);width:144px;height:144px;border-radius:50%;
  background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:90;
  box-shadow:0 18px 44px -12px rgba(0,0,0,.6);border:3px solid var(--gold);outline:6px solid rgba(7,13,28,.65);
  transition:width .35s ease,height .35s ease,border-width .35s ease,outline-width .35s ease}
.brand-disc img{width:118px;height:118px;object-fit:contain;transition:width .35s ease,height .35s ease}
/* Logo retreci au scroll (>=50%) : grand au chargement, compact ensuite */
.site-header.solid .brand{width:78px;height:56px}
.site-header.solid .brand-disc{width:72px;height:72px;border-width:2px;outline-width:3px;top:2px}
.site-header.solid .brand-disc img{width:58px;height:58px}

.brand-disc::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(194,168,120,.5);pointer-events:none}
.nav-side{list-style:none;display:flex;align-items:center;gap:34px}
.nav-left{justify-content:flex-end;flex:1;padding-right:96px}
.nav-right{justify-content:flex-start;flex:1;padding-left:96px}
.nav-side a{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(231,237,247,.78);transition:color .2s;white-space:nowrap}
.nav-side a:hover,.nav-side a.active{color:var(--gold)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{width:26px;height:2px;background:var(--ink);transition:.3s}

/* =========================================================================
   HERO (scene visuelle + bloc texte en flux, zero superposition)
   ========================================================================= */
.hero{position:relative}
/* --- scene visuelle : hauteur maitrisee --- */
.hero-scene{position:relative;height:min(82vh,920px);min-height:720px;overflow:hidden}
.hero-sky{position:absolute;inset:64% 0 0 0;background:linear-gradient(180deg,rgba(7,13,28,0) 0%,#070D1C 22%,#070D1C 100%)}
.hero-stars{position:absolute;inset:0;opacity:.8;background-image:
  radial-gradient(1.5px 1.5px at 18% 30%,rgba(231,237,247,.5),transparent),
  radial-gradient(1.5px 1.5px at 72% 18%,rgba(231,237,247,.35),transparent),
  radial-gradient(1px 1px at 46% 46%,rgba(194,168,120,.5),transparent),
  radial-gradient(1.5px 1.5px at 88% 40%,rgba(231,237,247,.3),transparent),
  radial-gradient(1px 1px at 30% 64%,rgba(231,237,247,.3),transparent)}
.hero-band{position:absolute;inset:0 0 30% 0;overflow:hidden;background:#0A1428}
.hero-slideshow{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;
  transform:scale(1.06);animation:kenburns 12s ease-in-out infinite alternate}
.hero-slide.is-active{opacity:1}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hero-band-tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,40,.35) 0%,rgba(8,20,40,.15) 28%,rgba(8,20,40,.25) 55%,rgba(9,22,46,.7) 78%,rgba(7,13,28,.95) 92%,#070D1C 100%)}
.hero-divider{position:absolute;top:64%;left:0;right:0;height:1px;z-index:9;background:linear-gradient(90deg,transparent,var(--gold) 18%,var(--gold) 82%,transparent);opacity:.85}
.hero-eyebrow{position:absolute;top:22%;left:0;right:0;text-align:center;z-index:5;padding:0 var(--pad);font-size:clamp(15px,2.4vw,30px);font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:#fff;text-shadow:0 2px 22px rgba(7,13,28,.9)}
.hero-plate{position:absolute;left:50%;top:64%;transform:translate(-50%,-50%);width:min(1240px,90vw);aspect-ratio:1240/420;z-index:10}
.hero-mask{position:absolute;inset:0;overflow:hidden;
  background:linear-gradient(135deg,#8a6d3a 0%,#C2A878 38%,#e6cf9b 52%,#C2A878 66%,#8a6d3a 100%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  filter:drop-shadow(0 0 1.2px rgba(194,168,120,.95)) drop-shadow(0 20px 44px rgba(0,0,0,.55))}
.hero-sub{position:absolute;left:0;right:0;bottom:4%;text-align:center;z-index:11;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:clamp(24px,4vw,50px);letter-spacing:.14em;color:var(--gold);text-shadow:0 2px 22px rgba(7,13,28,.85);animation:heroSubIn 1.2s ease .3s both}
@keyframes heroSubIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* --- bloc texte sous la scene (flux normal) --- */
.hero-intro{text-align:center;padding-top:46px;padding-bottom:18px}
.hero-pitch{max-width:640px;margin:0 auto;font-size:clamp(17px,2vw,21px);color:#dbe2ef;font-weight:300;line-height:1.7}
.hero-actions{margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.scrolldown{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:26px;height:42px;
  border:1.5px solid rgba(194,168,120,.55);border-radius:14px;z-index:13;transition:border-color .3s}
.scrolldown:hover{border-color:var(--gold)}
.scrolldown span{position:absolute;top:8px;left:50%;width:4px;height:8px;margin-left:-2px;border-radius:2px;
  background:var(--gold);animation:scrollDot 1.8s ease-in-out infinite}
@keyframes scrollDot{0%{opacity:0;transform:translateY(0)}40%{opacity:1}80%{opacity:0;transform:translateY(13px)}}

/* chiffres cles */
.kx-stats{position:relative;display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin:26px auto 4px}
.kx-stats::before{content:"";position:absolute;left:50%;top:50%;width:min(560px,90%);height:150px;
  transform:translate(-50%,-50%);border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(194,168,120,.16),transparent 64%);filter:blur(16px);animation:haloPulse 7s ease-in-out infinite}
.kx-stat{text-align:center;min-width:110px}
.kx-num{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(32px,5vw,54px);color:var(--gold);line-height:1}
.kx-lab{display:block;margin-top:10px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
@keyframes haloPulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.1);opacity:1}}

/* =========================================================================
   PAGES INTERNES
   ========================================================================= */
.is-inner main{padding-top:128px}
.page-head{padding:46px 0 12px;text-align:center}
.page-head h1{font-size:clamp(34px,5vw,60px);color:#EEF2FA}
.page-head h1::after{content:"";display:block;width:60px;height:2px;background:var(--gold);margin:22px auto 0}
section[class*="block-"]{padding:72px 0}
main > section[class*="block-"]:first-child{padding-top:96px}
h2{font-size:clamp(26px,3.4vw,40px);color:#EEF2FA;text-align:center;margin-bottom:34px}
.lead{max-width:820px;margin:0 auto;text-align:center;font-size:clamp(18px,2.2vw,22px);font-weight:300;color:#cfd8e8}
.note{max-width:760px;margin:0 auto;text-align:center;color:var(--muted-2);font-size:15px;font-style:italic}

/* cartes / features generiques */
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:40px 34px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(16,30,58,.5),rgba(8,18,38,.2));
  transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .45s,box-shadow .45s,background .45s}
.card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--gold);transition:width .5s ease}
.card:hover{transform:translateY(-6px);border-color:rgba(194,168,120,.5);box-shadow:0 26px 50px -28px rgba(0,0,0,.95);
  background:linear-gradient(180deg,rgba(20,38,70,.6),rgba(10,22,46,.3))}
.card:hover::before{width:100%}
.card h3{color:var(--gold);font-size:20px;margin-bottom:12px}
.card p{color:var(--muted);font-weight:300}
.section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.feat{border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;background:rgba(16,30,58,.28);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .45s,box-shadow .45s,background .45s}
.feat:hover{transform:translateY(-5px);border-color:rgba(194,168,120,.5);box-shadow:0 22px 44px -26px rgba(0,0,0,.9);background:rgba(20,38,70,.4)}
.feat h3{color:#EEF2FA;font-size:18px;margin-bottom:8px}
.feat:hover h3{color:var(--gold)}
.feat p{color:var(--muted);font-weight:300;font-size:16px;line-height:1.7}

/* bloc image+texte (feature illustre) */
.kx-feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:1100px;margin:0 auto}
.kx-feature.rev{direction:rtl}.kx-feature.rev>*{direction:ltr}
.kx-feature-media{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;
  border:1px solid rgba(194,168,120,.22);box-shadow:0 30px 70px -40px rgba(0,0,0,.9)}
.kx-feature-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:saturate(.96)}
.kx-feature:hover .kx-feature-media img{transform:scale(1.06)}
.kx-feature-media::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 55%,rgba(7,13,28,.45))}
.kx-feature-body .eyebrow{display:block;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.kx-feature-body h3{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(1.6rem,3vw,2.2rem);color:#EEF2FA;margin-bottom:16px;line-height:1.18}
.kx-feature-body p{color:var(--muted);font-weight:300;line-height:1.8;font-size:16px}

/* bandeau citation dore anime */
.kx-marquee{border-top:1px solid rgba(194,168,120,.16);border-bottom:1px solid rgba(194,168,120,.16);
  background:linear-gradient(180deg,rgba(16,30,58,.30),rgba(8,18,38,.12));padding:34px 0;text-align:center;overflow:hidden}
.kx-marquee p{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.25rem,2.6vw,1.95rem);margin:0;
  background:linear-gradient(90deg,#8a6d3a,#e6cf9b 25%,#C2A878 50%,#e6cf9b 75%,#8a6d3a);background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:shine 9s ease-in-out infinite}
@keyframes shine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* separateur dore decoratif */
.kx-sep{position:relative;height:1px;max-width:1100px;margin:0 auto;background:linear-gradient(90deg,transparent,rgba(194,168,120,.4),transparent)}
.kx-sep::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;
  transform:translate(-50%,-50%) rotate(45deg);background:var(--gold);box-shadow:0 0 12px 2px rgba(194,168,120,.6)}

/* horaires / tarifs / acces */
.hours{margin:0 auto;border-collapse:collapse;width:min(560px,100%)}
.hours th,.hours td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left}
.hours th{font-weight:500;color:var(--ink);width:40%}
.hours td{color:var(--muted)}
.hours-sub{text-align:center;color:var(--muted-2);font-size:13px;margin-top:14px}
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:920px;margin:0 auto}
.price{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:rgba(16,30,58,.28);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .45s,box-shadow .45s}
.price:hover{transform:translateY(-4px);border-color:rgba(194,168,120,.5);box-shadow:0 20px 40px -26px rgba(0,0,0,.9)}
.price-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.price-top h3{color:#EEF2FA;font-size:18px}
.amount{color:var(--gold);font-weight:500;white-space:nowrap}
.price p{color:var(--muted);font-weight:300;font-size:15.5px}
.access-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:start;max-width:1000px;margin:0 auto}
.access-grid .map iframe{border-radius:var(--radius);border:1px solid var(--line);width:100%}

/* formulaire */
.contact-form{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.04em;color:var(--muted)}
.contact-form input,.contact-form textarea{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:8px;padding:13px 14px;color:var(--ink);font:inherit;transition:border-color .25s,background .25s}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.06)}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px}
.flash{max-width:680px;margin:0 auto 8px;padding:14px 18px;border-radius:8px;text-align:center}
.flash.ok{background:rgba(120,180,120,.14);border:1px solid rgba(120,180,120,.4);color:#bfe3bf}
.flash.err{background:rgba(200,90,90,.12);border:1px solid rgba(200,90,90,.4);color:#e9b6b6}

/* galerie justifiee */
.block-gallery h2{margin-bottom:14px}
.gallery-just{display:flex;flex-wrap:wrap;gap:12px}
.gallery-just .gallery-cell{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;
  background:#0A1428;min-width:150px;box-shadow:0 8px 24px -18px rgba(0,0,0,.8);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s}
.gallery-just .gallery-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,13,28,.55));opacity:0;transition:opacity .45s}
.gallery-just .gallery-cell::before{content:"\002B";position:absolute;z-index:2;top:50%;left:50%;width:46px;height:46px;
  margin:-23px 0 0 -23px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;font-size:24px;line-height:44px;
  text-align:center;background:rgba(7,13,28,.35);backdrop-filter:blur(2px);opacity:0;transform:scale(.6);transition:opacity .4s,transform .4s}
.gallery-just .gallery-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.94) brightness(.96)}
.gallery-just .gallery-cell:hover{transform:translateY(-4px);border-color:rgba(194,168,120,.55);box-shadow:0 20px 40px -22px rgba(0,0,0,.9)}
.gallery-just .gallery-cell:hover img{transform:scale(1.09);filter:saturate(1.1) brightness(1.03)}
.gallery-just .gallery-cell:hover::after{opacity:1}
.gallery-just .gallery-cell:hover::before{opacity:1;transform:scale(1)}

/* lightbox */
.kx-lb{position:fixed;inset:0;z-index:200;background:rgba(4,7,16,.94);display:none;align-items:center;justify-content:center}
.kx-lb.is-open{display:flex}
.kx-lb img{max-width:92vw;max-height:86vh;border-radius:6px;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.kx-lb .kx-btn{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(194,168,120,.5);
  background:rgba(7,13,28,.6);color:var(--ink);font-size:22px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.2s}
.kx-lb .kx-btn:hover{background:rgba(194,168,120,.2);border-color:var(--gold)}
.kx-lb .kx-prev{left:24px}.kx-lb .kx-next{right:24px}
.kx-lb .kx-close{top:24px;right:24px;transform:none;width:46px;height:46px;font-size:18px}
.kx-lb .kx-count{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:var(--muted);font-size:13px;letter-spacing:.18em}

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer{background:#000;border-top:1px solid rgba(194,168,120,.18);color:#8b93a4;margin-top:90px;position:relative;z-index:1}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.2fr;gap:40px;padding-top:64px;padding-bottom:48px}
.foot-brand{font-family:'Playfair Display',serif;color:var(--ink);font-size:20px;margin-bottom:12px}
.foot-col p{font-size:14px;line-height:1.7}
.foot-head{text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--gold);margin-bottom:16px}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-links a{font-size:14px;color:#9aa3b4;transition:color .2s}
.foot a:hover,.foot-links a:hover{color:var(--gold)}
.maker{display:inline-flex;align-items:center;gap:12px;color:#cdd6e6}
.maker-mark{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#C2A878,#8a6d3a);color:#000;
  font-family:'Playfair Display',serif;font-weight:600;font-size:22px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.maker-txt{font-size:14px;line-height:1.3}
.maker-txt small{color:#6b768e;font-size:11px}
.maker:hover .maker-txt{color:var(--gold)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  padding-top:22px;padding-bottom:30px;border-top:1px solid rgba(255,255,255,.06);font-size:13px;color:#6b768e}
.foot-bottom a{color:#9aa3b4}.foot-bottom a:hover{color:var(--gold)}

/* =========================================================================
   ANIMATIONS D'APPARITION (robustes : visibles meme sans .in)
   Le masquage ne s'active que sous .js-anim ; un fallback timer force .in.
   ========================================================================= */
@media (prefers-reduced-motion:no-preference){
  .js-anim .reveal{opacity:0;transform:translateY(34px);filter:blur(4px);
    transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),filter .8s ease}
  .js-anim .reveal.in{opacity:1;transform:none;filter:blur(0)}
  .js-anim .in-stagger > *{opacity:0;transform:translateY(24px);filter:blur(3px);
    transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease}
  .js-anim .in-stagger.in > *{opacity:1;transform:none;filter:blur(0)}
  .in-stagger.in > *:nth-child(1){transition-delay:.04s}
  .in-stagger.in > *:nth-child(2){transition-delay:.10s}
  .in-stagger.in > *:nth-child(3){transition-delay:.16s}
  .in-stagger.in > *:nth-child(4){transition-delay:.22s}
  .in-stagger.in > *:nth-child(5){transition-delay:.28s}
  .in-stagger.in > *:nth-child(6){transition-delay:.34s}
  .in-stagger.in > *:nth-child(7){transition-delay:.40s}
  .in-stagger.in > *:nth-child(8){transition-delay:.46s}
  .in-stagger.in > *:nth-child(9){transition-delay:.52s}
}
@media (prefers-reduced-motion:reduce){
  .kx-bg .orb,.kx-bg .stars,.kx-marquee p,.scrolldown span,.kx-stats::before,.hero-slide{animation:none}
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1180px){
  .nav-side{gap:22px}
  .nav-side a{font-size:11px;letter-spacing:.16em}
  .nav-left{padding-right:80px}.nav-right{padding-left:80px}
  .foot{grid-template-columns:1fr 1fr;gap:34px 30px}
  .foot-maker{grid-column:1 / -1}
  .cols-3{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
}

/* MOBILE / TABLETTE : burger + empilements */
@media (max-width:1024px){
  /* HEADER mobile : logo centre, menu burger en dessous (pas de cercle decale) */
  .site-header,.site-header.solid{background:rgba(7,13,28,.96)}
  .nav{flex-direction:column;align-items:center;gap:0;padding-top:12px;padding-bottom:10px;position:relative}
  .brand{position:static;transform:none;order:0;width:auto;height:auto;margin:0 0 4px;z-index:121}
  .brand-disc{position:static;transform:none;width:74px;height:74px;border-width:2px;outline:none;
    box-shadow:0 10px 28px -12px rgba(0,0,0,.6)}
  .brand-disc img{width:60px;height:60px}
  .nav-toggle{display:flex;position:absolute;right:var(--pad);top:18px;order:0;z-index:121}
  .nav-links{position:static;flex-direction:column;align-items:stretch;width:100%;margin:0;padding:0;gap:0;
    max-height:0;overflow:hidden;opacity:0;background:transparent;backdrop-filter:none;border:0;box-shadow:none;transform:none;
    transition:max-height .42s ease,opacity .3s}
  .nav.open .nav-links{max-height:520px;opacity:1;pointer-events:auto;padding-top:8px}
  .nav-side{flex-direction:column;align-items:stretch;gap:0;padding:0;flex:none}
  .nav-side a{font-size:15px;letter-spacing:.14em;padding:13px var(--pad);text-align:center;border-top:1px solid rgba(255,255,255,.05)}
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav.open .nav-toggle span:nth-child(2){opacity:0}
  .nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* grilles en colonne */
  .cols-3,.section-grid,.pricing-grid,.access-grid,.row2,.svc-grid{grid-template-columns:1fr}
  .kx-feature{grid-template-columns:1fr;gap:26px}
  .kx-feature.rev{direction:ltr}
  .kx-feature-media{aspect-ratio:16/10}

  /* HERO mobile : scene + bloc texte, sans superposition */
  .is-inner main{padding-top:96px}
  .hero-scene{height:min(64vh,560px);min-height:420px}
  .hero-eyebrow{position:absolute;top:22%;left:0;right:0;text-align:center;z-index:5;padding:0 var(--pad);font-size:clamp(15px,2.4vw,30px);font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:#fff;text-shadow:0 2px 22px rgba(7,13,28,.9)}
  .hero-plate{width:90vw;top:53%}
  .hero-sub{position:absolute;left:0;right:0;bottom:4%;text-align:center;z-index:11;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:clamp(24px,4vw,50px);letter-spacing:.14em;color:var(--gold);text-shadow:0 2px 22px rgba(7,13,28,.85);animation:heroSubIn 1.2s ease .3s both}
  .hero-intro{padding-top:34px}
  .hero-pitch{font-size:15px}
  .kx-stats{gap:18px;margin-top:22px}
  .kx-stat{min-width:90px}
  .scrolldown{display:none}

  /* FOOTER empile */
  .site-footer{margin-top:60px}
  .foot{grid-template-columns:1fr;gap:32px;padding-top:48px;padding-bottom:36px;text-align:center}
  .foot-links{align-items:center}
  .foot-maker{grid-column:auto}
  .maker{justify-content:center}
  .foot-bottom{flex-direction:column;text-align:center;gap:8px;padding-top:20px;padding-bottom:28px}
}

@media (max-width:560px){
  .kx-lb .kx-prev{left:8px}.kx-lb .kx-next{right:8px}
  .gallery-just{gap:8px}
  .gallery-just .gallery-cell{min-width:100%;flex:1 1 100%!important;aspect-ratio:16/10!important}
  .kx-stats{gap:18px}
  .kx-stat{min-width:86px}
}
/* Soulignement dore anime des titres de section */
.js-anim main h2{--uw:0}
main h2::after{content:"";display:block;width:var(--uw,72px);height:3px;margin:18px auto 0;
  background:linear-gradient(90deg,var(--gold),rgba(194,168,120,.15));transition:width .9s cubic-bezier(.2,.8,.2,1)}
.js-anim main h2{position:relative}
.js-anim main h2::after{width:0}
.js-anim main h2.h-in::after{width:72px}

/* Separateur dore anime entre sections (insere par JS) */
.kx-divider{position:relative;height:1px;max-width:1100px;margin:0 auto;background:var(--gold);opacity:0;transition:opacity 1s ease}
.kx-divider.in{opacity:1}

@keyframes haloPulse2{0%,100%{box-shadow:0 0 8px 1px rgba(194,168,120,.4)}50%{box-shadow:0 0 16px 4px rgba(194,168,120,.7)}}

/* Galerie : images moins hautes */
.gallery-just .gallery-cell{max-height:190px}
@media (max-width:760px){.gallery-just .gallery-cell{max-height:160px}}

/* ============================================================
   HERO des pages internes : bandeau anime (orbes + lignes + particules)
   ============================================================ */
.page-head{position:relative;overflow:hidden;padding:160px 0 72px;text-align:center;
  background:linear-gradient(180deg,#0B1C3B 0%,#0a1733 55%,#070D1C 100%)}
.page-head .wrap{position:relative;z-index:2}
.page-head h1{font-size:clamp(34px,5vw,60px);color:#EEF2FA;opacity:0;animation:phFade 1s ease .3s forwards}
.page-head h1::after{content:"";display:block;width:64px;height:3px;
  background:linear-gradient(90deg,var(--gold),rgba(194,168,120,.2));margin:20px auto 0}
.ph-eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;
  opacity:0;animation:phFade .9s ease .15s forwards}
@keyframes phFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.page-head-anim{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.ph-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}
.ph-orb.a{width:340px;height:340px;left:-80px;top:-120px;
  background:radial-gradient(circle,rgba(194,168,120,.5),transparent 70%);animation:phDriftA 16s ease-in-out infinite}
.ph-orb.b{width:300px;height:300px;right:-60px;bottom:-120px;
  background:radial-gradient(circle,rgba(22,52,100,.85),transparent 70%);animation:phDriftB 20s ease-in-out infinite}
@keyframes phDriftA{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,40px)}}
@keyframes phDriftB{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,-30px)}}
.ph-line{position:absolute;left:-30%;height:1px;width:60%;
  background:linear-gradient(90deg,transparent,rgba(194,168,120,.55),transparent);top:38%;animation:phSweep 7s linear infinite}
.ph-line.l2{top:68%;animation-duration:9s;animation-delay:-3s;opacity:.7}
@keyframes phSweep{from{transform:translateX(-40%)}to{transform:translateX(220%)}}
.page-head-anim i{position:absolute;bottom:-12px;width:4px;height:4px;border-radius:50%;
  background:rgba(194,168,120,.8);box-shadow:0 0 8px 1px rgba(194,168,120,.5);animation:phRise linear infinite}
.page-head-anim i:nth-child(3){left:12%;animation-duration:9s;animation-delay:0s}
.page-head-anim i:nth-child(4){left:32%;animation-duration:12s;animation-delay:-2s;width:3px;height:3px}
.page-head-anim i:nth-child(5){left:54%;animation-duration:10s;animation-delay:-4s}
.page-head-anim i:nth-child(6){left:71%;animation-duration:13s;animation-delay:-1s;width:3px;height:3px}
.page-head-anim i:nth-child(7){left:86%;animation-duration:8s;animation-delay:-5s}
.page-head-anim i:nth-child(8){left:44%;animation-duration:14s;animation-delay:-7s;width:5px;height:5px}
@keyframes phRise{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-280px);opacity:0}}
@media (prefers-reduced-motion:reduce){.ph-orb,.ph-line,.page-head-anim i,.ph-eyebrow,.page-head h1{animation:none;opacity:1}}
@media (max-width:1024px){.page-head{padding:128px 0 56px}}
/* Particules dorées qui flottent dans le hero d'accueil */
.hero-particles{position:absolute;inset:0;z-index:6;overflow:hidden;pointer-events:none}
.hero-particles i{position:absolute;bottom:-14px;width:4px;height:4px;border-radius:50%;
  background:rgba(194,168,120,.85);box-shadow:0 0 10px 2px rgba(194,168,120,.5);animation:heroRise linear infinite}
.hero-particles i:nth-child(1){left:8%;animation-duration:14s;animation-delay:0s}
.hero-particles i:nth-child(2){left:22%;animation-duration:18s;animation-delay:-4s;width:3px;height:3px}
.hero-particles i:nth-child(3){left:37%;animation-duration:12s;animation-delay:-7s}
.hero-particles i:nth-child(4){left:50%;animation-duration:20s;animation-delay:-2s;width:5px;height:5px}
.hero-particles i:nth-child(5){left:63%;animation-duration:15s;animation-delay:-9s;width:3px;height:3px}
.hero-particles i:nth-child(6){left:75%;animation-duration:17s;animation-delay:-5s}
.hero-particles i:nth-child(7){left:88%;animation-duration:13s;animation-delay:-11s;width:3px;height:3px}
.hero-particles i:nth-child(8){left:94%;animation-duration:19s;animation-delay:-1s}
@keyframes heroRise{0%{transform:translateY(0);opacity:0}8%{opacity:1}88%{opacity:1}100%{transform:translateY(-78vh);opacity:0}}
@media (prefers-reduced-motion:reduce){.hero-particles i{animation:none;opacity:0}}
/* Accessibilité : contenu réservé aux lecteurs d'écran + moteurs */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Skip-link (accessibilité clavier) */
.skip-link{position:absolute;left:-999px;top:0;z-index:9999;background:var(--gold);color:var(--night);
  padding:10px 18px;border-radius:0 0 6px 0;font-size:13px;font-weight:600;letter-spacing:.04em}
.skip-link:focus{left:0}
/* Fil d'ariane visible (pages internes) */
.breadcrumb{max-width:var(--wrap);margin:0 auto;padding:14px var(--pad) 0;font-size:13px;color:var(--muted)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:0;padding:0}
.breadcrumb li{display:flex;align-items:center;gap:8px}
.breadcrumb li+li::before{content:"›";color:var(--gold);opacity:.7}
.breadcrumb a{color:var(--muted);transition:color .2s}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb [aria-current]{color:var(--ink)}

/* ============================================================
   ANIMATION "KALIA" diffusée derrière le masque du mot
   (remplace la vidéo YouTube : bokeh doré flottant + lueur)
   ============================================================ */
.hero-anim{position:absolute;inset:0;overflow:hidden;
  background:
    radial-gradient(120% 120% at 30% 20%, #3a2410 0%, transparent 60%),
    radial-gradient(120% 120% at 75% 80%, #1a0f06 0%, transparent 60%),
    linear-gradient(125deg,#2a1808 0%,#6b4118 30%,#9c6322 50%,#6b4118 70%,#2a1808 100%);
  background-size:200% 200%;animation:haShift 14s ease-in-out infinite}
@keyframes haShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* lueur centrale qui respire */
.hero-anim .ha-glow{position:absolute;left:50%;top:46%;width:70%;height:120%;
  transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,205,120,.55),rgba(214,150,70,.25) 38%,transparent 68%);
  filter:blur(8px);mix-blend-mode:screen;animation:haGlow 7s ease-in-out infinite}
@keyframes haGlow{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.12)}}

/* bokeh : disques dorés flous qui flottent et pulsent */
.hero-anim .ha-bokeh{position:absolute;border-radius:50%;mix-blend-mode:screen;
  background:radial-gradient(circle at 38% 35%,rgba(255,225,160,.95),rgba(240,180,90,.55) 45%,rgba(200,130,50,0) 72%);
  filter:blur(2px);animation:haFloat 9s ease-in-out infinite}
.hero-anim .b1{width:90px;height:90px;left:8%;top:60%;animation-duration:11s}
.hero-anim .b2{width:54px;height:54px;left:22%;top:25%;animation-duration:8s;animation-delay:-2s;opacity:.8}
.hero-anim .b3{width:120px;height:120px;left:34%;top:70%;animation-duration:13s;animation-delay:-4s}
.hero-anim .b4{width:40px;height:40px;left:46%;top:30%;animation-duration:7s;animation-delay:-1s;opacity:.7}
.hero-anim .b5{width:150px;height:150px;left:58%;top:62%;animation-duration:15s;animation-delay:-6s;opacity:.9}
.hero-anim .b6{width:36px;height:36px;left:66%;top:22%;animation-duration:9s;animation-delay:-3s;opacity:.65}
.hero-anim .b7{width:80px;height:80px;left:76%;top:58%;animation-duration:12s;animation-delay:-5s}
.hero-anim .b8{width:60px;height:60px;left:88%;top:34%;animation-duration:10s;animation-delay:-2s;opacity:.8}
.hero-anim .b9{width:46px;height:46px;left:15%;top:42%;animation-duration:8.5s;animation-delay:-7s;opacity:.7}
.hero-anim .b10{width:70px;height:70px;left:50%;top:50%;animation-duration:14s;animation-delay:-4s;opacity:.85}
@keyframes haFloat{
  0%{transform:translate(0,0) scale(1);opacity:.55}
  25%{transform:translate(14px,-18px) scale(1.08);opacity:.95}
  50%{transform:translate(-10px,-30px) scale(.95);opacity:.7}
  75%{transform:translate(-18px,-12px) scale(1.05);opacity:.9}
  100%{transform:translate(0,0) scale(1);opacity:.55}
}

/* étincelles vives qui scintillent */
.hero-anim .ha-spark{position:absolute;width:5px;height:5px;border-radius:50%;
  background:#fff3d6;box-shadow:0 0 8px 2px rgba(255,220,150,.9);animation:haSpark 4s ease-in-out infinite}
.hero-anim .s1{left:20%;top:50%;animation-delay:0s}
.hero-anim .s2{left:40%;top:40%;animation-delay:-1.2s}
.hero-anim .s3{left:55%;top:68%;animation-delay:-2.4s}
.hero-anim .s4{left:70%;top:44%;animation-delay:-0.8s}
.hero-anim .s5{left:85%;top:60%;animation-delay:-3s}
.hero-anim .s6{left:30%;top:66%;animation-delay:-1.8s}
@keyframes haSpark{0%,100%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}

@media (prefers-reduced-motion:reduce){
  .hero-anim,.hero-anim *{animation:none!important}
}
/* Lignes horizontales dorées qui balaient l'animation (en plus du bokeh) */
.hero-anim .ha-line{position:absolute;left:-40%;width:50%;height:2px;mix-blend-mode:screen;
  background:linear-gradient(90deg,transparent,rgba(255,215,140,.9) 45%,rgba(255,235,190,1) 50%,rgba(255,215,140,.9) 55%,transparent);
  box-shadow:0 0 8px 1px rgba(255,205,120,.55);animation:haSweep 6s linear infinite}
.hero-anim .l1{top:24%;animation-duration:6s;animation-delay:0s}
.hero-anim .l2{top:46%;height:1.5px;animation-duration:8s;animation-delay:-2.5s;opacity:.8}
.hero-anim .l3{top:64%;animation-duration:7s;animation-delay:-4s}
.hero-anim .l4{top:82%;height:1.5px;animation-duration:9s;animation-delay:-1.5s;opacity:.7}
@keyframes haSweep{from{transform:translateX(0)}to{transform:translateX(280%)}}
@media (prefers-reduced-motion:reduce){.hero-anim .ha-line{animation:none;opacity:.4}}

/* Pastille décorative sobre — coin haut droit des cartes (.card, .feat) */
.card,.feat{position:relative}
.card::after,.feat::after{content:"";position:absolute;right:22px;top:22px;width:30px;height:30px;border-radius:50%;
  background:radial-gradient(circle at 50% 42%,rgba(194,168,120,.20),rgba(194,168,120,.05));
  border:1px solid rgba(194,168,120,.45);box-sizing:border-box;
  transition:border-color .45s ease,background .45s ease}
.card h3::before,.feat h3::before{content:"";position:absolute;right:33px;top:33px;width:8px;height:8px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 8px 1px rgba(194,168,120,.5);pointer-events:none}
.card:hover::after,.feat:hover::after{border-color:rgba(194,168,120,.85);
  background:radial-gradient(circle at 50% 42%,rgba(194,168,120,.32),rgba(194,168,120,.08))}

/* Hero des pages internes : image plein-largeur en fond + voile semi-transparent */
.page-head.has-bg{background:#070D1C}
.page-head.has-bg::before{content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--hero-bg);background-size:cover;background-position:center;
  opacity:.52}
.page-head.has-bg::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,13,28,.42) 0%,rgba(11,28,59,.34) 45%,rgba(7,13,28,.9) 100%)}
.page-head.has-bg .wrap,.page-head.has-bg .breadcrumb{position:relative;z-index:2}
.page-head.has-bg .page-head-anim{z-index:1}

/* Hero avec image : l'image couvre aussi la zone sous le header fixe
   (on annule le padding-top du main et on l'absorbe dans le page-head) */
.has-hero-bg main{padding-top:0}
.page-head.has-bg{padding-top:248px}
@media (max-width:1024px){.page-head.has-bg{padding-top:200px}}

/* =========================================================================
   BLOG — grille d'articles 4 par ligne
   ========================================================================= */
.block-postgrid{padding-top:20px}
.postgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.post-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(180deg,rgba(16,30,58,.5),rgba(8,18,38,.25));
  transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .45s,box-shadow .45s}
.post-card:hover{transform:translateY(-6px);border-color:rgba(194,168,120,.5);
  box-shadow:0 28px 56px -30px rgba(0,0,0,.95)}
.post-card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.post-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0A1428}
.post-card-media img{width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:saturate(.97)}
.post-card:hover .post-card-media img{transform:scale(1.07)}
.post-card-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(7,13,28,.55))}
.post-card-cat{position:absolute;left:12px;top:12px;z-index:2;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:#081428;background:var(--gold);padding:5px 10px;border-radius:40px;font-weight:600}
.post-card-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card-date{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.post-card-title{font-family:'Playfair Display',serif;font-weight:600;font-size:18px;line-height:1.3;color:#EEF2FA}
.post-card-excerpt{color:var(--muted);font-weight:300;font-size:14px;line-height:1.6;flex:1}
.post-card-more{margin-top:6px;font-size:12px;letter-spacing:.08em;color:var(--gold);
  transition:transform .3s ease;display:inline-block}
.post-card:hover .post-card-more{transform:translateX(4px)}
@media (max-width:1024px){.postgrid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media (max-width:560px){.postgrid{grid-template-columns:1fr}}

/* Article : mise en page lecture */
.block-articlebody{max-width:760px;margin:0 auto}
.block-articlebody p{color:var(--muted);font-weight:300;line-height:1.85;font-size:17px;margin-bottom:20px}
.block-articlebody h2{text-align:left;font-size:clamp(22px,3vw,30px);margin:40px 0 18px}
.block-articlebody h2::after{margin:14px 0 0}
.block-articlebody h3{color:var(--gold);font-size:19px;margin:28px 0 12px}
.block-articlebody ul{margin:0 0 22px;padding-left:22px;color:var(--muted);font-weight:300;line-height:1.8}
.block-articlebody li{margin-bottom:8px}
.block-articlebody a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.block-articlebody .article-cta{margin:36px 0 8px;padding:26px 28px;border:1px solid rgba(194,168,120,.32);
  border-radius:14px;background:linear-gradient(180deg,rgba(16,30,58,.5),rgba(8,18,38,.2));text-align:center}
.block-articlebody .article-cta p{color:#dbe2ef;margin-bottom:16px}

/* FAQ accordéon */
.block-faq{max-width:820px;margin:0 auto}
.block-faq h2{text-align:center;margin-bottom:28px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:linear-gradient(180deg,rgba(16,30,58,.4),rgba(8,18,38,.2));transition:border-color .3s}
.faq-item[open]{border-color:rgba(194,168,120,.45)}
.faq-q{cursor:pointer;padding:18px 22px;font-family:'Playfair Display',serif;font-size:17px;color:#EEF2FA;
  list-style:none;position:relative;padding-right:48px;transition:color .3s}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  color:var(--gold);font-size:22px;font-family:'Jost',sans-serif;transition:transform .3s}
.faq-item[open] .faq-q::after{content:"–"}
.faq-item:hover .faq-q{color:var(--gold)}
.faq-a{padding:0 22px 20px;color:var(--muted);font-weight:300;line-height:1.8;font-size:15px}
.faq-a p{margin-bottom:12px}
.faq-a p:last-child{margin-bottom:0}

/* Articles liés */
.block-related{max-width:1000px;margin:60px auto 0}
.block-related h2{text-align:center;margin-bottom:28px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.related-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,rgba(16,30,58,.45),rgba(8,18,38,.2));transition:transform .4s,border-color .4s,box-shadow .4s}
.related-card:hover{transform:translateY(-5px);border-color:rgba(194,168,120,.5);box-shadow:0 22px 44px -26px rgba(0,0,0,.9)}
.related-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#0A1428}
.related-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.related-card:hover .related-media img{transform:scale(1.06)}
.related-title{display:block;padding:14px 16px 18px;font-family:'Playfair Display',serif;font-size:15px;line-height:1.35;color:#EEF2FA}
@media (max-width:760px){.related-grid{grid-template-columns:1fr}}


/* Mobile : éviter les images d’articles trop hautes en pleine largeur */
@media (max-width:560px){
  .post-card-media{aspect-ratio:3/2;max-height:230px}
  .related-media{aspect-ratio:3/2;max-height:200px}
  .kx-feature-media{aspect-ratio:3/2;max-height:260px}
}
@media (max-width:760px) and (min-width:561px){
  .related-media{aspect-ratio:16/9}
}

/* Blog : vignettes plus basses sur tablette/mobile (évite l’étirement vertical) */
@media (max-width:1024px){
  .post-card-media{aspect-ratio:16/9;max-height:220px}
}
@media (max-width:560px){
  .post-card-media{aspect-ratio:16/9;max-height:200px}
}

/* Mobile : disque logo = cercle fixe net (pas d’ellipse étirée) */
@media (max-width:1024px){
  .brand{width:74px;height:74px;display:flex;align-items:center;justify-content:center}
  .brand-disc{width:74px;height:74px;border:2px solid var(--gold);outline:none;
    background:#fff;border-radius:50%;overflow:hidden}
  .brand-disc img{width:60px;height:60px}
  .brand-disc::after{border-radius:50%}
}

/* Mobile : retirer le disque blanc et l'anneau doré, garder le logo seul */
@media (max-width:1024px){
  .brand-disc{background:transparent;border:0;outline:none;box-shadow:none;width:auto;height:auto}
  .brand-disc::after{display:none}
  .brand-disc img{width:64px;height:64px}
}
