/* =========================================================================
   Lumosse · Le Journal de l'assurance
   Concept : la lumière qui rend lisible. Fonds bleu nuit pour la marque,
   papier clair pour la lecture, or réservé à ce qui éclaire.
   ========================================================================= */

@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/fraunces-normal.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/fraunces-italic.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter.woff2") format("woff2")}

@property --deg{syntax:"<angle>";inherits:true;initial-value:0deg}

:root{
  /* Bleu nuit */
  --navy:#0D1B2A; --navy-2:#0A1724; --navy-3:#07111C; --navy-lift:#15304A; --navy-card:#13263A;
  /* Or */
  --gold:#D4AF37; --gold-soft:#E8CE7A; --gold-hi:#FBF3D6; --gold-deep:#B8932A; --gold-ink:#7E6310; --gold-ink-2:#6B550E;
  /* Encre claire sur fond sombre */
  --ink:#F6F3EC; --ink-2:rgba(246,243,236,.78); --ink-3:rgba(246,243,236,.62);
  /* Papier et texte de lecture */
  --paper:#F4F5F7; --white:#FFFFFF; --text:#2A3646; --text-2:#3A4756; --text-3:#56616F;
  --line:rgba(13,27,42,.12); --line-2:rgba(13,27,42,.07); --line-dark:rgba(232,206,122,.16);
  /* Sémantique */
  --amber:#F2C46B; --mint:#8FD9B0;
  /* Typo */
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  /* Mise en page */
  --gutter:clamp(20px,5vw,80px);
  --wrap:1240px;
  --header-h:76px;
  --ease:cubic-bezier(.19,1,.22,1);
  --ease-soft:cubic-bezier(.16,.84,.3,1);
  color-scheme:light;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}
.on-light :focus-visible,.section--paper :focus-visible,.section--white :focus-visible,.prose :focus-visible{outline-color:var(--gold-deep)}
.visually-hidden{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{position:absolute;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:999px;background:var(--gold);color:var(--navy);font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 12px)}
[hidden]{display:none!important}

/* ---------- Typographie ---------- */
.serif{font-family:var(--serif);font-optical-sizing:auto}
.eyebrow{margin:0 0 22px;font:500 12px/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft)}
.on-light .eyebrow,.section--paper .eyebrow,.section--white .eyebrow{color:var(--gold-ink)}
.eyebrow--line{display:flex;align-items:center;gap:14px}
.eyebrow--line::before{content:"";width:38px;height:1px;background:linear-gradient(90deg,rgba(212,175,55,0),var(--gold))}
.display{margin:0;font-family:var(--serif);font-optical-sizing:auto;font-weight:300;font-size:clamp(3.2rem,7vw,6.8rem);line-height:.96;letter-spacing:-.03em;text-wrap:balance}
.h1{margin:0;font-family:var(--serif);font-optical-sizing:auto;font-weight:300;font-size:clamp(2.6rem,5.6vw,5rem);line-height:1.02;letter-spacing:-.028em;text-wrap:balance}
.h2{margin:0;font-family:var(--serif);font-optical-sizing:auto;font-weight:300;font-size:clamp(2.2rem,4.4vw,4rem);line-height:1.04;letter-spacing:-.022em;text-wrap:balance}
.h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.18;letter-spacing:-.01em}
.lead{margin:0;max-width:36em;font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.65;color:var(--ink-2);text-wrap:pretty}
.on-light .lead,.section--paper .lead,.section--white .lead{color:var(--text-2)}
.body-dark{color:var(--ink-2);font-size:17px;line-height:1.7}
.ital{font-style:italic}
.ink-gold{font-style:italic;color:var(--gold-ink)}
.shine{background:linear-gradient(100deg,var(--gold) 0%,var(--gold-soft) 28%,#FFF6DA 40%,var(--gold-soft) 52%,var(--gold) 78%,var(--gold) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:.08em;animation:lm-shimmer 7s linear infinite}

/* ---------- Mise en page ---------- */
.wrap{position:relative;max-width:var(--wrap);margin-inline:auto}
.wrap--narrow{max-width:860px}
.section{position:relative;padding-block:clamp(80px,10vw,144px);padding-inline:var(--gutter)}
.section--tight{padding-block:clamp(64px,8vw,104px)}
.section--dark{background:var(--navy);color:var(--ink)}
.section--deep{background:var(--navy-2);color:var(--ink)}
.section--glow{background:radial-gradient(60% 75% at 80% 42%,var(--navy-lift) 0%,var(--navy) 55%,#09141F 100%);color:var(--ink);overflow:hidden}
.section--paper{background:var(--paper);color:var(--navy)}
.section--white{background:var(--white);color:var(--navy)}
.section--border{border-top:1px solid rgba(232,206,122,.08)}
.split{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 64px}
.split>*{min-width:0}
.split__main{flex:1 1 520px}
.split__side{flex:1 1 340px;max-width:30em}
.stack-sm>*+*{margin-top:12px}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 26px;border-radius:999px;border:1px solid transparent;font:600 15px/1.2 var(--sans);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.btn svg{flex:none;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn--gold{background:linear-gradient(135deg,#F1DB94 0%,var(--gold) 55%,var(--gold-deep) 100%);color:var(--navy);box-shadow:0 8px 30px -12px rgba(212,175,55,.7)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 44px -12px rgba(212,175,55,.85);color:var(--navy)}
.btn--ghost{border-color:rgba(232,206,122,.42);color:var(--ink);background:transparent}
.btn--ghost:hover{border-color:var(--gold);background:rgba(212,175,55,.08);color:var(--gold-hi)}
.btn--ink{background:var(--navy);color:var(--gold-hi)}
.btn--ink:hover{transform:translateY(-2px);box-shadow:0 16px 40px -18px rgba(13,27,42,.7)}
.btn--outline-ink{border-color:rgba(13,27,42,.28);color:var(--navy);background:transparent}
.btn--outline-ink:hover{border-color:var(--navy);background:rgba(13,27,42,.04)}
.btn--sm{min-height:44px;padding:0 20px;font-size:14px}
.link-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;font-size:15px;text-decoration:none;color:inherit}
.link-arrow svg{transition:transform .25s var(--ease)}
.link-arrow:hover svg{transform:translateX(4px)}
.on-light .link-arrow:hover,.section--paper .link-arrow:hover,.section--white .link-arrow:hover{color:var(--gold-ink)}

/* ---------- En-tête ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:61;background:var(--navy-2);pointer-events:none}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;margin-bottom:calc(-1 * var(--header-h));color:var(--ink);border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}
.site-header.is-solid{background:rgba(10,23,36,.86);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-bottom-color:rgba(232,206,122,.12)}
.site-header__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--header-h);padding-inline:var(--gutter);max-width:1440px;margin-inline:auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand__mark{flex:none;width:36px;height:36px}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__name{font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:.01em}
.brand__sub{margin-top:5px;font-size:9.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-3)}
.nav{display:flex;align-items:center;gap:32px;font-size:14.5px}
.nav a{position:relative;color:var(--ink-2);text-decoration:none;padding-block:10px;transition:color .25s}
.nav a:hover{color:var(--gold-hi)}
.nav a[aria-current="page"]{color:var(--gold-soft)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(212,175,55,.8)}
.site-header__cta{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(232,206,122,.35);background:transparent;color:var(--ink);cursor:pointer}
.nav-toggle span{position:relative;display:block;width:18px;height:1.5px;background:currentColor;transition:background .2s}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform .3s var(--ease)}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.nav-open .nav-toggle span{background:transparent}
.nav-open .nav-toggle span::before{transform:translateY(6px) rotate(45deg)}
.nav-open .nav-toggle span::after{transform:translateY(-6px) rotate(-45deg)}
.nav-panel{position:fixed;inset:0;z-index:49;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:calc(var(--header-h) + 24px) var(--gutter) 48px;background:radial-gradient(70% 60% at 80% 20%,var(--navy-lift) 0%,var(--navy) 60%,var(--navy-3) 100%);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}
.nav-open .nav-panel{opacity:1;visibility:visible}
.nav-panel a{display:block;padding-block:10px;font-family:var(--serif);font-weight:300;font-size:clamp(2rem,8vw,3rem);line-height:1.1;color:var(--ink);text-decoration:none}
.nav-panel a:hover,.nav-panel a[aria-current="page"]{color:var(--gold-soft)}
.nav-panel .btn{margin-top:24px;align-self:flex-start;font-family:var(--sans)}
.nav-open{overflow:hidden}
@media (max-width:1000px){.nav{display:none}.nav-toggle{display:inline-flex}.site-header__cta .btn{display:none}}
@media (min-width:1001px){.nav-panel{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding-top:calc(var(--header-h) + clamp(40px,6vw,96px));padding-bottom:clamp(72px,9vw,136px);padding-inline:var(--gutter);background:radial-gradient(70% 85% at 74% 46%,var(--navy-lift) 0%,var(--navy) 52%,#09141F 100%);color:var(--ink)}
.hero__grid{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,5vw,80px);max-width:1280px;margin-inline:auto}
.hero__text{flex:1 1 540px;min-width:0}
.hero__visual{position:relative;flex:1 1 440px;min-width:0;display:flex;justify-content:center}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:14px 32px;margin:50px 0 0;padding:28px 0 0;border-top:1px solid rgba(232,206,122,.14);font-size:13.5px;color:var(--ink-2)}
.trust li{display:flex;align-items:center;gap:10px}
.spot{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(620px circle at var(--mx,72%) var(--my,44%),rgba(232,206,122,.13),rgba(232,206,122,0) 60%)}
.reveal-grid{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.6;background-image:radial-gradient(rgba(232,206,122,.55) 1px,transparent 1.3px);background-size:26px 26px;-webkit-mask:radial-gradient(360px circle at var(--mx,72%) var(--my,44%),#000 0%,transparent 72%);mask:radial-gradient(360px circle at var(--mx,72%) var(--my,44%),#000 0%,transparent 72%)}
.chip-link{display:inline-flex;align-items:center;gap:12px;margin-bottom:34px;padding:8px 16px 8px 10px;border-radius:999px;border:1px solid rgba(232,206,122,.32);background:rgba(212,175,55,.06);color:rgba(246,243,236,.88);font-size:13px;text-decoration:none;transition:border-color .25s,background .25s}
.chip-link:hover{border-color:rgba(232,206,122,.7);background:rgba(212,175,55,.1);color:var(--gold-hi)}
.chip-link b{font-weight:600;color:var(--gold-soft)}
.pulse{display:block;width:8px;height:8px;border-radius:50%;background:var(--gold-soft);animation:lm-pulse 2.2s ease-out infinite}

/* Halo */
.halo{position:relative;width:min(580px,100%);max-width:100%;aspect-ratio:1/1}
.halo__glow{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.30) 0%,rgba(212,175,55,.10) 30%,rgba(212,175,55,0) 62%);animation:lm-breathe 6s ease-in-out infinite;pointer-events:none}
.halo__rays{position:absolute;inset:-16%;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(232,206,122,.10) 0deg .6deg,transparent .6deg 9deg);-webkit-mask:radial-gradient(circle,transparent 30%,#000 38%,transparent 70%);mask:radial-gradient(circle,transparent 30%,#000 38%,transparent 70%);animation:lm-spin 160s linear infinite;pointer-events:none}
.halo__ring{position:absolute;border-radius:50%;border:1px solid rgba(212,175,55,.16);pointer-events:none}
.halo__ticks{position:absolute;inset:4%;border-radius:50%;background:repeating-conic-gradient(rgba(232,206,122,.38) 0deg .45deg,transparent .45deg 6deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 10px),#000 calc(100% - 10px),#000 calc(100% - 4px),transparent calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 10px),#000 calc(100% - 10px),#000 calc(100% - 4px),transparent calc(100% - 4px));animation:lm-spin-rev 240s linear infinite;pointer-events:none}
.orbit{position:absolute;border-radius:50%;animation:lm-spin 9s linear infinite;pointer-events:none}
.orbit--rev{animation:lm-spin-rev 17s linear infinite}
.orbit__arc{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 230deg,rgba(212,175,55,.5) 318deg,var(--gold-hi) 359deg,transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}
.orbit__head{position:absolute;top:-3px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#FFF8E1;box-shadow:0 0 12px 4px rgba(251,243,214,.9),0 0 34px 10px rgba(212,175,55,.55)}
.orbit__head--sm{top:-2px;left:calc(50% - 3px);width:6px;height:6px}
.orbit--light .orbit__arc{background:conic-gradient(from 0deg,transparent 0deg 230deg,rgba(184,147,42,.35) 318deg,var(--gold-deep) 359deg,transparent 360deg)}
.orbit--light .orbit__head{background:var(--gold);box-shadow:0 0 10px 3px rgba(212,175,55,.7),0 0 28px 8px rgba(212,175,55,.35)}
.halo__disc{position:absolute;inset:31%;border-radius:50%;background:radial-gradient(circle at 38% 32%,#1B3753 0%,#0B1726 62%,#08121E 100%);animation:lm-corona 6s ease-in-out infinite}
.halo__disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 22%,rgba(251,243,214,.16),rgba(251,243,214,0) 46%)}
.mote{position:absolute;width:3px;height:3px;border-radius:50%;background:#F3DD95;box-shadow:0 0 8px 2px rgba(212,175,55,.6);opacity:0;animation:lm-float 10s linear infinite;pointer-events:none}
.mote--s{width:2px;height:2px}.mote--l{width:4px;height:4px}

/* Carte flottante (accueil) */
.float-card{position:absolute;left:0;bottom:2%;z-index:3;width:min(340px,90%);overflow:hidden;padding:22px 22px 18px;border-radius:18px;background:rgba(10,22,36,.76);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(232,206,122,.24);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);color:var(--ink);text-decoration:none;animation:lm-bob 7s ease-in-out infinite;transition:border-color .3s}
.float-card:hover{border-color:rgba(232,206,122,.6)}
.float-card__scan{position:absolute;left:0;right:0;top:0;height:56px;pointer-events:none;background:linear-gradient(180deg,rgba(232,206,122,0),rgba(232,206,122,.11),rgba(232,206,122,0));animation:lm-scan 4.8s ease-in-out infinite}
.float-card__top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.float-card__kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.float-card__title{position:relative;margin:12px 0 0;font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.25}
.float-card__more{position:relative;display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(246,243,236,.1);font-size:13.5px;color:var(--ink-2)}
.countdown{flex:none;padding:5px 11px;border-radius:999px;background:rgba(242,196,107,.14);border:1px solid rgba(242,196,107,.4);color:var(--amber);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- Bandeau défilant ---------- */
.marquee{overflow:hidden;background:var(--navy-2);border-block:1px solid rgba(232,206,122,.12);padding-block:22px}
.marquee__track{display:flex;width:max-content;animation:lm-marquee 46s linear infinite}
.marquee__item{display:inline-flex;align-items:center;gap:38px;padding-right:38px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(20px,2.2vw,30px);color:rgba(246,243,236,.55);white-space:nowrap}
.marquee__item::after{content:"";width:9px;height:9px;border-radius:50%;border:1px solid var(--gold);box-shadow:0 0 10px rgba(212,175,55,.6)}

/* ---------- Page « Tes données restent en Suisse » ---------- */
.duo{display:grid;gap:48px;align-items:center}
@media (min-width:1000px){.duo{grid-template-columns:1.12fr .88fr;gap:64px}}
.duo>*{min-width:0}
.duo__visual .cover{border:1px solid rgba(232,206,122,.18);box-shadow:0 50px 90px -40px rgba(0,0,0,.7)}
.duo--hero{position:relative;z-index:2}
.tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:64px}
.tool{position:relative;display:flex;flex-direction:column;padding:28px 28px 24px;border-radius:14px;background:rgba(246,243,236,.03);border:1px solid rgba(232,206,122,.16);transition:border-color .3s,background .3s,transform .3s var(--ease)}
.tool:hover{border-color:rgba(232,206,122,.5);background:rgba(232,206,122,.05);transform:translateY(-3px)}
.tool__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(232,206,122,.45);color:var(--gold-soft);background:radial-gradient(circle,rgba(212,175,55,.18),rgba(212,175,55,0) 70%)}
.tool__icon svg{width:22px;height:22px}
.tool__kind{margin:22px 0 0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.tool h3{margin:8px 0 0;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;color:var(--ink)}
.tool p:not(.tool__kind){margin:10px 0 0;font-size:15.5px;line-height:1.65;color:var(--ink-2)}
.tool__where{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:auto;padding-top:18px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.tool__where svg{width:14px;height:14px;color:var(--gold-soft)}
.heat{display:flex;gap:18px;align-items:flex-start;margin-top:56px;padding:26px 28px;border-radius:10px;background:var(--navy);color:var(--ink);box-shadow:0 30px 60px -36px rgba(13,27,42,.6)}
.heat__icon{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(232,206,122,.5);color:var(--gold-soft)}
.heat p{margin:0;font-size:16.5px;line-height:1.7;color:var(--ink-2)}
.heat b{color:var(--gold-hi);font-weight:600}
@media (max-width:560px){.heat{flex-direction:column;gap:14px;padding:24px 22px}}
.prose--page{max-width:none;margin-top:30px}
.prose--page>p:first-child{margin-top:0}
.faq p a,.pillar p a.link-inline{color:var(--gold-soft);text-decoration:underline;text-decoration-color:rgba(232,206,122,.45);text-underline-offset:3px}
.pillar p a.link-inline{color:var(--gold-ink);text-decoration-color:rgba(126,99,16,.4)}
.footer-bottom a{color:inherit;text-decoration:underline;text-decoration-color:rgba(246,243,236,.3);text-underline-offset:3px}
/* Coffre (couverture) */
.cover--vault .cv-note{position:absolute;left:6cqw;top:calc(50% - 7cqw);max-width:32cqw;font-family:var(--serif);font-style:italic;font-weight:300;font-size:4.6cqw;line-height:1.2;color:rgba(246,243,236,.82)}
.cover--vault .cv-dial{position:absolute;left:calc(70cqw - 19cqw);top:calc(50% - 19cqw);width:38cqw;height:38cqw;border-radius:50%;background:repeating-conic-gradient(rgba(232,206,122,.55) 0deg .7deg,transparent .7deg 7.5deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.4cqw),#000 calc(100% - 2.4cqw));mask:radial-gradient(farthest-side,transparent calc(100% - 2.4cqw),#000 calc(100% - 2.4cqw));animation:lm-spin 60s linear infinite}
.cover--vault .cv-dial::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(232,206,122,.5)}
.cover--vault .cv-dial--in{left:calc(70cqw - 12.5cqw);top:calc(50% - 12.5cqw);width:25cqw;height:25cqw;background:radial-gradient(circle at 40% 35%,#1B3753,#0B1726 70%);-webkit-mask:none;mask:none;border:1px solid rgba(232,206,122,.75);box-shadow:0 0 6cqw rgba(212,175,55,.3),inset 0 0 4cqw rgba(212,175,55,.12);animation:lm-breathe 6s ease-in-out infinite}
.cover--vault .cv-dial--in::after{content:none}
.cover--vault .cv-ch{left:calc(70cqw - 12.5cqw);width:25cqw;top:calc(50% - 4.4cqw);text-align:center;font-size:8.8cqw;color:var(--gold-soft)}
.cover--vault .cv-orb{position:absolute;left:calc(70cqw - 1.1cqw);top:calc(50% - 19cqw - 1.1cqw);width:2.2cqw;height:2.2cqw;border-radius:50%;background:#FFF6DA;box-shadow:0 0 3cqw 1cqw rgba(212,175,55,.7)}
/* ---------- Mon coin : carte ---------- */
.coin{position:relative;z-index:2;display:grid;gap:56px;align-items:center}
@media (min-width:980px){.coin{grid-template-columns:1.05fr .95fr;gap:72px}}
.coin>*{min-width:0}
.zones{display:flex;flex-direction:column;margin-top:36px;border-top:1px solid rgba(232,206,122,.16)}
.zone{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid rgba(232,206,122,.16)}
.zone__badge{flex:none;display:flex;align-items:center;justify-content:center;width:78px;height:30px;padding:0 8px;border-radius:999px;border:1px solid rgba(232,206,122,.45);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--gold-soft);white-space:nowrap}
.zone h3{margin:2px 0 0;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;color:var(--ink)}
.zone__towns{margin:6px 0 0;font-size:13.5px;letter-spacing:.04em;line-height:1.6;color:var(--gold-soft)}
.zone__note{margin:8px 0 0;font-size:15.5px;line-height:1.65;color:var(--ink-2)}
@media (max-width:560px){.zone{flex-direction:column;gap:12px}.zone__badge{width:auto;align-self:flex-start;padding:0 14px}}
.zone__note a{color:var(--gold-soft);text-decoration:underline;text-decoration-color:rgba(232,206,122,.45);text-underline-offset:3px;white-space:nowrap}
.coin__map{position:relative;width:min(100%,470px);margin-inline:auto}
.coin__map::before{content:"";position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.12),rgba(212,175,55,0) 62%);pointer-events:none}
.coin-map{position:relative;display:block;width:100%;height:auto;overflow:visible}
.cm-lake{stroke-width:1.1}
.cm-away{font-family:var(--serif);font-style:italic;font-size:12px;fill:rgba(246,243,236,.45)}
.cm-water{font-family:var(--serif);font-style:italic;font-size:17px;fill:rgba(246,243,236,.5)}
.cm-halo{transform-box:fill-box;transform-origin:center;animation:lm-breathe 6s ease-in-out infinite}
.cm-ring{fill:none;stroke:rgba(232,206,122,.28);stroke-width:.8;stroke-dasharray:2 4}
.cm-river{fill:none;stroke:rgba(232,206,122,.45);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cm-river--flow{stroke:#FFF3CC;stroke-width:2.2;stroke-dasharray:14 26;filter:drop-shadow(0 0 3px rgba(212,175,55,.9));animation:lm-flow 5s linear infinite}
.cm-canton{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;fill:rgba(246,243,236,.3)}
.cm-dot{fill:#FFF6DA;filter:drop-shadow(0 0 4px rgba(212,175,55,.95))}
.cm-town{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.04em;fill:rgba(246,243,236,.8)}
.cm-zone{font-family:var(--serif);font-style:italic;font-weight:300;font-size:25px;fill:var(--gold-soft)}
.cm-scale path{fill:none;stroke:rgba(246,243,236,.45);stroke-width:1}
.cm-scale text{font-family:var(--sans);font-size:10px;letter-spacing:.14em;fill:rgba(246,243,236,.5)}
/* ---------- Couvertures (illustrations de lumière) ---------- */
.cover{position:relative;overflow:hidden;isolation:isolate;container-type:inline-size;aspect-ratio:16/10;border-radius:6px;background:radial-gradient(80% 100% at 50% 40%,#183552 0%,var(--navy) 60%,var(--navy-3) 100%)}
.cover--wide{aspect-ratio:21/9;border:1px solid rgba(232,206,122,.16);box-shadow:0 50px 90px -40px rgba(0,0,0,.7)}
.cover--tall{aspect-ratio:auto;min-height:340px;height:100%;border-radius:0}
.cover__glow{position:absolute;inset:-25%;background:radial-gradient(circle at 50% 50%,rgba(212,175,55,.2),rgba(212,175,55,0) 45%);animation:lm-breathe 6s ease-in-out infinite;z-index:-1}
.cover__tag{position:absolute;left:4cqw;bottom:4cqw;font-size:clamp(10px,1.8cqw,14px);letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,236,.6)}
.cover__badge{position:absolute;left:4cqw;top:4cqw;padding:.8cqw 1.8cqw;border-radius:999px;background:rgba(212,175,55,.16);border:1px solid rgba(232,206,122,.4);font-size:max(10px,1.6cqw);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi)}
.cover__badge{font-size:clamp(10px,1.6cqw,12.5px)}
.cv-serif{position:absolute;font-family:var(--serif);font-style:italic;font-weight:300;line-height:1}
/* VS / VD */
.cover--vsvd .cv-river{position:absolute;left:50%;top:-30%;width:2px;height:160%;transform:rotate(16deg);opacity:.75;background:repeating-linear-gradient(180deg,rgba(232,206,122,0) 0,rgba(232,206,122,.85) 40px,rgba(232,206,122,0) 80px);background-size:100% 400px;animation:lm-flow 6s linear infinite}
.cover--vsvd .cv-a,.cover--vsvd .cv-b{position:absolute;top:calc(50% - 20cqw);width:40cqw;height:40cqw;border-radius:50%}
.cover--vsvd .cv-a{left:calc(50% - 38cqw);border:1px solid rgba(232,206,122,.8);box-shadow:0 0 8cqw rgba(212,175,55,.28),inset 0 0 6cqw rgba(212,175,55,.14);animation:lm-drift 10s ease-in-out infinite}
.cover--vsvd .cv-b{left:calc(50% - 2cqw);border:1px solid rgba(246,243,236,.5)}
.cover--vsvd .cv-l1{left:calc(50% - 27cqw);top:calc(50% - 4cqw);font-size:7cqw;color:var(--gold-soft)}
.cover--vsvd .cv-l2{left:calc(50% + 13cqw);top:calc(50% - 4cqw);font-size:7cqw;color:rgba(246,243,236,.88)}
/* Ratio 2/3 */
.cover--ratio .cv-ring{position:absolute;left:12cqw;top:calc(50% - 17cqw);width:34cqw;height:34cqw;border-radius:50%;background:conic-gradient(var(--gold-soft) 0deg 240deg,rgba(232,206,122,.12) 240deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.4cqw),#000 calc(100% - 1.4cqw));mask:radial-gradient(farthest-side,transparent calc(100% - 1.4cqw),#000 calc(100% - 1.4cqw));filter:drop-shadow(0 0 3cqw rgba(212,175,55,.35))}
.cover--ratio .cv-frac{left:12cqw;width:34cqw;top:calc(50% - 4.5cqw);text-align:center;font-size:9cqw;color:var(--ink)}
.cover--ratio .cv-note{position:absolute;left:54cqw;top:calc(50% - 6cqw);max-width:38cqw;font-family:var(--serif);font-style:italic;font-weight:300;font-size:4.6cqw;line-height:1.2;color:rgba(246,243,236,.8)}
/* Ondes (RC) */
.cover--ripple .cv-dot{position:absolute;left:calc(64% - 3cqw);top:calc(50% - 3cqw);width:6cqw;height:6cqw;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 6cqw 2cqw rgba(212,175,55,.5)}
.cover--ripple .cv-wave{position:absolute;left:64%;top:50%;width:14cqw;height:14cqw;margin:-7cqw 0 0 -7cqw;border-radius:50%;border:1px solid rgba(232,206,122,.7);animation:lm-ripple 4.5s ease-out infinite}
.cover--ripple .cv-wave:nth-of-type(2){animation-delay:1.5s}.cover--ripple .cv-wave:nth-of-type(3){animation-delay:3s}
.cover--ripple .cv-note{position:absolute;left:6cqw;top:calc(50% - 7cqw);max-width:34cqw;font-family:var(--serif);font-style:italic;font-weight:300;font-size:4.6cqw;line-height:1.2;color:rgba(246,243,236,.8)}
/* Calendrier */
.cover--calendar .cv-ring{position:absolute;right:10cqw;top:calc(50% - 19cqw);width:38cqw;height:38cqw;border-radius:50%;background:conic-gradient(var(--gold-soft) 0deg 300deg,rgba(242,196,107,.95) 300deg 330deg,rgba(232,206,122,.12) 330deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.2cqw),#000 calc(100% - 1.2cqw));mask:radial-gradient(farthest-side,transparent calc(100% - 1.2cqw),#000 calc(100% - 1.2cqw));filter:drop-shadow(0 0 3cqw rgba(212,175,55,.35))}
.cover--calendar .cv-date{right:10cqw;width:38cqw;top:calc(50% - 8cqw);text-align:center;font-size:12cqw;color:var(--ink)}
.cover--calendar .cv-month{position:absolute;right:10cqw;width:38cqw;top:calc(50% + 5cqw);text-align:center;font-size:max(10px,2cqw);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft)}
.cover--calendar .cv-note{position:absolute;left:6cqw;top:calc(50% - 7cqw);max-width:38cqw;font-family:var(--serif);font-style:italic;font-weight:300;font-size:4.6cqw;line-height:1.2;color:rgba(246,243,236,.82)}
/* Déménagement */
.cover--move .cv-arc{position:absolute;left:25%;top:calc(62% - 25cqw);width:50%;height:25cqw;border:1px dashed rgba(232,206,122,.6);border-bottom:0;border-radius:25cqw 25cqw 0 0}
.cover--move .cv-home{position:absolute;top:calc(62% - 6cqw);width:12cqw;height:12cqw;border-radius:50%;border:1px solid rgba(232,206,122,.8);box-shadow:0 0 5cqw rgba(212,175,55,.3)}
.cover--move .cv-home--a{left:calc(25% - 6cqw);border-color:rgba(246,243,236,.5);box-shadow:none}
.cover--move .cv-home--b{left:calc(75% - 6cqw)}
.cover--move .cv-pivot{position:absolute;left:50%;top:62%;width:0;height:0;animation:lm-swing 3.6s ease-in-out infinite alternate}
.cover--move .cv-pivot::before{content:"";position:absolute;left:-1.3cqw;top:calc(-25cqw - 1.3cqw);width:2.6cqw;height:2.6cqw;border-radius:50%;background:#FFF6DA;box-shadow:0 0 3cqw 1cqw rgba(212,175,55,.7)}
.cover--move .cv-lab{position:absolute;top:calc(62% + 9cqw);width:20cqw;text-align:center;font-size:max(10px,1.8cqw);letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,236,.62)}
.cover--move .cv-lab--a{left:calc(25% - 10cqw)}.cover--move .cv-lab--b{left:calc(75% - 10cqw)}
/* Grille des pièces */
.cover--grid .cv-rooms{position:absolute;right:10cqw;top:calc(50% - 15cqw);display:grid;grid-template-columns:repeat(3,9cqw);gap:1.6cqw}
.cover--grid .cv-rooms span{display:block;width:9cqw;height:9cqw;border-radius:1cqw;border:1px solid rgba(232,206,122,.22);animation:lm-room 6s ease-in-out infinite}
.cover--grid .cv-rooms span:nth-child(2){animation-delay:.6s}.cover--grid .cv-rooms span:nth-child(3){animation-delay:1.2s}.cover--grid .cv-rooms span:nth-child(4){animation-delay:1.8s}.cover--grid .cv-rooms span:nth-child(5){animation-delay:2.4s}.cover--grid .cv-rooms span:nth-child(6){animation-delay:3s}.cover--grid .cv-rooms span:nth-child(7){animation-delay:3.6s}.cover--grid .cv-rooms span:nth-child(8){animation-delay:4.2s}.cover--grid .cv-rooms span:nth-child(9){animation-delay:4.8s}
.cover--grid .cv-note{position:absolute;left:6cqw;top:calc(50% - 7cqw);max-width:40cqw;font-family:var(--serif);font-style:italic;font-weight:300;font-size:4.6cqw;line-height:1.2;color:rgba(246,243,236,.82)}
/* Casco : trois cercles */
.cover--casco .cv-c{position:absolute;border-radius:50%;left:calc(36% - var(--s)/2);top:calc(50% - var(--s)/2);width:var(--s);height:var(--s)}
.cover--casco .cv-c1{--s:14cqw;border:1px solid rgba(246,243,236,.75)}
.cover--casco .cv-c2{--s:27cqw;background:conic-gradient(var(--gold-soft) 0deg 220deg,rgba(232,206,122,.14) 220deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1cqw),#000 calc(100% - 1cqw));mask:radial-gradient(farthest-side,transparent calc(100% - 1cqw),#000 calc(100% - 1cqw))}
.cover--casco .cv-c3{--s:40cqw;border:1px solid rgba(232,206,122,.8);box-shadow:0 0 6cqw rgba(212,175,55,.3);animation:lm-breathe 6s ease-in-out infinite}
.cover--casco .cv-legend{position:absolute;left:64%;top:calc(50% - 9cqw);display:flex;flex-direction:column;gap:2.2cqw;font-size:max(10px,2.2cqw);letter-spacing:.2em;text-transform:uppercase;color:rgba(246,243,236,.72)}
.cover--casco .cv-legend i{display:inline-block;width:1.6cqw;height:1.6cqw;margin-right:1.6cqw;border-radius:50%;vertical-align:middle}
/* Goutte (PPE) */
.cover--drop .cv-floor{position:absolute;left:18%;right:18%;height:1px;background:linear-gradient(90deg,rgba(232,206,122,0),rgba(232,206,122,.6),rgba(232,206,122,0))}
.cover--drop .cv-floor--1{top:34%}.cover--drop .cv-floor--2{top:62%}.cover--drop .cv-floor--3{top:88%}
.cover--drop .cv-lvl{position:absolute;left:10%;font-family:var(--serif);font-style:italic;font-size:3cqw;color:rgba(246,243,236,.6)}
.cover--drop .cv-drop{position:absolute;left:calc(50% - 2cqw);top:calc(34% + 1cqw);width:4cqw;height:4cqw;border-radius:0 50% 50% 50%;transform:rotate(45deg);background:linear-gradient(135deg,#FFF6DA,var(--gold));box-shadow:0 0 4cqw rgba(212,175,55,.6);animation:lm-drip 3.2s cubic-bezier(.55,0,.8,.4) infinite}
.cover--drop .cv-splash{position:absolute;left:calc(50% - 9cqw);top:calc(62% - 1.5cqw);width:18cqw;height:3cqw;border-radius:50%;border:1px solid rgba(232,206,122,.7);opacity:0;animation:lm-splash 3.2s ease-out infinite}
/* Trois piliers */
.cover--pillars .cv-note{position:absolute;font-family:var(--serif);font-style:italic;font-weight:300;line-height:1.2;color:rgba(246,243,236,.82);left:6cqw;top:calc(50% - 7cqw);max-width:34cqw;font-size:4.6cqw}
.cover--pillars .cv-base{position:absolute;left:46cqw;right:6cqw;top:78%;height:1px;background:linear-gradient(90deg,rgba(232,206,122,0),rgba(232,206,122,.7),rgba(232,206,122,0))}
.cover--pillars .cv-col{position:absolute;bottom:22%;width:9cqw;border:1px solid rgba(232,206,122,.6);border-bottom:0;border-radius:.6cqw .6cqw 0 0;background:linear-gradient(180deg,rgba(251,243,214,.55),rgba(212,175,55,.22) 35%,rgba(212,175,55,.04));box-shadow:0 0 5cqw rgba(212,175,55,.22),inset 0 1cqw 2cqw rgba(251,243,214,.18);transform-origin:50% 100%;animation:lm-rise 6s ease-in-out infinite}
.cover--pillars .cv-col::before{content:"";position:absolute;left:-1.2cqw;right:-1.2cqw;top:-1.4cqw;height:1.4cqw;border-radius:.4cqw;background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi),var(--gold-deep));box-shadow:0 0 3cqw rgba(212,175,55,.6)}
.cover--pillars .cv-col--1{left:52cqw;height:30cqw}
.cover--pillars .cv-col--2{left:66cqw;height:24cqw;animation-delay:.8s}
.cover--pillars .cv-col--3{left:80cqw;height:15cqw;animation-delay:1.6s;border-style:dashed;background:linear-gradient(180deg,rgba(251,243,214,.3),rgba(212,175,55,.1) 40%,rgba(212,175,55,0))}
.cover--pillars .cv-pl{position:absolute;top:calc(78% + 2.4cqw);width:13cqw;text-align:center;font-size:clamp(10px,2cqw,15px);letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,236,.72)}
.cover--pillars .cv-pl--1{left:50cqw}.cover--pillars .cv-pl--2{left:64cqw}.cover--pillars .cv-pl--3{left:78cqw;color:var(--gold-soft)}
/* Pouls (accidents) */
.cover--pulse .cv-note{position:absolute;font-family:var(--serif);font-style:italic;font-weight:300;line-height:1.2;color:rgba(246,243,236,.82);left:6cqw;top:10%;max-width:46cqw;font-size:4.4cqw}
.cover--pulse .cv-hours{right:7cqw;top:9%;font-size:11cqw;color:var(--gold-soft)}
.cover--pulse .cv-unit{position:absolute;right:7cqw;top:calc(9% + 12.5cqw);font-size:clamp(9px,1.7cqw,13px);letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,236,.62)}
.cover--pulse .cv-ecg{position:absolute;left:0;width:100%;top:46%;height:20cqw;overflow:visible}
.cover--pulse .cv-ecg polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}
.cover--pulse .cv-ecg__base{stroke:rgba(232,206,122,.3);stroke-width:.4}
.cover--pulse .cv-ecg__run{stroke:#FFF3CC;stroke-width:.7;stroke-dasharray:30 100;stroke-dashoffset:-33;filter:drop-shadow(0 0 4px rgba(212,175,55,.9));animation:lm-trace 3.6s linear infinite}
/* Lacunes AVS */
.cover--gaps .cv-frac{left:6cqw;top:calc(50% - 10cqw);font-size:12cqw;color:var(--gold-soft)}
.cover--gaps .cv-note{position:absolute;font-family:var(--serif);font-style:italic;font-weight:300;line-height:1.2;color:rgba(246,243,236,.82);left:6cqw;top:calc(50% + 4cqw);max-width:34cqw;font-size:3.8cqw}
.cover--gaps .cv-years{position:absolute;left:50cqw;top:calc(50% - 15cqw);display:grid;grid-template-columns:repeat(11,2.4cqw);gap:2cqw 1.2cqw}
.cover--gaps .cv-years i{display:block;height:6cqw;border-radius:.5cqw;background:linear-gradient(180deg,var(--gold-hi),rgba(212,175,55,.35));box-shadow:0 0 1.6cqw rgba(212,175,55,.35)}
.cover--gaps .cv-years i.is-gap{background:none;border:1px dashed rgba(242,196,107,.95);box-shadow:none;animation:lm-gap 2.6s ease-in-out infinite}
.cover--franchise .cv-note{position:absolute;left:6cqw;top:8%;max-width:60cqw;font-family:var(--serif);font-style:italic;font-weight:300;font-size:4.2cqw;line-height:1.2;color:rgba(246,243,236,.82)}
.cover--franchise .cv-v{top:calc(60% - 11.5cqw);font-size:8cqw;color:var(--ink)}
.cover--franchise .cv-v1{left:7cqw}
.cover--franchise .cv-v2{right:7cqw;color:var(--gold-soft)}
.cover--franchise .cv-track{position:absolute;left:10cqw;right:10cqw;top:60%;height:2px;background:linear-gradient(90deg,rgba(246,243,236,.5),var(--gold-soft));box-shadow:0 0 2cqw rgba(212,175,55,.45)}
.cover--franchise .cv-tick{position:absolute;top:calc(60% - 1.3cqw);width:1px;height:2.8cqw;background:rgba(232,206,122,.55)}
.cover--franchise .cv-eq{position:absolute;left:68.2cqw;top:calc(60% - 4cqw);width:1px;height:8cqw;background:linear-gradient(180deg,rgba(251,243,214,0),var(--gold-hi),rgba(251,243,214,0));box-shadow:0 0 2cqw rgba(212,175,55,.8)}
.cover--franchise .cv-eqlab{position:absolute;left:58.2cqw;width:20cqw;top:calc(60% + 4.6cqw);text-align:center;font-size:clamp(9px,1.7cqw,13px);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft)}
.cover--franchise .cv-knob{position:absolute;top:calc(60% - 2.4cqw + 1px);left:calc(68.2cqw - 2.4cqw);width:4.8cqw;height:4.8cqw;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FFF6D8,var(--gold-soft) 55%,var(--gold-deep));box-shadow:0 0 5cqw 1.2cqw rgba(212,175,55,.5);animation:lm-slide 7s ease-in-out infinite alternate}
.cover--door .cv-note{position:absolute;left:6cqw;top:calc(50% - 7cqw);max-width:36cqw;font-family:var(--serif);font-style:italic;font-weight:300;font-size:4.6cqw;line-height:1.2;color:rgba(246,243,236,.82)}
.cover--door .cv-frame{position:absolute;right:20cqw;top:calc(50% - 17cqw);width:20cqw;height:34cqw;border:1px solid rgba(232,206,122,.75);border-bottom:0;box-shadow:0 0 4cqw rgba(212,175,55,.25),inset 0 0 4cqw rgba(212,175,55,.18);overflow:hidden}
.cover--door .cv-light{position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,243,214,.34),rgba(232,206,122,.14) 60%,rgba(212,175,55,.05));animation:lm-glow 5s ease-in-out infinite}
.cover--door .cv-ground{position:absolute;left:6cqw;right:6cqw;top:calc(50% + 17cqw);height:1px;background:linear-gradient(90deg,rgba(232,206,122,0),rgba(232,206,122,.5),rgba(232,206,122,0))}
.cover--door .cv-spill{position:absolute;right:12cqw;width:36cqw;top:calc(50% + 17cqw);height:10cqw;background:linear-gradient(180deg,rgba(232,206,122,.3),rgba(232,206,122,0));clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);animation:lm-glow 5s ease-in-out infinite}
.cover--doc .cv-sheet{position:absolute;left:12cqw;top:calc(50% - 16cqw);width:24cqw;height:32cqw;padding-top:2cqw;border-radius:1.2cqw;border:1px solid rgba(246,243,236,.5);background:linear-gradient(160deg,rgba(246,243,236,.09),rgba(246,243,236,.02));transform:rotate(-6deg);box-shadow:0 2cqw 6cqw rgba(0,0,0,.35)}
.cover--doc .cv-sheet i{display:block;height:1px;margin:3.2cqw 3cqw 0;background:rgba(246,243,236,.45)}
.cover--doc .cv-sheet i:nth-child(2){margin-right:6cqw}.cover--doc .cv-sheet i:nth-child(4){margin-right:8cqw}
.cover--doc .cv-sheet i:last-child{width:40%;margin-top:6cqw;height:2px;background:var(--gold-soft);box-shadow:0 0 1.5cqw rgba(212,175,55,.7)}
.cover--doc .cv-years{position:absolute;right:12cqw;top:calc(50% - 15cqw);width:30cqw;height:30cqw;border-radius:50%;background:conic-gradient(rgba(232,206,122,.3) 0deg 114deg,transparent 114deg 120deg,rgba(232,206,122,.3) 120deg 234deg,transparent 234deg 240deg,var(--gold-soft) 240deg 354deg,transparent 354deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.2cqw),#000 calc(100% - 1.2cqw));mask:radial-gradient(farthest-side,transparent calc(100% - 1.2cqw),#000 calc(100% - 1.2cqw));filter:drop-shadow(0 0 3cqw rgba(212,175,55,.35));animation:lm-spin 40s linear infinite}
.cover--doc .cv-three{right:12cqw;width:30cqw;top:calc(50% - 7.5cqw);text-align:center;font-size:12cqw;color:var(--ink)}
.cover--doc .cv-yl{position:absolute;right:12cqw;width:30cqw;top:calc(50% + 4.8cqw);text-align:center;font-size:clamp(10px,2cqw,15px);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft)}
.cover--speed .cv-gauge{position:absolute;top:calc(50% - 11cqw);width:28cqw;height:14cqw;box-sizing:border-box;border-radius:14cqw 14cqw 0 0;border:1.1cqw solid rgba(232,206,122,.28);border-bottom:0}
.cover--speed .cv-gauge--a{left:12cqw}
.cover--speed .cv-gauge--b{right:12cqw;border-color:var(--gold-soft);filter:drop-shadow(0 0 2.5cqw rgba(212,175,55,.45))}
.cover--speed .cv-gauge::after{content:"";position:absolute;left:calc(50% - 1.2cqw);bottom:-1.2cqw;width:2.4cqw;height:2.4cqw;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 2cqw rgba(212,175,55,.7)}
.cover--speed .cv-needle{position:absolute;left:calc(50% - 1px);bottom:0;width:2px;height:10.5cqw;border-radius:2px;background:linear-gradient(0deg,var(--ink),rgba(246,243,236,.15));transform-origin:50% 100%;transform:rotate(-40deg);animation:lm-needle-a 4.5s ease-in-out infinite alternate}
.cover--speed .cv-gauge--b .cv-needle{transform:rotate(45deg);animation-name:lm-needle-b}
.cover--speed .cv-kmh{top:calc(50% + 5cqw);width:28cqw;text-align:center;font-size:8cqw;color:var(--ink)}
.cover--speed .cv-kmh--a{left:12cqw}
.cover--speed .cv-kmh--b{right:12cqw;color:var(--gold-soft)}
.cover--speed .cv-unit{position:absolute;top:calc(50% + 14.5cqw);width:28cqw;text-align:center;font-size:clamp(9px,1.7cqw,13px);letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,236,.62)}
.cover--speed .cv-unit--a{left:12cqw}
.cover--speed .cv-unit--b{right:12cqw}

/* ---------- Cartes d'articles ---------- */
.post{display:flex;flex-direction:column;color:inherit;text-decoration:none;transition:transform .35s var(--ease)}
.post:hover{transform:translateY(-4px)}
.post__body{padding-top:20px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.meta__time{color:var(--text-3)}
@media (max-width:440px){.meta{letter-spacing:.1em;gap:8px 10px}}
.section--dark .meta,.section--deep .meta{color:var(--gold-soft)}
.section--dark .meta__time,.section--deep .meta__time{color:var(--ink-3)}
.post__title{margin:12px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,1.9vw,1.6rem);line-height:1.22;letter-spacing:-.005em;text-wrap:balance;transition:color .3s}
.post--big .post__title{font-size:clamp(1.8rem,2.8vw,2.5rem);line-height:1.12}
.post:hover .post__title{color:var(--gold-ink)}
.section--dark .post:hover .post__title,.section--deep .post:hover .post__title{color:var(--gold-soft)}
.post__excerpt{margin:12px 0 0;max-width:42em;font-size:16px;line-height:1.65;color:var(--text-2)}
.section--dark .post__excerpt,.section--deep .post__excerpt{color:var(--ink-2)}
.posts-feature{display:flex;flex-wrap:wrap;gap:32px}
.posts-feature__main{flex:1.35 1 560px;min-width:0}
.posts-feature__side{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:32px}
@media (min-width:1060px){
  .posts-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
  .posts-feature__main{display:flex}
  .posts-feature__main>.post{flex:1}
  .posts-feature__main>.post>.cover{flex:1 1 auto;aspect-ratio:auto;min-height:440px}
}
@media (min-width:1001px){.check__result{position:sticky;top:calc(var(--header-h) + 32px)}}
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:40px 28px}
.feature{display:flex;flex-wrap:wrap;overflow:hidden;border-radius:8px;background:var(--white);border:1px solid var(--line-2);box-shadow:0 30px 60px -40px rgba(13,27,42,.45);color:var(--navy);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s}
.feature:hover{transform:translateY(-3px);box-shadow:0 40px 70px -40px rgba(13,27,42,.55)}
.feature__media{flex:1.1 1 460px;min-width:0}
.feature__body{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,52px)}
.feature:hover .post__title{color:var(--gold-ink)}
.feature__title{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.01em}
.feature .post__excerpt{font-size:16.5px}
.done-line{margin:0;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold-soft)}
.inline-form .form-error{flex-basis:100%;margin:4px 0 0}
.section--paper .inline-form .input,.prose .inline-form .input{background:rgba(246,243,236,.05)}
.byline{display:flex;align-items:center;gap:14px;margin-top:26px;font-size:14px;color:var(--text-3)}
.avatar{flex:none;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--navy);border:1px solid rgba(232,206,122,.5);color:var(--gold-soft);font-family:var(--serif);font-style:italic;font-size:18px}
.byline b{font-weight:600;color:var(--navy)}
.section--dark .byline b,.article-hero .byline b{color:var(--ink)}

/* ---------- Moments de vie ---------- */
.moments{display:flex;flex-direction:column;margin-top:64px;border-bottom:1px solid rgba(232,206,122,.16)}
.moment{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:14px 40px;padding:30px 12px;border-top:1px solid rgba(232,206,122,.16);color:var(--ink);text-decoration:none;transition:background .35s ease}
.moment::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:linear-gradient(90deg,var(--gold-hi),var(--gold),rgba(212,175,55,0));transition:width .7s var(--ease)}
.moment:hover::before{width:100%}
.moment:hover{background:linear-gradient(90deg,rgba(212,175,55,.06),rgba(212,175,55,0) 70%)}
.moment__name{flex:1 1 300px;min-width:0;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1.1}
.moment__text{flex:2 1 380px;min-width:0;font-size:16.5px;line-height:1.6;color:var(--ink-2)}
.moment__text small{display:block;margin-top:6px;font-size:13px;letter-spacing:.04em;color:var(--gold-soft)}
.moment__arrow{flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(232,206,122,.3);color:var(--gold-soft);transition:transform .35s ease,border-color .35s,background .35s}
.moment:hover .moment__arrow{transform:translateX(6px);border-color:var(--gold);background:rgba(212,175,55,.12)}

/* ---------- Le check ---------- */
.wrap>.check:first-child{margin-top:0}
.check{display:flex;flex-wrap:wrap;align-items:flex-start;gap:48px clamp(40px,6vw,96px);margin-top:56px}
.check__qs{flex:1.4 1 560px;min-width:0}
.q{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding-block:22px;border-top:1px solid rgba(232,206,122,.14)}
.q:last-child{border-bottom:1px solid rgba(232,206,122,.14)}
.q__text{flex:1 1 280px;min-width:0}
.q__label{margin:0;font-size:17px;line-height:1.5;color:var(--ink)}
.q__hint{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink-3)}
.q__opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative;display:inline-flex}
.opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.opt span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:78px;padding:0 16px;border-radius:999px;border:1px solid rgba(246,243,236,.22);color:var(--ink-2);font-size:14px;cursor:pointer;user-select:none;transition:border-color .2s,background .2s,color .2s,box-shadow .2s}
.opt:hover span{border-color:rgba(232,206,122,.6)}
.opt input:checked+span{border-color:var(--gold);background:linear-gradient(135deg,rgba(241,219,148,.24),rgba(212,175,55,.16));color:var(--gold-hi);font-weight:600;box-shadow:0 0 22px -6px rgba(212,175,55,.7)}
.opt input:focus-visible+span{outline:2px solid var(--gold-soft);outline-offset:3px}
.check__result{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.gauge{--deg:0deg;position:relative;width:min(300px,76vw);max-width:100%;aspect-ratio:1/1;transition:--deg 1.1s var(--ease)}
.gauge__glow{position:absolute;inset:-24%;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.28) 0%,rgba(212,175,55,.08) 34%,rgba(212,175,55,0) 64%);animation:lm-breathe 6s ease-in-out infinite;pointer-events:none}
.gauge__outer{position:absolute;inset:-6%;border-radius:50%;border:1px solid rgba(212,175,55,.12)}
.gauge__ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#FBF3D6 0deg,var(--gold) var(--deg),rgba(232,206,122,.10) var(--deg) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 12px));mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 12px))}
.gauge__head{position:absolute;inset:0;transform:rotate(var(--deg))}
.gauge__head::before{content:"";position:absolute;top:-1px;left:calc(50% - 7px);width:14px;height:14px;border-radius:50%;background:#FFF8E1;box-shadow:0 0 14px 5px rgba(251,243,214,.85),0 0 36px 12px rgba(212,175,55,.5)}
.gauge__core{position:absolute;inset:16%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 38% 32%,#1B3753 0%,#0B1726 70%);box-shadow:0 0 0 1px rgba(232,206,122,.35),0 0 60px rgba(212,175,55,.18)}
.gauge__label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3)}
.gauge__value{font-family:var(--serif);font-weight:300;font-size:clamp(56px,7vw,84px);line-height:1;color:var(--gold-soft);font-variant-numeric:tabular-nums}
.gauge__max{font-size:13px;color:var(--ink-3)}
.check__band{margin:34px 0 0;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.6rem,2.4vw,2rem);color:var(--ink)}
.check__text{margin:12px 0 0;max-width:26em;font-size:15.5px;line-height:1.65;color:var(--ink-2)}
.reco{width:100%;max-width:400px;margin:26px 0 0;padding:0;list-style:none;text-align:left}
.reco__title{margin:0 0 10px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);text-align:left}
.reco li+li{border-top:1px solid rgba(232,206,122,.12)}
.reco a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.4;transition:color .2s}
.reco a:hover{color:var(--gold-hi)}
.reco a svg{flex:none;color:var(--gold-soft)}
.check__how{margin-top:40px;font-size:13.5px;color:var(--ink-3)}

/* ---------- Promesses ---------- */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:36px 28px;margin-top:64px}
@media (min-width:1100px){.pillars--5{grid-template-columns:repeat(5,1fr);gap:36px 24px}}
.pillar{padding-top:26px;border-top:1px solid rgba(184,147,42,.45)}
.pillar__icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:1px solid rgba(184,147,42,.45);color:var(--gold-ink);background:radial-gradient(circle,rgba(212,175,55,.16),rgba(212,175,55,0) 70%)}
.pillar h3{margin:22px 0 10px;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;color:var(--navy)}
.pillar p{margin:0;font-size:16px;line-height:1.65;color:var(--text-2)}

/* ---------- Thèmes ---------- */
.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:48px 40px;margin-top:48px}
.theme__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(184,147,42,.45)}
.theme__head h3{margin:0;font-family:var(--serif);font-size:24px;font-weight:400;font-style:italic;color:var(--navy)}
.theme__count{font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}
.theme ul{list-style:none;margin:0;padding:0}
.theme li{border-bottom:1px solid var(--line-2)}
.theme a,.theme .soon{display:flex;align-items:flex-start;gap:12px;padding:12px 0;font-size:15px;line-height:1.5;color:var(--text);text-decoration:none;transition:color .2s}
.theme a:hover{color:var(--gold-ink)}
.theme a::before,.theme .soon::before{content:"";flex:none;margin-top:8px;width:5px;height:5px;border-radius:50%;background:var(--gold-deep)}
.theme .soon{color:var(--text-3)}
.theme .soon::before{background:transparent;border:1px solid var(--gold-deep)}
.theme .soon em{margin-left:auto;padding-left:12px;font-style:normal;font-size:12px;color:var(--text-3);white-space:nowrap}

/* ---------- Journal : filtres ---------- */
.search{position:relative;max-width:640px;margin-top:40px}
.search label{display:block;margin-bottom:10px;font-size:13px;color:var(--ink-2)}
.search svg{position:absolute;left:20px;bottom:18px;color:var(--gold-soft);pointer-events:none}
.search input{width:100%;height:56px;padding:0 20px 0 54px;border-radius:999px;border:1px solid rgba(232,206,122,.3);background:rgba(246,243,236,.05);color:var(--ink);font-size:16px;transition:border-color .2s}
.search input::placeholder{color:rgba(246,243,236,.45)}
.search input:focus{border-color:var(--gold-soft);outline:none}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.filter{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(13,27,42,.18);background:var(--white);color:var(--navy);font-size:14px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.filter:hover{border-color:var(--gold-deep)}
.filter[aria-pressed="true"]{border-color:var(--navy);background:var(--navy);color:var(--gold-hi);font-weight:500}
.count{margin:0;font-size:14px;color:var(--text-3);font-variant-numeric:tabular-nums}
.empty{margin-top:8px;padding:40px 32px;border-radius:6px;border:1px dashed rgba(13,27,42,.2);background:var(--white)}
.empty p:first-child{margin:0;font-family:var(--serif);font-size:24px;font-style:italic;color:var(--navy)}
.empty p+p{margin:10px 0 0;font-size:16px;line-height:1.6;color:var(--text-2)}
.upcoming{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:0 40px;margin:32px 0 0;padding:0;list-style:none}
.upcoming li{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid rgba(232,206,122,.14);font-family:var(--serif);font-size:19px;line-height:1.35;color:var(--ink)}
.upcoming li span{flex:none;font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}

/* ---------- Bio ---------- */
.bio{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(48px,7vw,112px)}
.bio__media{flex:0 1 420px;min-width:0;display:flex;justify-content:center;margin-inline:auto}
.portrait{position:relative;width:min(380px,100%);max-width:100%;aspect-ratio:1/1}
.portrait__glow{position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.26),rgba(212,175,55,0) 64%)}
.portrait__ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(126,99,16,.32)}
.portrait__img{position:absolute;inset:7%;overflow:hidden;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(circle at 35% 30%,#1B3753,var(--navy) 70%);color:var(--ink-2);font-size:12px;letter-spacing:.22em;text-transform:uppercase;box-shadow:0 30px 60px -24px rgba(13,27,42,.55)}
.portrait__img img{width:100%;height:100%;object-fit:cover}
.portrait__img--halo{display:block;background:radial-gradient(circle at 50% 46%,#13263A 0%,#0A1724 62%,#07111C 100%)}
.portrait__img--halo .halo{position:absolute;inset:0;width:100%;max-width:none}
.avatar__mark{width:74%;height:74%}
.bio__text{flex:1 1 480px;min-width:0}
.bio__text p{margin:22px 0 0;max-width:34em;font-size:17.5px;line-height:1.75;color:var(--text-2)}
.bio__text p.eyebrow{margin:0 0 22px;font-size:12px;line-height:1.4}
.credential{display:inline-flex;align-items:center;gap:14px;max-width:100%;margin-top:28px;padding:10px 20px 10px 10px;border-radius:18px;background:linear-gradient(135deg,var(--gold-hi) 0%,rgba(232,206,122,.32) 100%);border:1px solid rgba(184,147,42,.45);box-shadow:0 14px 34px -22px rgba(126,99,16,.7)}
.credential__seal{flex:none;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--navy);color:var(--gold-soft);box-shadow:0 0 0 1px rgba(232,206,122,.55),0 0 18px rgba(212,175,55,.35)}
.credential small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink-2)}
.credential b{display:block;margin-top:2px;font-family:var(--serif);font-size:17px;font-weight:400;line-height:1.3;color:var(--navy)}
.signature{display:flex;align-items:center;gap:18px;margin-top:34px}
.signature::before{content:"";width:44px;height:1px;background:var(--gold-deep)}
.signature b{display:block;font-family:var(--serif);font-size:23px;font-style:italic;font-weight:400;color:var(--navy)}
.signature span{display:block;margin-top:4px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3)}
.status{display:flex;gap:16px;margin-top:30px;padding:20px 22px;border-radius:6px;background:var(--white);border:1px solid var(--line);font-size:15.5px;line-height:1.6;color:var(--text-2)}
.status svg{flex:none;margin-top:3px;color:var(--gold-deep)}
.status b{color:var(--navy)}

/* ---------- Étapes du projet ---------- */
.steps{position:relative;list-style:none;margin:72px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:48px}
.steps::before{content:"";position:absolute;top:28px;left:28px;right:28px;height:1px;background:linear-gradient(90deg,rgba(212,175,55,.55),rgba(212,175,55,.15) 50%,rgba(212,175,55,.55))}
.step{position:relative;flex:1 1 280px;min-width:0}
.step__n{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--navy);border:1px solid rgba(232,206,122,.55);box-shadow:0 0 26px rgba(212,175,55,.28);font-family:var(--serif);font-style:italic;font-size:21px;color:var(--gold-soft)}
.step--now .step__n{background:linear-gradient(135deg,#F1DB94,var(--gold) 55%,var(--gold-deep));border-color:var(--gold);color:var(--navy)}
.step__when{margin:26px 0 0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.step h3{margin:10px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2vw,1.9rem);color:var(--ink)}
.step p:last-child{margin:12px 0 0;max-width:30em;font-size:16.5px;line-height:1.7;color:var(--ink-2)}
@media (max-width:999px){.steps::before{display:none}}
.contact-line{display:flex;align-items:center;gap:12px;margin:26px 0 0;font-size:18px;color:var(--navy);user-select:all}
.contact-line svg{color:var(--gold-deep)}

/* ---------- Lettre / formulaires ---------- */
.letter{display:flex;flex-wrap:wrap;align-items:center;gap:48px clamp(48px,6vw,96px)}
.letter__text{flex:1 1 440px;min-width:0}
.letter__form{flex:1 1 440px;min-width:0}
.form-card{position:relative;padding:clamp(26px,3.4vw,40px);border-radius:20px;background:rgba(10,22,36,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(232,206,122,.22);box-shadow:0 40px 90px -30px rgba(0,0,0,.7)}
.form-card h3{margin:0;font-family:var(--serif);font-size:28px;font-weight:400;color:var(--ink)}
.form-card p.form-card__sub{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--ink-2)}
.fields{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.field{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:8px}
.field label{font-size:13px;color:var(--ink-2)}
.input{height:54px;padding:0 18px;border-radius:12px;border:1px solid rgba(232,206,122,.26);background:rgba(246,243,236,.05);color:var(--ink);font-size:15px;transition:border-color .2s}
.input::placeholder{color:rgba(246,243,236,.42)}
.input:focus{border-color:var(--gold-soft);outline:none}
.form-card .btn{width:100%;margin-top:18px}
.form-note{margin:14px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-3)}
.form-note a{color:var(--gold-soft)}
.form-done{display:none;flex-direction:column;align-items:flex-start;gap:14px}
form[data-state="done"]>*:not(.form-done){display:none}
form[data-state="done"] .form-done{display:flex}
.form-done p{margin:0}
.form-done__title{font-family:var(--serif);font-size:30px;font-weight:300;color:var(--ink)}
.form-error{margin:12px 0 0;font-size:14px;color:var(--amber)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.inline-form{display:flex;flex-wrap:wrap;gap:10px}
.inline-form .input{flex:1 1 240px;min-width:0;border-radius:999px}
.mini-halo{position:relative;width:64px;height:64px}
.mini-halo::before{content:"";position:absolute;inset:-40%;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.35),rgba(212,175,55,0) 65%)}
.mini-halo::after{content:"";position:absolute;inset:26%;border-radius:50%;background:var(--navy);box-shadow:0 0 0 1px rgba(232,206,122,.6),0 0 18px rgba(212,175,55,.5)}
.mini-halo .orbit{inset:0;animation-duration:4s}
.mini-halo .halo__ring{inset:0;border-color:rgba(232,206,122,.4)}
.letter-perks{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.letter-perks li{display:flex;gap:14px;font-size:16.5px;line-height:1.55;color:var(--ink-2)}
.letter-perks svg{flex:none;margin-top:3px;color:var(--gold-soft)}
.big-halo{position:absolute;top:50%;right:-12%;width:min(980px,120vw);aspect-ratio:1/1;transform:translateY(-50%);opacity:.55;pointer-events:none}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;border-bottom:1px solid rgba(232,206,122,.16)}
.faq details{border-top:1px solid rgba(232,206,122,.16)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:20px 4px;list-style:none;cursor:pointer;font-size:18px;font-weight:500;color:var(--ink);transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--gold-hi)}
.faq details[open] summary{color:var(--gold-soft)}
.faq__icon{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(232,206,122,.35);color:var(--gold-soft);transition:transform .3s var(--ease),background .3s,border-color .3s}
.faq details[open] .faq__icon{transform:rotate(45deg);border-color:var(--gold);background:rgba(212,175,55,.14)}
.faq p{margin:0;padding:0 56px 26px 4px;max-width:42em;font-size:16.5px;line-height:1.7;color:var(--ink-2)}
.faq--light{border-bottom-color:var(--line)}
.faq--light details{border-top-color:var(--line)}
.faq--light summary{min-height:68px;font-size:17px;color:var(--navy)}
.faq--light summary:hover,.faq--light details[open] summary{color:var(--gold-ink)}
.faq--light .faq__icon{border-color:rgba(184,147,42,.6);color:var(--gold-ink)}
.faq--light details[open] .faq__icon{border-color:var(--gold-deep);background:rgba(212,175,55,.12)}
.faq--light p{color:var(--text-2)}

/* ---------- En-tête de page intérieure ---------- */
.page-hero{position:relative;overflow:hidden;padding-top:calc(var(--header-h) + clamp(48px,6vw,96px));padding-bottom:clamp(56px,7vw,96px);padding-inline:var(--gutter);background:radial-gradient(70% 90% at 82% 30%,var(--navy-lift) 0%,var(--navy) 55%,#09141F 100%);color:var(--ink)}
.page-hero__rings{position:absolute;right:-80px;top:-200px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(232,206,122,.18);pointer-events:none}
.page-hero__rings::before{content:"";position:absolute;inset:-190px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(232,206,122,.08) 0deg .6deg,transparent .6deg 9deg);-webkit-mask:radial-gradient(circle,transparent 26%,#000 34%,transparent 70%);mask:radial-gradient(circle,transparent 26%,#000 34%,transparent 70%);animation:lm-spin 160s linear infinite}
.page-hero__rings::after{content:"";position:absolute;width:300px;height:300px;left:110px;top:110px;border-radius:50%;border:1px solid rgba(232,206,122,.3);box-shadow:0 0 80px rgba(212,175,55,.14)}

/* ---------- Article ---------- */
.progress{position:fixed;left:0;top:env(safe-area-inset-top,0px);z-index:60;width:100%;height:2px;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));pointer-events:none}
.article-hero{position:relative;overflow:hidden;padding-top:calc(var(--header-h) + clamp(40px,5vw,80px));padding-bottom:clamp(150px,16vw,220px);padding-inline:var(--gutter);background:radial-gradient(70% 100% at 80% 20%,var(--navy-lift) 0%,var(--navy) 55%,#09141F 100%);color:var(--ink)}
.article-hero .wrap{max-width:980px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--ink-3)}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--gold-hi)}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.tag{padding:6px 14px;border-radius:999px;border:1px solid rgba(232,206,122,.4);background:rgba(212,175,55,.08);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);text-decoration:none}
.tag--quiet{border-color:rgba(246,243,236,.22);background:transparent;color:var(--ink-2)}
.article-hero .h1{margin-top:24px}
.chapo{margin:28px 0 0;max-width:40em;font-size:clamp(1.1rem,1.4vw,1.28rem);line-height:1.65;color:rgba(246,243,236,.82);text-wrap:pretty}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:34px;font-size:14px;color:var(--ink-2)}
.article-meta .byline{margin:0;color:var(--ink-2)}
.article-meta .avatar{width:44px;height:44px;background:var(--navy-card)}
.article-cover{position:relative;z-index:3;padding-inline:var(--gutter);margin-top:clamp(-180px,-12vw,-110px)}
.article-cover .cover{max-width:var(--wrap);margin-inline:auto}
.article-body{margin-top:clamp(-160px,-11vw,-100px);padding-top:clamp(200px,15vw,240px);padding-bottom:clamp(64px,8vw,112px);padding-inline:var(--gutter);background:var(--paper);color:var(--navy)}
.article-layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:40px clamp(40px,6vw,96px);max-width:var(--wrap);margin-inline:auto}
.toc{flex:0 1 260px;min-width:0;position:sticky;top:calc(var(--header-h) + 28px)}
.toc__title{margin:0 0 16px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink)}
.toc nav{display:flex;flex-direction:column;font-size:14.5px}
.toc__box>summary{display:block;list-style:none}
.toc__box>summary::-webkit-details-marker{display:none}
@media (min-width:961px){.toc__box>summary{pointer-events:none}}
.toc a{padding:9px 0 9px 14px;border-left:1px solid var(--line);color:var(--text-3);text-decoration:none;transition:color .2s,border-color .2s}
.toc a:hover{color:var(--navy);border-color:var(--gold-deep)}
.toc a.is-active{color:var(--navy);border-color:var(--gold);font-weight:500}
.toc__tools{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.copy-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--navy);font-size:13.5px;cursor:pointer;transition:border-color .2s}
.copy-btn:hover{border-color:var(--gold-deep)}
@media (max-width:960px){
  .toc{position:static;flex-basis:100%}
  .toc nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));padding:0 18px 14px}
  .toc__box{border:1px solid var(--line);border-radius:6px;background:var(--white)}
  .toc__box>summary.toc__title{display:flex;align-items:center;justify-content:space-between;margin:0;padding:16px 18px;cursor:pointer}
  .toc__box>summary::after{content:"+";font-size:20px;line-height:1;letter-spacing:0;color:var(--gold-ink);transition:transform .25s var(--ease)}
  .toc__box[open]>summary::after{transform:rotate(45deg)}
  .toc__tools{margin-top:14px}
}

.prose{flex:1 1 620px;min-width:0;max-width:720px;font-size:18px;line-height:1.8;color:var(--text)}
.prose>*:first-child{margin-top:0}
.prose h2{margin:64px 0 0;font-family:var(--serif);font-optical-sizing:auto;font-weight:400;font-size:clamp(1.8rem,2.8vw,2.3rem);line-height:1.18;letter-spacing:-.01em;color:var(--navy);text-wrap:balance;scroll-margin-top:calc(var(--header-h) + 24px)}
.prose h3{margin:40px 0 0;font-family:var(--serif);font-weight:400;font-size:1.4rem;line-height:1.25;color:var(--navy)}
.prose p{margin:18px 0 0}
.prose ul,.prose ol{margin:18px 0 0;padding-left:0;list-style:none}
.prose li{position:relative;padding-left:30px;margin-top:10px}
.prose ul>li::before{content:"";position:absolute;left:6px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(212,175,55,.6)}
.prose ol{counter-reset:li}
.prose ol>li{counter-increment:li}
.prose ol>li::before{content:counter(li);position:absolute;left:0;top:.15em;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid rgba(184,147,42,.6);font-family:var(--serif);font-style:italic;font-size:13px;line-height:1;color:var(--gold-ink)}
.prose strong{font-weight:600;color:var(--navy)}
.prose a{color:var(--gold-ink);text-decoration:underline;text-decoration-color:rgba(126,99,16,.35);text-underline-offset:3px;transition:text-decoration-color .2s}
.prose a:hover{text-decoration-color:var(--gold-ink)}
.prose .small{font-size:13.5px;color:var(--text-3)}

.box{margin-top:26px;padding:22px 24px;border-radius:6px;background:var(--white);border:1px solid var(--line-2)}
.box p{margin:0;font-size:16px;line-height:1.65;color:var(--text-2)}
.box p+p{margin-top:10px}
.box--info{display:flex;gap:16px}
.box--info svg{flex:none;margin-top:3px;color:var(--gold-deep)}
.box--counter{background:rgba(212,175,55,.1);border-color:rgba(184,147,42,.3)}
.box--counter p{color:var(--text)}
.essentiel{position:relative;overflow:hidden;padding:clamp(26px,3.4vw,40px);border-radius:6px;background:var(--navy);color:var(--ink)}
.essentiel::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(232,206,122,.3);box-shadow:0 0 70px rgba(212,175,55,.18);pointer-events:none}
.essentiel__title{position:relative;margin:0;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft)}
.prose .essentiel ul{position:relative;margin-top:18px}
.prose .essentiel li{font-size:16.5px;line-height:1.65;color:rgba(246,243,236,.9)}
.prose .essentiel li::before{background:var(--gold-soft);box-shadow:0 0 10px rgba(212,175,55,.7)}
.law{margin-top:56px;padding:26px 28px;border-radius:6px;background:var(--white);border:1px solid var(--line)}
.law__title{display:flex;align-items:center;gap:12px;margin:0;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink)}
.prose .law ul{margin-top:14px}
.prose .law li{font-size:15.5px;line-height:1.65;color:var(--text)}
.prose .law li::before{background:var(--gold-deep);box-shadow:none}
.examples{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px}
.example{flex:1 1 260px;min-width:0;padding:24px;border-radius:6px;background:var(--white);border:1px solid var(--line)}
.example--accent{border-color:rgba(184,147,42,.45)}
.example__who{margin:0;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.example--accent .example__who{color:var(--gold-ink)}
.prose .example__head{margin:10px 0 0;font-family:var(--serif);font-size:22px;line-height:1.3;color:var(--navy)}
.prose .example p:not(.example__who):not(.example__head){margin:12px 0 0;font-size:15.5px;line-height:1.65;color:var(--text-2)}
.reflexe{margin-top:24px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.prose .reflexe li{display:flex;gap:16px;margin:0;padding:18px 20px;border-radius:4px;background:var(--white);border:1px solid var(--line-2);font-size:16.5px;line-height:1.6}
.prose .reflexe li::before{content:none}
.reflexe svg{flex:none;margin-top:2px;color:var(--gold-deep)}
.table-wrap{margin-top:26px;overflow-x:auto;border-radius:6px;border:1px solid var(--line);background:var(--white)}
.table-wrap table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.5}
.table-wrap caption{caption-side:top;padding:18px 22px 0;text-align:left;font-size:13px;color:var(--text-3)}
.table-wrap th,.table-wrap td{padding:15px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-2)}
.table-wrap thead th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--text-3);border-bottom-color:var(--line)}
.table-wrap tbody th{font-weight:500;color:var(--navy)}
.table-wrap tbody tr:nth-child(even){background:rgba(244,245,247,.6)}
.table-wrap tbody tr:last-child>*{border-bottom:0}
.table-wrap .gold-col{color:var(--gold-ink)}
.prose .essentiel strong,.cta-box strong{color:var(--gold-hi)}
.prose .cta-box a{color:var(--gold-soft);text-decoration-color:rgba(232,206,122,.45)}
.prose .law__title,.prose .essentiel__title,.prose .example__who,.prose .template__text{margin:0}
.verdict{display:inline-flex;align-items:center;gap:7px;padding:3px 11px 3px 9px;border-radius:999px;font-size:12.5px;font-weight:600;letter-spacing:.01em;line-height:1.5;white-space:nowrap}
.verdict::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.verdict--yes{background:rgba(47,107,79,.1);color:#2B6449}
.verdict--no{background:rgba(154,59,48,.08);color:#93382D}
.verdict--maybe{background:rgba(212,175,55,.18);color:var(--gold-ink-2)}
.formula{margin-top:26px;padding:26px 24px;border-radius:6px;background:var(--navy);color:var(--ink);text-align:center;font-size:17px;line-height:1.6}
.formula b{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--gold-soft)}
.formula .frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 8px}
.formula .frac span:first-child{padding:0 6px 4px;border-bottom:1px solid rgba(232,206,122,.6)}
.formula .frac span:last-child{padding-top:4px}
.dates{list-style:none;margin:26px 0 0;padding:0;position:relative}
.dates::before{content:"";position:absolute;left:47px;top:12px;bottom:12px;width:1px;background:linear-gradient(180deg,rgba(212,175,55,.7),rgba(212,175,55,.15))}
.prose .dates li{display:flex;gap:22px;margin:0;padding:0 0 26px 0}
.prose .dates li::before{content:none}
.dates__day{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:var(--navy);box-shadow:0 0 0 1px rgba(232,206,122,.45),0 0 28px rgba(212,175,55,.22);color:var(--gold-soft);text-align:center}
.dates__day b{font-family:var(--serif);font-weight:300;font-size:32px;line-height:1;color:var(--ink)}
.dates__day small{margin-top:4px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.dates__day--key{background:linear-gradient(135deg,#F1DB94 0%,var(--gold) 55%,var(--gold-deep) 100%);color:var(--navy)}
.dates__day--key b{color:var(--navy)}
.dates__text{flex:1;min-width:0;padding-top:14px}
.prose .dates__text h3{margin:0;font-size:1.25rem}
.prose .dates__text p{margin:6px 0 0;font-size:16px;line-height:1.65;color:var(--text-2)}
.template{margin-top:26px;border-radius:6px;background:var(--white);border:1px solid var(--line);overflow:hidden}
.template__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 12px 22px;border-bottom:1px solid var(--line-2);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}
.template__text{margin:0;padding:22px;font-family:var(--serif);font-size:16.5px;line-height:1.75;color:var(--text);white-space:pre-line}
.checklist{margin:20px 0 0;padding:0;list-style:none}
.prose .checklist li{margin:0;padding:0;border-bottom:1px solid var(--line-2)}
.prose .checklist li::before{content:none}
.checklist label{display:flex;align-items:flex-start;gap:16px;padding:14px 4px;cursor:pointer;font-size:16.5px;line-height:1.55}
.checklist input{position:absolute;opacity:0;width:1px;height:1px}
.checklist .tick{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border-radius:6px;border:1.5px solid rgba(184,147,42,.6);background:var(--white);transition:background .2s,border-color .2s}
.checklist .tick svg{opacity:0;transform:scale(.6);transition:opacity .2s,transform .25s var(--ease);color:var(--navy)}
.checklist input:checked+.tick{background:linear-gradient(135deg,#F1DB94,var(--gold));border-color:var(--gold)}
.checklist input:checked+.tick svg{opacity:1;transform:none}
.checklist input:checked~span:last-child{color:var(--text-3);text-decoration:line-through;text-decoration-color:rgba(126,99,16,.4)}
.checklist input:focus-visible+.tick{outline:2px solid var(--gold-deep);outline-offset:3px}
.checklist-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:40px}
.prose .checklist-head h3{margin:0}
.checklist-progress{font-size:13.5px;color:var(--text-3);font-variant-numeric:tabular-nums}

/* Calculateur */
.calc{margin-top:28px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--white);box-shadow:0 30px 60px -44px rgba(13,27,42,.5)}
.calc__head{padding:22px 24px;border-bottom:1px solid var(--line-2)}
.prose .calc__head h3{margin:0;font-size:1.3rem}
.prose .calc__head p{margin:6px 0 0;font-size:14.5px;line-height:1.6;color:var(--text-3)}
.calc__rows{padding:8px 24px 16px}
.calc__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding:12px 0;border-bottom:1px solid var(--line-2)}
.calc__row label{flex:1 1 240px;min-width:0;font-size:15.5px;line-height:1.4;color:var(--navy)}
.calc__row label small{display:block;margin-top:2px;font-size:13px;color:var(--text-3)}
.money{position:relative;flex:0 1 180px}
.money::before{content:"CHF";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:12px;letter-spacing:.12em;color:var(--text-3);pointer-events:none}
.money input{width:100%;height:46px;padding:0 14px 0 50px;border-radius:10px;border:1px solid rgba(13,27,42,.18);background:var(--paper);color:var(--navy);font-size:16px;font-variant-numeric:tabular-nums;text-align:right;transition:border-color .2s,background .2s}
.money input:focus{outline:none;border-color:var(--gold-deep);background:var(--white)}
.calc__row--sum label{font-weight:600}
.calc__out{padding:26px 24px;background:radial-gradient(80% 140% at 85% 0%,var(--navy-lift) 0%,var(--navy) 60%);color:var(--ink)}
.calc__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:18px}
.stat__label{margin:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}
.stat__value{margin:6px 0 0;font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.stat__value--gold{color:var(--gold-soft)}
.calc__bar{position:relative;height:8px;margin-top:22px;border-radius:999px;background:rgba(232,206,122,.14);overflow:hidden}
.calc__bar span{position:absolute;inset:0 auto 0 0;width:var(--w,0%);border-radius:999px;background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));transition:width .8s var(--ease)}
.calc__msg{margin:16px 0 0;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.calc__msg b{color:var(--gold-hi);font-weight:600}
.calc__privacy{margin:14px 0 0;font-size:12.5px;color:var(--ink-3)}

/* Fin d'article */
.cta-box{position:relative;overflow:hidden;margin-top:64px;padding:clamp(30px,4vw,48px);border-radius:8px;background:radial-gradient(80% 120% at 85% 20%,var(--navy-lift) 0%,var(--navy) 60%);color:var(--ink)}
.cta-box::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;border:1px solid rgba(232,206,122,.4);box-shadow:0 0 90px rgba(212,175,55,.25),inset 0 0 50px rgba(212,175,55,.12);pointer-events:none}
.cta-box__title{position:relative;margin:0;font-family:var(--serif);font-size:clamp(1.7rem,2.8vw,2.3rem);font-weight:300;line-height:1.15;color:var(--ink)}
.cta-box p.cta-box__text{position:relative;margin:14px 0 0;max-width:32em;font-size:16.5px;line-height:1.65;color:var(--ink-2)}
.cta-box form{position:relative;margin-top:24px}
.prose .cta-box .form-note{color:var(--ink-3)}
.author{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:48px;padding-block:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.author .avatar{width:64px;height:64px;font-size:26px;box-shadow:0 0 30px rgba(212,175,55,.25)}
.author__text{flex:1 1 320px;min-width:0}
.prose .author__name{margin:0;font-family:var(--serif);font-size:20px;font-style:italic;color:var(--navy)}
.prose .author__bio{margin:4px 0 0;font-size:15px;line-height:1.6;color:var(--text-2)}
.sources{margin-top:22px}
.prose .sources__title{margin:0;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3)}
.prose .sources ul{margin-top:10px}
.prose .sources li{margin-top:6px;padding-left:22px;font-size:14px;line-height:1.6;color:var(--text-3)}
.prose .sources li::before{left:4px;top:.68em;width:5px;height:5px;background:var(--gold-deep);box-shadow:none}
.prose .verified{margin-top:14px;font-size:13px;color:var(--text-3)}
.related{background:var(--white);border-top:1px solid var(--line-2)}

/* ---------- Pages légales ---------- */
.legal{max-width:760px;margin-inline:auto;font-size:17px;line-height:1.75;color:var(--text)}
.legal h2{margin:48px 0 0;font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.2;color:var(--navy)}
.legal h2:first-child{margin-top:0}
.legal p{margin:14px 0 0}
.legal ul{margin:14px 0 0;padding-left:22px}
.legal li{margin-top:6px}
.legal a{color:var(--gold-ink)}
.legal .small{margin-top:40px;font-size:14px;color:var(--text-3)}
.placeholder{padding:1px 6px;border-radius:4px;background:rgba(242,196,107,.22);outline:1px dashed rgba(184,147,42,.75);outline-offset:-1px;color:inherit;font-weight:500}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--navy-3);color:var(--ink-2);padding-inline:var(--gutter);padding-block:0 36px;border-top:1px solid rgba(232,206,122,.10)}
.footer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;padding-block:48px;border-bottom:1px solid rgba(246,243,236,.08)}
.footer-top__text{flex:1 1 380px;min-width:0}
.footer-top__text p:first-child{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:300;color:var(--ink)}
.footer-top__text p+p{margin:8px 0 0;font-size:15px;color:var(--ink-3)}
.footer-top form{flex:1 1 420px;min-width:0}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:40px 32px;padding-block:52px 8px}
.footer-col{display:flex;flex-direction:column;gap:12px;font-size:14px}
.footer-col__title{margin:0 0 4px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft)}
.footer-col a{color:var(--ink-2);text-decoration:none;transition:color .2s}
.footer-col a:hover{color:var(--gold-hi)}
.footer-brand p{margin:0;font-family:var(--serif);font-size:18px;font-style:italic;font-weight:300;color:var(--ink-2)}
.footer-brand small{display:block;max-width:24em;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:13px;line-height:1.6;color:var(--ink-3)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(246,243,236,.08);font-size:12.5px;line-height:1.7;color:rgba(246,243,236,.58)}
.footer-bottom p{margin:0;max-width:62em}
.footer-bottom a{color:inherit}
.footer-bottom a:hover{color:var(--gold-hi)}

/* ---------- 404 ---------- */
.lost{min-height:78vh;display:flex;align-items:center}
.lost .halo{width:min(260px,70vw)}

/* ---------- Apparition ---------- */
.in{animation:lm-rise 1.1s var(--ease) both}
.focus-in{animation:lm-focus 1.6s var(--ease-soft) both}
.halo-in{animation:lm-halo-in 1.9s var(--ease-soft) both}
.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.45s}.d4{animation-delay:.75s}.d5{animation-delay:1.05s}.d6{animation-delay:1.3s}.d7{animation-delay:1.5s}

/* ---------- Keyframes ---------- */
@keyframes lm-spin{to{transform:rotate(360deg)}}
@keyframes lm-spin-rev{to{transform:rotate(-360deg)}}
@keyframes lm-breathe{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.07);opacity:1}}
@keyframes lm-corona{0%,100%{box-shadow:0 0 0 1px rgba(232,206,122,.55),0 0 36px 4px rgba(212,175,55,.36),0 0 110px 24px rgba(212,175,55,.15),inset 0 0 30px rgba(212,175,55,.12)}50%{box-shadow:0 0 0 1px rgba(251,243,214,.85),0 0 54px 8px rgba(212,175,55,.5),0 0 160px 40px rgba(212,175,55,.22),inset 0 0 42px rgba(212,175,55,.2)}}
@keyframes lm-shimmer{0%{background-position:150% 0}100%{background-position:-50% 0}}
@keyframes lm-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes lm-focus{from{opacity:0;filter:blur(16px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes lm-halo-in{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}
@keyframes lm-float{0%{transform:translateY(0);opacity:0}18%{opacity:.95}100%{transform:translateY(-170px);opacity:0}}
@keyframes lm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes lm-marquee{to{transform:translateX(-50%)}}
@keyframes lm-scan{0%{transform:translateY(-60px);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(320px);opacity:0}}
@keyframes lm-pulse{0%{box-shadow:0 0 0 0 rgba(232,206,122,.7)}70%{box-shadow:0 0 0 10px rgba(232,206,122,0)}100%{box-shadow:0 0 0 0 rgba(232,206,122,0)}}
@keyframes lm-drift{0%,100%{translate:0 0}50%{translate:1.5cqw -1.2cqw}}
@keyframes lm-flow{0%{background-position:0 0}100%{background-position:0 -400px}}
@keyframes lm-ripple{0%{transform:scale(.4);opacity:0}15%{opacity:.9}100%{transform:scale(3.4);opacity:0}}
@keyframes lm-swing{from{transform:rotate(-82deg)}to{transform:rotate(82deg)}}
@keyframes lm-room{0%,100%{border-color:rgba(232,206,122,.22);background:transparent;box-shadow:none}35%,55%{border-color:rgba(232,206,122,.85);background:rgba(212,175,55,.14);box-shadow:0 0 3cqw rgba(212,175,55,.35)}}
@keyframes lm-drip{0%{translate:0 0;opacity:0}12%{opacity:1}70%{translate:0 calc(28cqw * .9);opacity:1}78%,100%{translate:0 calc(28cqw * .9);opacity:0}}
@keyframes lm-splash{0%,70%{opacity:0;transform:scale(.3)}78%{opacity:.9}100%{opacity:0;transform:scale(1.4)}}
@keyframes lm-rise{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.94)}}
@keyframes lm-trace{from{stroke-dashoffset:30}to{stroke-dashoffset:-100}}
@keyframes lm-flow{to{stroke-dashoffset:80}}
@keyframes lm-gap{0%,100%{opacity:.45;box-shadow:none}50%{opacity:1;box-shadow:0 0 2cqw rgba(242,196,107,.6)}}
@keyframes lm-slide{from{left:calc(10cqw - 2.4cqw)}to{left:calc(90cqw - 2.4cqw)}}
@keyframes lm-glow{0%,100%{opacity:.72}50%{opacity:1}}
@keyframes lm-needle-a{from{transform:rotate(-72deg)}to{transform:rotate(-18deg)}}
@keyframes lm-needle-b{from{transform:rotate(14deg)}to{transform:rotate(68deg)}}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .mote,.float-card__scan{display:none}
}

/* ---------- Petits écrans ---------- */
@media (max-width:640px){
  :root{--header-h:68px}
  .brand__name{font-size:24px}
  .brand__mark{width:32px;height:32px}
  .float-card{position:relative;left:auto;bottom:auto;margin:-12% auto 0;width:100%}
  .hero__visual{flex-direction:column;align-items:center}
  .faq p{padding-right:4px}
  .prose{font-size:17px}
  .dates::before{left:35px}
  .dates__day{width:72px;height:72px}
  .dates__day b{font-size:24px}
  .prose .dates li{gap:16px}
  .portrait{width:min(300px,76%)}
  .cover--wide{aspect-ratio:16/10}
  .table-wrap{overflow:visible;border:0;background:none;border-radius:0}
  .table-wrap table,.table-wrap caption,.table-wrap tbody,.table-wrap tr,.table-wrap th,.table-wrap td{display:block;min-width:0;width:auto}
  .table-wrap caption{padding:0 0 4px}
  .table-wrap thead{display:none}
  .table-wrap tbody tr,.table-wrap tbody tr:nth-child(even){margin-top:12px;padding:18px 18px 16px;border:1px solid var(--line);border-radius:6px;background:var(--white)}
  .table-wrap tbody th,.table-wrap tbody td{padding:0;border:0}
  .table-wrap tbody th{font-size:16px;line-height:1.4}
  .table-wrap tbody td{margin-top:12px}
  .table-wrap tbody td::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
  .moment{padding:26px 64px 26px 4px}
  .moment__arrow{position:absolute;right:4px;top:26px;width:42px;height:42px}
}
