/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,300;1,700&family=Inter:wght@200;300;400&family=Dancing+Script&family=Allura&family=Italianno&display=swap');

/* Better Chill */
@font-face {
  font-family: 'BetterChill';
  src: url('BetterChill.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

/* Gabriel Sans — Helvetica Neue fallback */
@font-face {
  font-family: 'GabrielSans';
  src: local('Helvetica Neue'), local('Arial');
  font-weight: 300;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #080808;
  --w: #ffffff;
  --d1: #cccccc;
  --d2: #999999;
  --d3: #555555;
  --d4: #2a2a2a;
  --d5: #151515;
  --gold: #ffffff;
  --green: #ffffff;
  --script: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Inter', 'Helvetica Neue', sans-serif;
  --gabriel: 'Helvetica Neue', 'Arial', sans-serif;
}

html { scroll-behavior: smooth; overflow-x: hidden; }
::-webkit-scrollbar { width: 1px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.12); }
* { scrollbar-width: thin; scrollbar-color:rgba(255,255,255,0.70) transparent; }

body {
  background: transparent;
  color: var(--w);
  font-family: var(--sans);
  font-weight: 300;
  cursor: none;
  overflow-x: hidden;
}

/* ══ CUSTOM CURSOR ══ */
.cursor { width:8px;height:8px;background:rgba(255,255,255,0.12);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .15s,height .15s,background .2s;box-shadow:0 0 8px rgba(255,255,255,0.39); }
.cursor-ring { width:32px;height:32px;border:1px solid rgba(255,255,255,0.33);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,left .1s,top .1s; }
.cursor-hover .cursor { width:5px;height:5px;background:#fff; }
.cursor-hover .cursor-ring { width:44px;height:44px;border-color:rgba(255,255,255,0.52); }

/* ══ PAGES ══ */
.page { display:none; }
.page.active { display:block;padding-bottom:56px; }
#p-contact, #p-lettre, #p-enregistrer { background: var(--bg); }
#p-home.active { padding-bottom:0; }

/* ══ NAV HAUT ══ */
#nav {
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:24px 48px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .4s,padding .4s,backdrop-filter .4s;
}
#nav.scrolled { background:rgba(8,8,8,.95);padding:16px 48px;backdrop-filter:blur(12px); }
/* Page d'accueil — nav transparente, bouton connexion haut masqué, bottom-nav et éléments masqués */
body:has(#p-home.active) #nav,
body.page-home #nav { background:transparent !important;backdrop-filter:none !important;box-shadow:none !important;border:none !important; }
body:has(#p-home.active) #nav .nav-account-btn,
body.page-home #nav .nav-account-btn { display:none !important; }
body:has(#p-home.active) #bottom-nav,
body.page-home #bottom-nav,
body:has(#p-home.active) #bottom-red-line,
body.page-home #bottom-red-line { display:none !important; }
body.dist-active #nav,
body.dist-active #bottom-nav,
body.dist-active #bottom-red-line { display:none !important; }
body:has(#p-home.active) #glass-l1,
body.page-home #glass-l1,
body:has(#p-home.active) #glass-l2,
body.page-home #glass-l2,
body:has(#p-home.active) #glass-l3,
body.page-home #glass-l3 { display:none !important; }

/* Panel overlay — page affichée en surbrillance au-dessus de la vidéo */
.page.is-panel {
  display:block !important;
  position:fixed;inset:0;z-index:200;
  background:transparent;
  overflow-y:auto;
  padding-top:80px;
}
/* Active non-panel: stacking context above video (z-index:1) */
#p-distinctions.active:not(.is-panel) { position:relative;z-index:2; }
/* Swipe view needs full-viewport height — override page padding */
#p-distinctions.active { height:100vh;min-height:100vh;padding-bottom:0!important;overflow:hidden; }

/* Nav above video in all modes */
body.has-panel #nav { z-index:201 !important; }
/* Bloc titre distinctions — semi-transparent */
.page.is-panel .inner-hero {
  background:rgba(0,0,0,.28) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}
/* Grille distinctions en panel — fond transparent pour voir la vidéo */
.page.is-panel .dist-grid {
  background:transparent !important;
}
/* Filtres et barre de comptage — transparents */
.page.is-panel .dist-filters,
.page.is-panel .dist-count-row,
.page.is-panel .filter-tabs-wrap,
.page.is-panel > div[style*="padding:0 48px 20px"],
.page.is-panel .stmt-section { background:transparent !important; }
/* Cartes distinctions — semi-transparentes */
.page.is-panel .dist-card { background:rgba(6,5,6,.42) !important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px); }
.page.is-panel .dist-card:hover { background:rgba(18,4,0,.68) !important;backdrop-filter:blur(20px) !important;-webkit-backdrop-filter:blur(20px) !important;box-shadow:0 0 0 1.5px rgba(220,70,20,.55),0 1.5px 0 rgba(255,150,70,.22) inset,0 8px 28px rgba(0,0,0,.5) !important; }
#panel-close-btn {
  display:none;
  position:fixed;top:22px;right:48px;z-index:250;
  font-size:9px;letter-spacing:.28em;text-transform:uppercase;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(200,60,20,.28);
  color:rgba(255,255,255,.75);
  font-family:var(--sans);cursor:pointer;
  padding:9px 22px 9px 18px;
  border-radius:999px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 0 0 1px rgba(255,120,60,.1) inset,0 1px 0 rgba(255,180,100,.12) inset,0 4px 16px rgba(0,0,0,.35),0 0 14px rgba(255,255,255,0.13);
  transition:all .22s;
}
#panel-close-btn:hover { color:#ffffff;background:rgba(255,255,255,0.23);box-shadow:0 0 0 1px rgba(255,120,60,.18) inset,0 1px 0 rgba(255,180,100,.18) inset,0 4px 20px rgba(0,0,0,.4),0 0 20px rgba(255,255,255,0.2); }
body.has-panel #panel-close-btn { display:block; }
body.has-panel #p-home { display:block !important; }

/* Login depuis la page d'accueil — fond semi-transparent pour voir la vidéo */
body:has(#p-home.active) #login-bg,
body.page-home #login-bg { background:rgba(3,3,3,.72) !important;backdrop-filter:blur(6px); }

/* ══ HOME SEARCH BAR — minimal, noir et blanc ══ */
/* Hide when distinctions panel is open */
body.has-panel #home-search-container { display:none !important; }
.home-search-wrap {
  display:flex;align-items:center;gap:8px;
  padding:10px 14px 10px 20px;
  border-radius:999px;
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.22);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    inset 0 -1px 0 rgba(0,0,0,0.18),
    0 8px 32px rgba(0,0,0,0.55),
    0 2px 8px rgba(255,255,255,0.04);
  transition:all .3s;
}
.home-search-wrap:focus-within {
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,255,255,0.38);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.3),
    inset 0 -1px 0 rgba(0,0,0,0.2),
    0 10px 40px rgba(0,0,0,0.6),
    0 0 24px rgba(255,255,255,0.1);
}
.home-search-icon { color:rgba(255,255,255,0.6);flex-shrink:0;pointer-events:none;width:11px;height:11px; }
.home-search-input {
  background:transparent;border:none;outline:none;
  color:#fff;font-family:var(--sans);
  font-size:8px;letter-spacing:.3em;text-transform:uppercase;
  font-weight:300;
  flex:1;min-width:0;
}
.home-search-input::placeholder { color:rgba(255,255,255,0.35); }
.home-search-btn {
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  color:rgba(255,255,255,0.7);font-family:var(--sans);font-size:11px;
  width:26px;height:26px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);
  transition:all .2s;padding:0;
}
.home-search-btn:hover {
  background:rgba(255,255,255,0.18);
  border-color:rgba(255,255,255,0.35);
  color:#fff;
}




/* All page content above video */
.page.active { position:relative;z-index:1; }
/* Filters above grid so custom dropdown is never obscured */
#p-distinctions .dist-filters { position:relative;z-index:10; }

/* ══ DISTINCTIONS PAGE SEARCH BAR ══ */
.dist-page-search {
  display:flex;align-items:center;gap:10px;
  padding:11px 20px;
  background:rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.08);
  border-top:1px solid rgba(255,255,255,.04);
}
.dist-ps-icon { color:rgba(255,255,255,.32);flex-shrink:0;pointer-events:none; }
.dist-ps-input {
  background:transparent;border:none;outline:none;
  color:#fff;font-family:var(--sans);
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  flex:1;
}
.dist-ps-input::placeholder { color:rgba(255,255,255,.28); }
.dist-ps-clear {
  background:transparent;border:none;
  color:rgba(255,255,255,.4);font-size:14px;
  cursor:pointer;padding:0 2px;transition:color .2s;
}
.dist-ps-clear:hover { color:#fff; }

/* ══ DISTINCTIONS NO RESULTS ══ */
.dist-no-results {
  text-align:center;padding:80px 48px;
}
.dist-nr-msg { font-family:var(--gabriel);font-weight:200;font-size:28px;color:#fff;letter-spacing:-.01em;margin-bottom:10px; }
.dist-nr-sub { font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#888;margin-bottom:32px; }
.dist-nr-reset { font-size:9px;letter-spacing:.3em;text-transform:uppercase;font-family:var(--sans);color:#fff;cursor:pointer;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.29);border-radius:999px;padding:12px 28px;transition:all .2s; }
.dist-nr-reset:hover { background:rgba(255,255,255,0.26); }

/* Boutons page d'accueil — liquid glass bordeaux */
.home-cta-btn {
  font-size:9px;letter-spacing:.3em;text-transform:uppercase;
  font-family:var(--sans);color:#fff;
  padding:14px 36px;
  cursor:pointer;white-space:nowrap;
  border-radius:999px;
  position:relative;overflow:hidden;
  background:
    linear-gradient(158deg,rgba(30,5,0,.82) 0%,rgba(10,1,0,.92) 55%,rgba(30,5,0,.78) 100%) padding-box,
    linear-gradient(160deg,rgba(255,255,255,0.39) 0%,rgba(255,255,255,0.55) 45%,rgba(50,6,0,.9) 75%,rgba(255,255,255,0.32) 100%) border-box;
  border:1.5px solid transparent;
  box-shadow:
    0 1.5px 0 rgba(255,160,80,.18) inset,
    0 -1px 0 rgba(0,0,0,.55) inset,
    0 10px 32px rgba(0,0,0,.55),
    0 0 22px rgba(255,255,255,0.2),
    0 2px 8px rgba(0,0,0,.4);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:all .25s cubic-bezier(.4,0,.2,1);
}
.home-cta-btn::before {
  content:'';position:absolute;top:0;left:12%;right:12%;height:1px;
  background:linear-gradient(to right,transparent,rgba(255,200,150,.3),transparent);
  pointer-events:none;
}
.home-cta-btn:hover {
  background:
    linear-gradient(158deg,rgba(50,8,0,.88) 0%,rgba(20,3,0,.95) 55%,rgba(50,8,0,.84) 100%) padding-box,
    linear-gradient(160deg,rgba(240,100,40,.65) 0%,rgba(140,20,0,.9) 45%,rgba(70,8,0,.95) 75%,rgba(210,70,20,.55) 100%) border-box;
  box-shadow:
    0 2px 0 rgba(255,170,90,.22) inset,
    0 -1px 0 rgba(0,0,0,.6) inset,
    0 14px 40px rgba(0,0,0,.6),
    0 0 32px rgba(255,255,255,0.29),
    0 2px 10px rgba(0,0,0,.45);
  transform:translateY(-1px);
}
.nav-logo { font-family:var(--gabriel);font-weight:300;font-size:22px;letter-spacing:.08em;color:var(--w);cursor:pointer;white-space:nowrap; }
.nav-tm { font-size:.45em;vertical-align:super;font-weight:300;color:#888;margin-left:1px; }
.nav-account-btn {
  font-size:9px;letter-spacing:.25em;text-transform:uppercase;
  font-family:var(--sans);color:#fff;
  padding:10px 22px;cursor:pointer;
  border-radius:999px;position:relative;overflow:hidden;
  background:
    linear-gradient(158deg,rgba(30,5,0,.82) 0%,rgba(10,1,0,.92) 55%,rgba(30,5,0,.78) 100%) padding-box,
    linear-gradient(160deg,rgba(255,255,255,0.39) 0%,rgba(255,255,255,0.55) 45%,rgba(50,6,0,.9) 75%,rgba(255,255,255,0.32) 100%) border-box;
  border:1.5px solid transparent;
  box-shadow:0 1.5px 0 rgba(255,160,80,.18) inset,0 -1px 0 rgba(0,0,0,.55) inset,0 6px 20px rgba(0,0,0,.5),0 0 18px rgba(255,255,255,0.18);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:all .3s cubic-bezier(.4,0,.2,1);
}
.nav-account-btn::before { content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(to right,transparent,rgba(255,200,150,.3),transparent);pointer-events:none; }
.nav-account-btn:hover {
  background:
    linear-gradient(158deg,rgba(50,8,0,.88) 0%,rgba(20,3,0,.95) 55%,rgba(50,8,0,.84) 100%) padding-box,
    linear-gradient(160deg,rgba(240,100,40,.65) 0%,rgba(140,20,0,.9) 45%,rgba(70,8,0,.95) 75%,rgba(210,70,20,.55) 100%) border-box;
  box-shadow:0 2px 0 rgba(255,170,90,.22) inset,0 -1px 0 rgba(0,0,0,.6) inset,0 8px 26px rgba(0,0,0,.55),0 0 28px rgba(255,255,255,0.27);
  transform:translateY(-1px);
}

/* ══ NAV BAS ══ */
#bottom-nav {
  position:fixed;bottom:2px;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:center;gap:52px;
  padding:14px 48px;
  background:rgba(8,8,8,.92);
  backdrop-filter:blur(12px);
}
#bottom-red-line {
  position:fixed;bottom:0;left:0;right:0;height:2px;
  background:rgba(255,255,255,0.12);z-index:101;
}
#bottom-nav-links { display:flex;align-items:center;gap:40px; }
.bn-link { font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#aaaaaa;text-decoration:none;cursor:pointer;font-family:var(--sans);transition:color .2s; }
.bn-link:hover,.bn-link.active { color:#ffffff; }
.lang-sw { display:flex;align-items:center;gap:8px; }
.lang-btn { font-size:9px;letter-spacing:.22em;text-transform:uppercase;background:transparent;border:none;color:#ffffff;cursor:pointer;font-family:var(--sans);padding:0;transition:all .2s;border-bottom:1px solid transparent;padding-bottom:2px; }
.lang-btn.active { color:#ffffff;border-bottom-color:#ffffff; }
.lang-btn:hover:not(.active) { color:#cccccc; }
.lang-div { font-size:9px;color:#555555; }

/* Éléments abonnés : masqués par défaut, visibles si auth */
.nav-cta { display:none !important; }
.bn-auth { display:none !important; }
body.is-auth .nav-cta { display:inline-block !important; }
body.is-auth .bn-auth { display:inline !important; }
.nav-cta { font-size:9px;letter-spacing:.3em;text-transform:uppercase;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.22);color:var(--w);font-family:var(--sans);padding:8px 18px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden; }
.nav-cta:hover { background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.4); }
@media(max-width:900px){ #bottom-nav{gap:24px;padding:12px 20px} #bottom-nav-links{gap:20px} }

/* ══ STMT SECTION ══ */
.stmt-section { min-height:40vh;display:flex;align-items:center;justify-content:center;padding:100px 48px;background:var(--bg); }
.stmt-inner { max-width:720px;text-align:center; }
.stmt-quote { font-family:var(--sans);font-style:normal;font-weight:200;font-size:clamp(11px,1.8vw,20px);color:#ffffff;line-height:2.2;margin-bottom:28px;letter-spacing:.22em;text-transform:uppercase; }
.stmt-attr { font-size:8px;letter-spacing:.45em;color:#555555;text-transform:uppercase; }

/* ══ DIST FILTERS ══ */
.dist-filters { display:grid;grid-template-columns:repeat(5,1fr) auto;gap:24px;padding:0 48px 24px;align-items:end; }
.df-group { display:flex;flex-direction:column;gap:8px; }
.df-label { font-size:8px;letter-spacing:.35em;color:#555;text-transform:uppercase; }
.df-select { background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.12);color:var(--w);font-family:var(--sans);font-size:11px;font-weight:300;padding:6px 0 10px;outline:none;cursor:pointer;-webkit-appearance:none;transition:border-color .2s; }
.df-select:focus { border-bottom-color:#cccccc; }
.df-select option { background:#111;color:var(--w); }
.df-reset { font-size:9px;letter-spacing:.22em;text-transform:uppercase;background:transparent;border:1px solid var(--d4);color:#555;font-family:var(--sans);padding:10px 16px;cursor:pointer;transition:all .2s;align-self:flex-end; }
.df-reset:hover { border-color:var(--w);color:var(--w); }
.dist-count { padding:0 48px 12px;font-size:9px;letter-spacing:.25em;color:#333;text-transform:uppercase; }
.filter-tabs { display:flex;gap:4px;flex-wrap:wrap; }
.ftab { background:transparent;border:1px solid var(--d4);color:#666;font-family:var(--sans);font-size:9px;letter-spacing:.28em;text-transform:uppercase;padding:8px 16px;cursor:pointer;transition:all .2s; }
.ftab.on,.ftab:hover { border-color:var(--w);color:var(--w); }
@media(max-width:900px){ .dist-filters{grid-template-columns:1fr 1fr;padding:0 24px 24px;gap:16px;} }

/* ══ DIST CARDS ══ */
.dist-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--d4); }
.dist-card { background:var(--bg);padding:32px 28px;transition:background .22s,color .22s;cursor:pointer;position:relative; }
.dist-card:hover {
  background:rgba(18,4,0,.62) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  box-shadow:
    0 0 0 1.5px rgba(220,70,20,.52),
    0 1.5px 0 rgba(255,150,70,.2) inset,
    0 -1px 0 rgba(0,0,0,.55) inset,
    0 8px 32px rgba(0,0,0,.48),
    0 0 24px rgba(255,255,255,0.21) !important;
  transition:background .22s,backdrop-filter .22s,box-shadow .22s;
}
.dist-card:hover .dc-num,
.dist-card:hover .dc-name,
.dist-card:hover .dc-loc,
.dist-card:hover .dc-desc,
.dist-card:hover .dc-tag { color:#ffffff!important; }
.dist-card:hover .dc-hr { background:rgba(255,255,255,.25)!important; }
.dist-card:hover .dc-tag-dot { background:#ffffff!important; }
.dc-num { font-size:8px;letter-spacing:.3em;color:#333333;margin-bottom:14px;font-family:var(--sans);transition:color .22s; }
.dc-name { font-family:var(--gabriel);font-weight:200;font-size:20px;color:var(--w);margin-bottom:8px;letter-spacing:-.01em;transition:color .22s; }
.dc-loc { font-size:9px;letter-spacing:.15em;color:#555555;text-transform:uppercase;margin-bottom:16px;transition:color .22s; }
.dc-hr { height:1px;background:var(--d4);margin-bottom:16px;transition:background .22s; }
.dc-desc { font-size:11px;line-height:1.8;color:#888888;margin-bottom:16px;transition:color .22s; }
.dc-tag { display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.28em;color:#555555;text-transform:uppercase;transition:color .22s; }
.dc-tag-dot { width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,0.12);flex-shrink:0;transition:background .22s; }
@media(max-width:900px){ .dist-grid{grid-template-columns:1fr;} }

/* ══ VIEW TOGGLE DISTINCTIONS ══ */
.dist-count-row { display:flex;align-items:center;justify-content:space-between;padding:0 48px 12px; }
.view-toggle-wrap { display:none;align-items:center;gap:2px; }
.view-toggle-wrap.visible { display:flex; }
.dv-btn { width:36px;height:36px;background:transparent;border:1px solid #222;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s; }
.dv-btn.active { border-color:rgba(255,255,255,0.70);color:rgba(255,255,255,0.70); }
.dv-btn:hover:not(.active) { border-color:#555;color:#888; }

/* Visual grid mode */
.dist-grid.view-visual { grid-template-columns:repeat(4,1fr); }
@media(max-width:1100px){ .dist-grid.view-visual { grid-template-columns:repeat(3,1fr); } }
@media(max-width:700px){ .dist-grid.view-visual { grid-template-columns:repeat(2,1fr); } }
.dist-card-vis-img { display:none;width:100%;height:280px;object-fit:cover;flex-shrink:0;transition:transform .65s cubic-bezier(.25,.46,.45,.94); }
.dist-card-vis-img.loaded { display:none; }
.dist-card-vis-ph { display:none;width:100%;height:280px;background:#0b0b0b;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden; }
.dcvp-num { font-family:var(--gabriel);font-size:72px;color:#161616;font-weight:400;letter-spacing:-.04em;line-height:1; }
.view-visual .dist-card { padding:0;overflow:hidden;display:flex;flex-direction:column;position:relative; }
.view-visual .dist-card-vis-ph { display:flex; }
.view-visual .dist-card-vis-img.loaded { display:block; }
.view-visual .dist-card-vis-ph.img-loaded { display:none; }
.view-visual .dist-card:hover .dist-card-vis-img.loaded { transform:scale(1.06); }
.view-visual .dist-card:hover {
  background:rgba(18,4,0,.62) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  box-shadow:
    0 0 0 1.5px rgba(220,70,20,.52),
    0 1.5px 0 rgba(255,150,70,.2) inset,
    0 -1px 0 rgba(0,0,0,.55) inset,
    0 8px 32px rgba(0,0,0,.48),
    0 0 24px rgba(255,255,255,0.21) !important;
  transition:background .22s,backdrop-filter .22s,box-shadow .22s;
}
.view-visual .dc-hr,.view-visual .dc-desc { display:none; }
.view-visual .dc-num { padding:14px 18px 4px;margin-bottom:0; }
.view-visual .dc-name { padding:0 18px;font-size:16px;margin-bottom:5px; }
.view-visual .dc-loc { padding:0 18px;margin-bottom:8px; }
.view-visual .dc-tag { padding:0 18px 18px; }
.view-visual .dist-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,0.12);transform:scaleX(0);transition:transform .35s ease;transform-origin:left; }
.view-visual .dist-card:hover::after { transform:scaleX(1); }

/* ══ DOMAINE GRID ══ */
.dom-grid-wrap { position:relative; }
.dom-grid-row1 { display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--d4); }
.dom-grid-row2 { display:none; }
.dom-card { position:relative;height:60vh;overflow:hidden;cursor:pointer; }
.dom-card-img { position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s ease; }
.dom-card:hover .dom-card-img { transform:scale(1.04); }
.dom-card-overlay { position:absolute;inset:0;background:rgba(0,0,0,.62);transition:background .4s; }
.dom-card:hover .dom-card-overlay { background:rgba(0,0,0,.48); }
.dom-card.active .dom-card-overlay { background:rgba(255,255,255,0.34); }
.dom-card-active-bar { position:absolute;top:0;left:0;right:0;height:3px;background:rgba(255,255,255,0.12);transform:scaleX(0);transition:transform .4s;transform-origin:left; }
.dom-card.active .dom-card-active-bar { transform:scaleX(1); }
.dom-card.active .dom-card-img { transform:scale(1.04); }
.dom-card-num { position:absolute;top:28px;left:28px;font-family:var(--gabriel);font-size:16px;color:#ffffff;font-weight:400; }
.dom-card-content { position:absolute;bottom:0;left:0;right:0;padding:28px; }
.dom-card-eyebrow { font-size:8px;letter-spacing:.35em;color:rgba(255,255,255,.45);text-transform:uppercase;margin-bottom:10px; }
.dom-card-name { font-family:var(--gabriel);font-weight:200;font-size:clamp(20px,2.5vw,30px);color:var(--w);letter-spacing:-.01em;margin-bottom:10px; }
.dom-card-cta { font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,0.70);text-transform:uppercase; }

/* ══ DOM DETAIL ══ */
.dom-detail { margin:0;max-height:0;overflow:hidden;transition:max-height .65s cubic-bezier(.4,0,.2,1);background:#050505;border-top:none; }
.dom-detail.open { max-height:4000px;border-top:2px solid #740e00; }
.dom-detail-inner { padding:0 0 72px; }
.dom-detail-header { display:flex;justify-content:space-between;align-items:flex-end;padding:40px 64px 0;margin-bottom:0; }
.dom-detail-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(30px,4vw,52px);color:var(--w);letter-spacing:-.02em;line-height:1.05; }
.dom-detail-eye { font-size:8px;letter-spacing:.45em;color:#555555;text-transform:uppercase;font-family:var(--sans); }
.dom-detail-close { font-size:8px;letter-spacing:.3em;color:#555555;text-transform:uppercase;font-family:var(--sans);background:transparent;border:none;cursor:pointer;transition:color .2s; }
.dom-detail-close:hover { color:#cccccc; }
.dom-detail-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#000; }
.ddi { background:#050505;padding:28px 24px;transition:background .3s,box-shadow .3s;border-right:1px solid #151515;border-bottom:1px solid #151515; }
.ddi:hover { background:rgba(255,255,255,0.12);box-shadow:inset 0 0 40px rgba(0,0,0,.25); }
.ddi:hover .ddi-num { color:rgba(255,255,255,.55); }
.ddi:hover .ddi-name { color:#ffffff; }
.ddi:hover .ddi-desc { color:rgba(255,255,255,.8); }
.ddi-num { font-size:8px;letter-spacing:.3em;color:#ffffff;margin-bottom:12px;font-family:var(--sans); }
.ddi-name { font-family:var(--gabriel);font-weight:300;font-size:17px;color:var(--w);margin-bottom:8px;letter-spacing:-.01em; }
.ddi-desc { font-size:10.5px;line-height:1.75;color:#555555;font-family:var(--sans); }

/* ══ DOM EDITORIAL ══ */
.dom-editorial { padding:56px 64px 40px;border-bottom:1px solid #111;display:grid;grid-template-columns:1fr 1fr;gap:0; }
.dom-editorial-left { padding-right:64px;border-right:1px solid #111; }
.dom-editorial-right { padding-left:64px; }
.dom-quote-line { width:32px;height:1px;background:rgba(255,255,255,0.12);margin-bottom:20px; }
.dom-quote-text { font-family:var(--sans);font-weight:200;font-style:normal;font-size:clamp(11px,1.8vw,20px);color:#ffffff;line-height:2.2;letter-spacing:.22em;text-transform:uppercase;margin-bottom:36px; }
.dom-intro { font-size:12px;line-height:1.95;color:#888888; }
.dom-num-accent { font-family:var(--gabriel);font-size:72px;color:#ffffff;font-weight:400;line-height:1;margin-bottom:8px;letter-spacing:-.03em; }
.dom-principe-label { font-size:8px;letter-spacing:.45em;color:rgba(255,255,255,0.70);text-transform:uppercase;margin-bottom:16px; }
.dom-principe-text { font-family:var(--gabriel);font-weight:200;font-size:clamp(15px,1.6vw,19px);color:var(--w);line-height:1.55;margin-bottom:36px;letter-spacing:-.01em; }
.dom-histoire-label { font-size:8px;letter-spacing:.45em;color:#444;text-transform:uppercase;margin-bottom:12px; }
.dom-histoire-text { font-size:11px;line-height:1.85;color:#555555; }
.dom-detail-grid-header { padding:32px 64px 20px;display:flex;align-items:center;gap:20px; }
.dom-detail-grid-label { font-size:8px;letter-spacing:.45em;color:#444;text-transform:uppercase; }
.dom-detail-grid-line { flex:1;height:1px;background:#111; }
@media(max-width:900px){ .dom-editorial{grid-template-columns:1fr;padding:36px 24px 28px;} .dom-editorial-left{padding-right:0;border-right:none;border-bottom:1px solid #111;padding-bottom:28px;margin-bottom:28px;} .dom-editorial-right{padding-left:0;} .dom-detail-header{padding:28px 24px 0;} .dom-detail-grid{grid-template-columns:1fr;} .dom-detail-grid-header{padding:24px 24px 16px;} .dom-grid-row1,.dom-grid-row2{grid-template-columns:1fr;} .dom-card{height:50vh;} }

/* ══ VERIFY ══ */
.verify-section { min-height:70vh;display:flex;align-items:center;background:#000000;position:relative;overflow:hidden; }
#p-blockchain { background:#000000; }
.verify-section::after { content:'';position:absolute;top:0;right:0;bottom:0;width:50%;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:60px 60px; }
.verify-inner { display:grid;grid-template-columns:1fr 1fr;gap:0;width:100%; }
.verify-left { padding:120px 48px 80px;position:relative;z-index:1; }
.v-eye { font-size:9px;letter-spacing:.45em;color:var(--gold);text-transform:uppercase;margin-bottom:20px; }
.v-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(36px,4vw,58px);color:var(--w);line-height:1.1;margin-bottom:12px;letter-spacing:-.01em; }
.v-sub { font-size:9px;letter-spacing:.28em;color:#aaaaaa;text-transform:uppercase;margin-bottom:48px; }
.v-search { width:100%;border-bottom:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:14px;padding-bottom:14px;margin-bottom:12px;transition:border-color .3s; }
.v-search:focus-within { border-color:var(--w); }
.v-inp { background:transparent;border:none;outline:none;color:var(--w);font-family:var(--sans);font-size:9px;font-weight:300;flex:1;letter-spacing:.28em;text-transform:uppercase; }
.v-inp::placeholder { color:#888888; }
.v-sbtn { background:transparent;border:none;cursor:pointer;color:#cccccc;font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;transition:color .2s;padding:0; }
.v-sbtn:hover { color:var(--w); }
.v-hint { font-size:9px;letter-spacing:.12em;color:#666666;text-transform:uppercase; }
.v-result { margin-top:40px;border-top:1px solid var(--d4);padding-top:32px;display:none; }
.v-result.show { display:block;animation:fadeUp .4s ease; }
.v-result-no { margin-top:40px;display:none; }
.v-result-no.show { display:block;animation:fadeUp .4s ease; }
.v-loader { width:20px;height:20px;border:1px solid var(--d4);border-top-color:#cccccc;border-radius:50%;animation:spin .8s linear infinite;display:none;margin-top:24px; }
@keyframes spin { to{transform:rotate(360deg)} }
.v-ok-check { display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.15);border-radius:50%;margin-bottom:14px; }
.v-ok-check svg { width:12px;height:12px;stroke:var(--green);stroke-width:2;fill:none; }
.v-name { font-family:var(--gabriel);font-weight:200;font-size:28px;color:var(--w);margin-bottom:4px; }
.v-domain { font-size:9px;letter-spacing:.28em;color:#cccccc;text-transform:uppercase;margin-bottom:20px; }
.v-meta { font-size:9px;letter-spacing:.2em;color:#aaaaaa;text-transform:uppercase;margin-bottom:6px; }
.v-hash { font-family:'Courier New',monospace;font-size:9px;color:#888888;margin-bottom:20px; }
.v-poly { display:inline-flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.22em;color:#aaaaaa;text-transform:uppercase;border:1px solid var(--d4);padding:8px 16px;cursor:pointer;transition:all .2s;background:transparent; }
.v-poly:hover { border-color:#aaaaaa;color:var(--w); }
.v-poly-dot { width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.12);box-shadow:0 0 6px rgba(255,255,255,0.39); }
.v-no-txt { font-size:10px;letter-spacing:.28em;color:#aaaaaa;text-transform:uppercase;margin-bottom:6px; }
.v-no-sub { font-family:var(--gabriel);font-size:15px;font-style:italic;font-weight:200;color:#888888; }
.verify-right { position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:80px 48px; }
.chain-stats { display:flex;flex-direction:column;gap:32px;width:100%; }
.cs { border-top:1px solid var(--d4);padding-top:24px; }
.cs-num { font-family:var(--gabriel);font-weight:200;font-size:48px;color:#333333;letter-spacing:-.02em;margin-bottom:4px; }
.cs-label { font-size:9px;letter-spacing:.3em;color:#aaaaaa;text-transform:uppercase;margin-bottom:8px; }
.cs-desc { font-size:11px;line-height:1.75;color:#666666; }
@media(max-width:900px){ .verify-inner{grid-template-columns:1fr;} .verify-left{padding:80px 24px 40px;} .verify-right{padding:40px 24px;} }

/* ══ PLANS OVERLAY ══ */
#plans-overlay { display:none;position:fixed;inset:0;z-index:800;background:rgba(4,4,4,.97);backdrop-filter:blur(12px);overflow-y:auto;animation:fadeIn .35s ease; }
#plans-overlay.open { display:flex;flex-direction:column; }
.po-header { padding:48px 56px 0;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:40px; }
.po-eye { font-size:8px;letter-spacing:.45em;text-transform:uppercase;color:rgba(255,255,255,0.70);margin-bottom:10px; }
.po-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(32px,4vw,58px);color:#ffffff;line-height:1.05;letter-spacing:-.02em;margin-bottom:10px; }
.po-sub { font-size:12px;line-height:1.8;color:#aaaaaa;max-width:500px; }
.po-close { background:transparent;border:1px solid rgba(255,255,255,.15);color:#aaaaaa;width:44px;height:44px;cursor:pointer;font-size:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:var(--sans); }
.po-close:hover { border-color:var(--w);color:var(--w); }
.po-body { padding:0 56px 64px;flex:1; }
.po-plans { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.07);margin-top:56px; }
.po-plan { background:#080808;padding:48px 40px;position:relative; }
.po-plan.featured { background:#0d0d0d;outline:1px solid rgba(255,255,255,0.2); }
.po-plan-redline { position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,#740e00,transparent); }
.po-plan-eye { font-size:8px;letter-spacing:.4em;color:#aaaaaa;text-transform:uppercase;margin-bottom:12px; }
.po-plan.featured .po-plan-eye { color:#555; }
.po-plan-name { font-family:var(--gabriel);font-weight:200;font-size:30px;color:var(--w);margin-bottom:6px;letter-spacing:-.01em; }
.po-toggle { display:flex;align-items:center;gap:10px;margin:0 0 18px; }
.po-toggle-lbl { font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#666;transition:color .25s; }
.po-toggle-lbl.on { color:var(--w); }
.po-toggle-sw { width:38px;height:20px;background:var(--d4);border-radius:10px;position:relative;cursor:pointer;border:none;padding:0;flex-shrink:0;transition:background .3s; }
.po-toggle-sw .po-knob { width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,0.12);position:absolute;top:3px;left:21px;transition:transform .3s cubic-bezier(.4,0,.2,1); }
.po-toggle-sw.monthly .po-knob { transform:translateX(-18px); }
.po-eco { font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,0.70);border:1px solid rgba(255,255,255,0.2);padding:2px 7px;opacity:0;transition:opacity .3s;margin-left:4px; }
.po-eco.show { opacity:1; }
.po-price { font-family:var(--gabriel);font-weight:200;font-size:50px;color:var(--w);letter-spacing:-.03em;margin-bottom:4px;line-height:1; }
.po-period { font-size:9px;letter-spacing:.22em;color:#aaaaaa;text-transform:uppercase;margin-bottom:28px; }
.po-hr { height:1px;background:rgba(255,255,255,.08);margin-bottom:24px; }
.po-item { display:flex;gap:12px;margin-bottom:13px;font-size:11px;color:#ffffff;line-height:1.6; }
.po-check { color:rgba(255,255,255,0.70);flex-shrink:0; }
.po-btn { display:block;width:100%;margin-top:32px;font-size:10px;letter-spacing:.25em;text-transform:uppercase;padding:16px;cursor:pointer;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);color:var(--w);font-family:var(--sans);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 4px 16px rgba(0,0,0,.3);backdrop-filter:blur(6px); }
.po-btn::before { content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.18),transparent);pointer-events:none; }
.po-btn:hover { border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.07);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 6px 22px rgba(0,0,0,.3);transform:translateY(-1px); }
.po-plan.featured .po-btn { background:linear-gradient(155deg,rgba(255,255,255,.97) 0%,rgba(238,238,238,1) 100%);color:#000;border:1px solid rgba(255,255,255,.65);box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 1px 0 rgba(255,255,255,.95) inset,0 6px 22px rgba(0,0,0,.4); }
.po-plan.featured .po-btn:hover { opacity:1;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.6) inset,0 1px 0 rgba(255,255,255,1) inset,0 10px 30px rgba(0,0,0,.4); }
.po-note { font-size:10px;color:#555;margin-top:12px;text-align:center;line-height:1.6; }
@media(max-width:900px){ .po-header{padding:32px 24px 28px;} .po-body{padding:0 24px 48px;} .po-plans{grid-template-columns:1fr;} .po-plan{padding:36px 28px;} }

/* ══ INNER PAGES ══ */
.inner-hero { padding-top:120px;padding-bottom:60px;padding-left:48px;padding-right:48px;border-bottom:1px solid var(--d4);margin-bottom:60px; }
.inner-eye { font-size:9px;letter-spacing:.45em;color:var(--gold);text-transform:uppercase;margin-bottom:16px; }
.inner-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(40px,5vw,70px);color:var(--w);letter-spacing:-.02em;margin-bottom:14px;line-height:1.05; }
.inner-sub { font-size:13px;line-height:1.8;color:#cccccc;max-width:540px; }

/* ══ DISTINCTIONS HERO SEARCH ══ */
.dist-hero-top {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.dist-hero-search-wrap {
  flex-shrink:0;
  padding-bottom:4px;
}
.dist-hero-search {
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px 12px 22px;
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.18),
    inset 0 -1px 0 rgba(0,0,0,0.22),
    0 6px 24px rgba(0,0,0,0.55),
    0 2px 8px rgba(255,255,255,0.03);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  min-width:240px;
  transition:border-color .25s, box-shadow .25s;
}
.dist-hero-search:focus-within {
  border-color:rgba(255,255,255,0.32);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.25),
    inset 0 -1px 0 rgba(0,0,0,0.25),
    0 8px 30px rgba(0,0,0,0.6),
    0 0 22px rgba(255,255,255,0.08);
}
.dist-search-input {
  background:transparent;
  border:none;
  outline:none;
  color:#fff;
  font-family:var(--sans);
  font-size:9px;
  letter-spacing:.22em;
  text-transform:uppercase;
  flex:1;
  min-width:160px;
}
.dist-search-input::placeholder { color:rgba(255,255,255,.35); }
.dist-search-icon {
  color:rgba(255,255,255,.4);
  flex-shrink:0;
  pointer-events:none;
}
@media(max-width:900px) {
  .dist-hero-top { flex-direction:column;align-items:flex-start; }
  .dist-hero-search { min-width:100%; }
}

/* ══ FORMS ══ */
.form-wrap { max-width:560px;margin:0 auto 80px;padding:0 48px; }
.field { margin-bottom:28px; }
.field label { display:block;font-size:9px;letter-spacing:.35em;color:#cccccc;text-transform:uppercase;margin-bottom:10px; }
.field input,.field select,.field textarea { width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.12);color:var(--w);font-family:var(--sans);font-size:15px;font-weight:300;padding:8px 0 12px;outline:none;letter-spacing:.03em;transition:border-color .25s;-webkit-appearance:none; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#cccccc; }
.field input::placeholder,.field textarea::placeholder { color:#666666; }
.field select option { background:#111;color:var(--w); }
.field textarea { resize:vertical;min-height:90px;line-height:1.65; }
.field-row { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.submit-btn { width:100%;background:linear-gradient(155deg,rgba(255,255,255,.97) 0%,rgba(235,235,235,1) 100%);color:#000;border:1px solid rgba(255,255,255,.65);font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;padding:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:12px;position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.48) inset,0 1px 0 rgba(255,255,255,.92) inset,0 6px 22px rgba(0,0,0,.42); }
.submit-btn::before { content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.7),transparent);pointer-events:none; }
.submit-btn:hover { opacity:1;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.58) inset,0 1px 0 rgba(255,255,255,1) inset,0 10px 28px rgba(0,0,0,.42); }
.form-note { font-size:10px;line-height:1.7;color:#aaaaaa;margin-top:20px;border-top:1px solid var(--d4);padding-top:20px; }

/* ══ CONTACT GRID ══ */
.contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--d4);max-width:960px;margin:0 auto 64px; }
.cg-item { background:var(--bg);padding:36px 32px;transition:background .2s,border-color .2s;border:1px solid #111;position:relative; }
.cg-item:hover { background:#0a0a0a;border-color:rgba(255,255,255,0.13); }
.cg-num { font-family:var(--gabriel);font-size:28px;color:#222;font-weight:400;margin-bottom:14px;line-height:1; }
.cg-item h3 { font-family:var(--gabriel);font-weight:300;font-size:18px;color:var(--w);margin-bottom:10px; }
.cg-item p { font-size:11px;line-height:1.75;color:#666;margin-bottom:0; }
.cg-arrow { position:absolute;bottom:28px;right:28px;font-size:16px;color:#333;transition:color .2s,transform .2s; }
.cg-item:hover .cg-arrow { color:rgba(255,255,255,0.70);transform:translateX(4px); }
@media(max-width:900px){ .contact-grid{grid-template-columns:1fr;margin:0 24px 48px;} }

/* ══ MODAL ══ */
.modal-bg { display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:500;align-items:center;justify-content:center; }
.modal-bg.open { display:flex; }
.modal-box { background:#0c0c0c;border:1px solid var(--d4);padding:52px;max-width:480px;width:90%;animation:fadeUp .3s ease;position:relative; }
.modal-close-btn { position:absolute;top:20px;right:20px;background:transparent;border:none;color:#aaaaaa;cursor:pointer;font-size:18px;line-height:1;transition:color .2s; }
.modal-close-btn:hover { color:var(--w); }
.modal-title { font-family:var(--gabriel);font-weight:200;font-size:30px;color:var(--w);margin-bottom:6px; }
.modal-sub { font-size:9px;letter-spacing:.28em;color:#aaaaaa;text-transform:uppercase;margin-bottom:36px; }
.modal-inp { width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.12);color:var(--w);font-family:var(--sans);font-size:15px;padding:8px 0 12px;outline:none;margin-bottom:18px;letter-spacing:.03em;transition:border-color .25s; }
.modal-inp:focus { border-color:#cccccc; }
.modal-inp::placeholder { color:#888888; }
.modal-btn { width:100%;background:linear-gradient(155deg,rgba(255,255,255,.97) 0%,rgba(235,235,235,1) 100%);color:#000;border:1px solid rgba(255,255,255,.65);font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;padding:15px;cursor:pointer;margin-bottom:14px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.48) inset,0 1px 0 rgba(255,255,255,.92) inset,0 6px 20px rgba(0,0,0,.42); }
.modal-btn::before { content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.7),transparent);pointer-events:none; }
.modal-btn:hover { opacity:1;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.58) inset,0 1px 0 rgba(255,255,255,1) inset,0 10px 28px rgba(0,0,0,.42); }
.modal-cancel { display:block;margin:0 auto;font-size:9px;letter-spacing:.22em;color:#aaaaaa;cursor:pointer;text-transform:uppercase;background:transparent;border:none;font-family:var(--sans);transition:color .2s; }
.modal-cancel:hover { color:var(--w); }
.modal-note { font-size:9px;color:#888;margin-top:20px;line-height:1.65;text-align:center; }

/* ══ TOAST ══ */
.toast { position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:#111;border:1px solid var(--d4);padding:12px 28px;font-size:10px;letter-spacing:.22em;color:var(--w);text-transform:uppercase;opacity:0;transition:opacity .3s;pointer-events:none;z-index:600;white-space:nowrap; }
.toast.on { opacity:1; }

/* ══ REVEAL ══ */
.reveal { opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease; }
.reveal.in { opacity:1;transform:none; }

/* ══ FOOTER ══ */
.site-footer { border-top:1px solid var(--d4);padding:48px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px; }
.footer-brand .fl { font-family:var(--gabriel);font-weight:200;font-size:20px;color:#ffffff;margin-bottom:8px;letter-spacing:.04em; }
.footer-brand p { font-size:10px;line-height:1.7;color:#aaaaaa;max-width:220px; }
.footer-nav h4 { font-size:8px;letter-spacing:.4em;color:#888888;text-transform:uppercase;margin-bottom:16px; }
.footer-nav ul { list-style:none;display:flex;flex-direction:column;gap:10px; }
.footer-nav a { font-size:11px;color:#cccccc;text-decoration:none;cursor:pointer;transition:color .2s; }
.footer-nav a:hover { color:var(--w); }
.footer-copy { font-size:9px;letter-spacing:.15em;color:#aaaaaa;text-transform:uppercase; }
@media(max-width:900px){ .site-footer{grid-template-columns:1fr;padding:36px 24px;gap:24px;} }

/* ══ CONTACT TYPE ══ */
.c-type-btn { flex:1;background:transparent;border:1px solid #2a2a2a;color:#555;font-family:var(--sans);font-size:9px;letter-spacing:.28em;text-transform:uppercase;padding:15px;cursor:pointer;transition:all .2s; }
.c-type-btn.active { background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.70);color:#fff; }
.c-type-btn:hover:not(.active) { border-color:#666;color:#aaa; }
#c-merci { display:none;padding:60px 0;text-align:center; }
.c-merci-eye { font-size:9px;letter-spacing:.45em;color:rgba(255,255,255,0.70);text-transform:uppercase;margin-bottom:20px; }
.c-merci-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(36px,5vw,56px);color:#fff;letter-spacing:-.02em;margin-bottom:20px; }
.c-merci-sub { font-size:13px;line-height:1.85;color:#888;max-width:420px;margin:0 auto 36px; }
.c-merci-btn { font-size:9px;letter-spacing:.22em;text-transform:uppercase;background:transparent;border:1px solid #333;color:#666;font-family:var(--sans);padding:12px 28px;cursor:pointer;transition:all .2s; }
.c-merci-btn:hover { border-color:#888;color:#aaa; }

/* ══ LEGAL BAR ══ */
.legal-bar { padding:20px 48px;border-top:1px solid #0d0d0d; }
.legal-links-row { display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px; }
.ll { font-size:9px;color:#333333;cursor:pointer;transition:color .2s;letter-spacing:.08em; }
.ll:hover { color:#888; }
.legal-sep { font-size:9px;color:#222; }
.legal-copy-sm { font-size:9px;color:#222;letter-spacing:.12em;text-transform:uppercase; }
@media(max-width:900px){ .legal-bar{padding:20px 24px;} }

/* ══ INTRO CINÉ ══ */
#intro {
  position:fixed;inset:0;z-index:9500;
  background:#040404;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  overflow:hidden;
  transition:transform 1.1s cubic-bezier(.77,0,.18,1);
}
#intro.exit { transform:translateY(-100%); }

/* Slides images */
#intro-slides { position:absolute;inset:0;z-index:1; }
.intro-slide {
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;transform:scale(1.04);
  transition:opacity 0.35s ease, transform 12s ease;
}
.intro-slide.active { opacity:1;transform:scale(1); }

/* Overlay — transparent au centre pour intégrer les images dans le logo */
#intro-overlay {
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse 72% 52% at 50% 50%,
    rgba(4,4,4,.04) 0%,
    rgba(4,4,4,.42) 55%,
    rgba(4,4,4,.84) 100%
  );
}

/* Logo central */
#intro-logo-wrap {
  position:relative;z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}

/* Ligne logo + mot qualificatif — même baseline */
#intro-row {
  display:inline-flex;
  align-items:baseline;
  gap:.55em;
  white-space:nowrap;
}

/* Logo L'Augure */
#intro-logo-line {
  display:flex;align-items:baseline;gap:0;
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-weight:200;
  font-size:clamp(34px,5vw,64px);
  color:#ffffff;
  white-space:nowrap;
  flex-shrink:0;
}
#intro-logo-text { letter-spacing:.22em; }
#intro-tm {
  font-size:.35em;align-self:flex-start;margin-top:.18em;
  font-weight:300;color:#ffffff;
  opacity:0;transition:opacity .4s ease;
  letter-spacing:.06em;
}
#intro-tm.show { opacity:1; }

/* Mot qualificatif — même taille, même baseline */
#intro-word-slot {
  overflow:hidden;
  font-size:clamp(34px,5vw,64px);
  height:1.35em;
  line-height:1.35;
  display:block;
}
.iwc {
  display:block;
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-style:normal;
  font-weight:200;
  font-size:inherit;
  line-height:1.35;
  letter-spacing:.15em;
  white-space:nowrap;
  color:rgba(255,255,255,.58);
  unicode-bidi:isolate;
}
.iwc.iwc-in  { animation:iwcIn  .05s ease both; }
.iwc.iwc-out { animation:iwcOut .04s ease both; }
@keyframes iwcIn  { 0%{opacity:0} 100%{opacity:1} }
@keyframes iwcOut { 0%{opacity:1} 100%{opacity:0} }

/* Ligne fine sous la paire logo+mot */
#intro-line {
  width:0;height:1px;background:#ffffff;margin-top:4px;
  opacity:.3;
  transition:width 1.2s cubic-bezier(.4,0,.2,1) .6s;
}
#intro-line.show { width:120px; }



/* ══ ACTU ══ */
.actu-bar { display:flex;gap:8px;flex-wrap:wrap;padding:0 48px 32px;position:relative; }
.actu-ftab { background:transparent;border:1px solid var(--d4);color:#666;font-family:var(--sans);font-size:9px;letter-spacing:.28em;text-transform:uppercase;padding:7px 14px;cursor:pointer;transition:all .2s; }
.actu-ftab.on,.actu-ftab:hover { border-color:var(--w);color:var(--w); }
.actu-featured { margin:0;border-left:none;border-right:none;background:var(--d5);border-top:1px solid var(--d4);border-bottom:1px solid var(--d4);padding:56px 52px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden; }
.actu-featured:hover { background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.70); }
.actu-featured:hover .actu-featured-tag,.actu-featured:hover .actu-featured-title,.actu-featured:hover .actu-featured-excerpt,.actu-featured:hover .actu-meta-date,.actu-featured:hover .actu-meta-place { color:#ffffff!important; }
.actu-featured:hover .actu-read-link { color:rgba(255,255,255,.8)!important; }
.actu-featured-tag { font-size:8px;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,0.70);margin-bottom:16px; }
.actu-featured-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(28px,3.5vw,52px);color:var(--w);line-height:1.05;letter-spacing:-.02em;margin-bottom:20px; }
.actu-featured-excerpt { font-size:13px;line-height:1.85;color:#cccccc;max-width:640px;margin-bottom:28px; }
.actu-featured-meta { display:flex;align-items:center;gap:20px; }
.actu-meta-date { font-size:9px;letter-spacing:.2em;color:#666;text-transform:uppercase; }
.actu-meta-place { font-size:9px;letter-spacing:.15em;color:#888;text-transform:uppercase; }
.actu-read-link { font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#aaaaaa;background:transparent;border:none;font-family:var(--sans);cursor:pointer;padding:0;transition:color .2s;margin-left:auto; }
.actu-read-link:hover { color:var(--w); }
.actu-list { padding:0;margin-bottom:80px;display:flex;flex-direction:column; }
.actu-item { display:grid;grid-template-columns:80px 1fr 120px;gap:28px;padding:30px 48px;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;transition:background .2s;align-items:start; }
.actu-item:hover { opacity:1;background:rgba(255,255,255,0.12); }
.actu-item:hover .actu-item-tag,.actu-item:hover .actu-item-title,.actu-item:hover .actu-item-excerpt,.actu-item:hover .actu-item-date,.actu-item:hover .actu-item-place,.actu-item:hover .actu-item-num { color:#ffffff!important; }
.actu-item-num { font-family:var(--gabriel);font-size:32px;color:var(--d4);font-weight:400;line-height:1;padding-top:2px; }
.actu-item-body { display:flex;flex-direction:column;gap:8px; }
.actu-item-tag { font-size:8px;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,0.70); }
.actu-item-title { font-family:var(--gabriel);font-weight:200;font-size:18px;color:var(--w);line-height:1.2;letter-spacing:-.01em; }
.actu-item-excerpt { font-size:11px;line-height:1.75;color:#888;max-width:540px; }
.actu-item-right { text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end;padding-top:4px; }
.actu-item-date { font-size:9px;letter-spacing:.18em;color:#555;text-transform:uppercase; }
.actu-item-place { font-size:9px;letter-spacing:.14em;color:#555;text-transform:uppercase; }
.actu-ticker { padding:14px 48px;border-bottom:1px solid var(--d4);display:flex;align-items:center;gap:16px;overflow:hidden; }
.actu-ticker-label { font-size:8px;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,0.70);flex-shrink:0; }
.actu-ticker-sep { width:1px;height:12px;background:var(--d4);flex-shrink:0; }
.actu-ticker-track { overflow:hidden;flex:1; }
.actu-ticker-inner { display:flex;gap:64px;white-space:nowrap; }
.actu-ticker-item { font-size:10px;letter-spacing:.15em;color:#888;text-transform:uppercase;white-space:nowrap;flex-shrink:0; }
.actu-ticker-dot { color:rgba(255,255,255,0.70);margin-right:8px; }
.actu-filters { display:flex;gap:16px;flex-wrap:wrap;padding:0 48px 24px;align-items:center; }
.actu-fsel-group { display:flex;flex-direction:column;gap:6px; }
.actu-fsel-label { font-size:8px;letter-spacing:.35em;color:#666;text-transform:uppercase; }
.actu-fsel { background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.12);color:var(--w);font-family:var(--sans);font-size:11px;font-weight:300;padding:4px 0 8px;outline:none;min-width:140px;cursor:pointer;-webkit-appearance:none;letter-spacing:.04em;transition:border-color .2s; }
.actu-fsel:focus { border-bottom-color:#cccccc; }
.actu-fsel option { background:#111;color:var(--w); }
.actu-freset { font-size:9px;letter-spacing:.22em;text-transform:uppercase;background:transparent;border:1px solid var(--d4);color:#666;font-family:var(--sans);padding:6px 14px;cursor:pointer;margin-top:14px;transition:all .2s;align-self:flex-end; }
.actu-freset:hover { border-color:var(--w);color:var(--w); }
.actu-pagination { display:flex;align-items:center;justify-content:center;gap:12px;padding:32px 48px 60px;border-top:1px solid rgba(255,255,255,.06); }
.actu-page-btn { background:transparent;border:1px solid #222;color:#555;font-family:var(--sans);font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:10px 20px;cursor:pointer;transition:all .2s; }
.actu-page-btn:hover:not(:disabled) { border-color:#ffffff;color:#ffffff; }
.actu-page-btn:disabled { opacity:.2;cursor:default; }
.actu-page-nums { display:flex;gap:4px; }
.actu-pnum { width:36px;height:36px;background:transparent;border:1px solid #222;color:#555;font-family:var(--sans);font-size:11px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center; }
.actu-pnum:hover { border-color:#ffffff;color:#ffffff; }
.actu-pnum.on { background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.70);color:#ffffff; }
@media(max-width:900px){ .actu-featured{margin:0;padding:36px 24px;} .actu-bar{padding:0 24px 24px;} .actu-filters{padding:0 24px 24px;} .actu-list{padding:0;margin-bottom:60px;} .actu-item{grid-template-columns:1fr;gap:8px;padding:24px;} .actu-item-num{display:none;} .actu-item-right{align-items:flex-start;flex-direction:row;gap:16px;} }

/* ══ BLOCKCHAIN NAV WHITE BORDER ══ */
body:has(#p-blockchain.active) nav { background:rgba(8,8,8,.98)!important;border-bottom-color:transparent!important;backdrop-filter:blur(12px); }

/* ══ LEGAL MODAL ══ */
.legal-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.92); z-index:800; align-items:center; justify-content:center; }
.legal-modal.open { display:flex; }
.legal-modal-box { background:#0c0c0c; border:1px solid #222; max-width:640px; width:90%; max-height:85vh; display:flex; flex-direction:column; }
.legal-modal-header { padding:32px 36px 24px; border-bottom:1px solid #151515; display:flex; justify-content:space-between; align-items:center; flex-shrink:0; }
.legal-modal-title { font-family:var(--gabriel); font-weight:200; font-size:22px; color:var(--w); }
.legal-modal-close { background:transparent; border:none; color:#555; cursor:pointer; font-size:9px; letter-spacing:0.25em; text-transform:uppercase; font-family:var(--sans); transition:color 0.2s; }
.legal-modal-close:hover { color:var(--w); }
.legal-modal-body { padding:32px 36px; overflow-y:auto; }
.lm-section { margin-bottom:28px; }
.lm-section h3 { font-family:var(--gabriel); font-weight:300; font-size:14px; color:var(--w); margin-bottom:10px; }
.lm-section p { font-size:11px; line-height:1.8; color:#888888; }

/* ══ COOKIE BAR ══ */
#cookie-bar { position:fixed; bottom:0; left:0; right:0; background:#0c0c0c; border-top:1px solid #1a1a1a; padding:16px 32px; display:flex; align-items:center; justify-content:space-between; z-index:700; transform:translateY(100%); transition:transform 0.4s cubic-bezier(0.4,0,0.2,1); gap:20px; }
#cookie-bar.show { transform:translateY(0); }
.cb-text { font-size:10px; line-height:1.7; color:#888; flex:1; }
.cb-text a { color:#cccccc; cursor:pointer; text-decoration:underline; }
.cb-btns { display:flex; gap:10px; flex-shrink:0; }
.cb-btn { font-size:9px; letter-spacing:0.22em; text-transform:uppercase; font-family:var(--sans); padding:8px 18px; cursor:pointer; border:1px solid #333; background:transparent; color:#888; transition:all 0.2s; }
.cb-btn.accept { background:var(--w); color:#000; border-color:var(--w); }
.cb-btn.refuse:hover { border-color:#666; color:var(--w); }

/* ══ NEWSLETTER POPUP ══ */
#nl-popup-bg { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.85); z-index:650; align-items:center; justify-content:center; }
#nl-popup-bg.open { display:flex; }
#nl-popup { background:#0c0c0c; border:1px solid #1a1a1a; padding:52px; max-width:460px; width:90%; position:relative; animation:fadeUp 0.35s ease; }
.nl-close { position:absolute; top:18px; right:18px; background:transparent; border:none; color:#444; cursor:pointer; font-size:18px; transition:color 0.2s; }
.nl-close:hover { color:var(--w); }
.nl-eye { font-size:8px; letter-spacing:0.42em; color:rgba(255,255,255,0.70); text-transform:uppercase; margin-bottom:16px; }
.nl-title { font-family:var(--gabriel); font-weight:200; font-size:clamp(22px,3vw,32px); color:var(--w); margin-bottom:12px; letter-spacing:-0.01em; }
.nl-sub { font-size:11px; line-height:1.75; color:#888; margin-bottom:28px; }
.nl-inp { width:100%; background:transparent; border:none; border-bottom:1px solid #333; color:var(--w); font-family:var(--sans); font-size:14px; padding:8px 0 12px; outline:none; margin-bottom:20px; transition:border-color 0.25s; }
.nl-inp:focus { border-bottom-color:#888; }
.nl-btn { width:100%; background:var(--w); color:#000; border:none; font-family:var(--sans); font-size:9px; letter-spacing:0.28em; text-transform:uppercase; padding:14px; cursor:pointer; margin-bottom:12px; transition:opacity 0.2s; }
.nl-btn:hover { opacity:0.85; }
.nl-skip { display:block; margin:0 auto; font-size:9px; letter-spacing:0.22em; color:#444; cursor:pointer; text-transform:uppercase; background:transparent; border:none; font-family:var(--sans); transition:color 0.2s; }
.nl-skip:hover { color:#888; }
.nl-note { font-size:9px; color:#333; margin-top:16px; text-align:center; line-height:1.6; }

/* ══ LOGIN MODAL ══ */
#login-bg { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.92); z-index:700; align-items:center; justify-content:center; }
#login-box { background:#0c0c0c; border:1px solid #1a1a1a; padding:52px; max-width:420px; width:90%; position:relative; animation:fadeUp 0.3s ease; }
#login-close-btn { position:absolute; top:18px; right:18px; background:transparent; border:none; color:#444; cursor:pointer; font-size:18px; transition:color 0.2s; }
#login-close-btn:hover { color:var(--w); }
.login-eye { font-size:8px; letter-spacing:0.42em; color:#555; text-transform:uppercase; margin-bottom:14px; }
.login-title { font-family:var(--gabriel); font-weight:200; font-size:28px; color:var(--w); margin-bottom:10px; letter-spacing:-0.01em; }
.login-sub { font-size:11px; line-height:1.75; color:#888; margin-bottom:28px; }
.login-inp { width:100%; background:transparent; border:none; border-bottom:1px solid #333; color:var(--w); font-family:var(--sans); font-size:14px; padding:8px 0 12px; outline:none; transition:border-color 0.25s; }
.login-inp:focus { border-bottom-color:#888; }
.login-btn { width:100%; margin-top:16px; background:var(--w); color:#000; border:none; font-family:var(--sans); font-size:9px; letter-spacing:0.28em; text-transform:uppercase; padding:14px; cursor:pointer; transition:opacity 0.2s; }
.login-btn:hover { opacity:0.85; }
.account-kv { font-size:10px; color:#888; margin-bottom:10px; letter-spacing:0.04em; }
.account-kv span { color:#ccc; }

/* ══ SCROLLSTRIP ══ */
@keyframes scrollStrip { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.si { font-size:9px; letter-spacing:0.35em; color:#ffffff; text-transform:uppercase; white-space:nowrap; }

/* ══ ANIMATIONS ══ */
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes tickerScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.actu-ticker-inner { animation:tickerScroll 30s linear infinite; }

#fiche-progress { position:fixed;top:0;left:0;height:2px;background:rgba(255,255,255,0.12);z-index:1001;width:0%;pointer-events:none;transition:width .08s linear; }
/* Nav */
.fiche-nav { position:fixed;top:0;left:0;right:0;z-index:50;padding:22px 56px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,border .4s; }
.fiche-nav.fn-scrolled { background:rgba(3,3,3,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06); }
.fiche-nav-brand { font-family:var(--gabriel);font-weight:200;font-size:15px;color:rgba(255,255,255,.6);letter-spacing:.08em;cursor:pointer;transition:color .2s; }
.fiche-nav-brand:hover { color:#fff; }
.fiche-nav-actions { display:flex;gap:12px;align-items:center; }
.fiche-back { font-size:9px;letter-spacing:.25em;text-transform:uppercase;background:transparent;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.5);font-family:var(--sans);padding:9px 20px;cursor:pointer;transition:all .2s; }
.fiche-back:hover { border-color:#fff;color:#fff; }
.fiche-fav-btn { width:36px;height:36px;border-radius:3px;background:transparent;border:1px solid rgba(255,255,255,0.26);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;font-size:18px;line-height:1;color:rgba(255,255,255,0.33); }
.fiche-fav-btn:hover { border-color:rgba(255,255,255,0.70);color:rgba(255,255,255,0.70);box-shadow:0 0 10px rgba(255,255,255,0.16); }
.fiche-fav-btn.active { background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.70);color:rgba(255,255,255,0.70);box-shadow:0 0 14px rgba(255,255,255,0.2); }
/* Icône carré dans la sidebar */
.fav-ic { color:rgba(255,255,255,0.70)!important; }
/* Bouton action favori dans l'explorer */
#ex-fav-btn { color:rgba(255,255,255,0.70)!important; }
/* Hero — Gallery Card */
.f-hero { position:relative;height:100vh;min-height:640px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#030303; }
.f-hero-blur-bg { position:absolute;inset:-60px;z-index:0;background-size:cover;background-position:center;filter:blur(60px) brightness(.18) saturate(.4);transform:scale(1.15); }
.f-hero-ghost-wrap { position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;height:100%; }
.f-hero-card-wrap { width:46vw;max-width:680px;min-width:260px;height:68vh;max-height:720px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1);overflow:hidden;flex-shrink:0;position:relative;z-index:2; }
.f-hero-media { flex:1;overflow:hidden;position:relative; }
.f-hero-media img,.f-hero-media video { width:100%;height:100%;object-fit:cover;opacity:.85;filter:grayscale(.1);transition:transform .8s ease; }
.f-hero-card-wrap:hover .f-hero-media img { transform:scale(1.04); }
.f-hero-card-redline { height:2px;background:rgba(255,255,255,0.12);flex-shrink:0; }
.f-hero-content { padding:20px 30px 24px;flex-shrink:0;background:#030303;border-top:1px solid rgba(255,255,255,.05); }
.f-hero-signal { font-size:8px;letter-spacing:.48em;color:rgba(255,255,255,0.70);text-transform:uppercase;margin-bottom:10px; }
.f-hero-name { font-family:var(--gabriel);font-weight:200;font-size:clamp(20px,2.8vw,36px);color:#fff;line-height:.96;letter-spacing:-.02em;margin-bottom:12px; }
.f-hero-meta-row { display:flex;align-items:center;gap:12px; }
.f-hero-bignum { font-size:9px;letter-spacing:.3em;color:#1a1a1a;text-transform:uppercase; }
.f-hero-meta-sep { width:1px;height:10px;background:#181818;flex-shrink:0; }
.f-hero-loc { font-size:9px;letter-spacing:.22em;color:#2e2e2e;text-transform:uppercase; }
.f-hero-domain,.f-hero-line,.f-hero-desc,.f-hero-hint,.f-hero-overlay { display:none; }
.f-hero-ghost { width:26vw;max-width:360px;min-width:160px;height:52vh;flex-shrink:0;border:1px solid rgba(255,255,255,.04);overflow:hidden; }
.f-hero-ghost-left { transform:perspective(1200px) rotateY(18deg) scale(.8) translateX(5vw);opacity:.2;filter:blur(2px); }
.f-hero-ghost-right { transform:perspective(1200px) rotateY(-18deg) scale(.8) translateX(-5vw);opacity:.2;filter:blur(2px); }
.f-hero-ghost img { width:100%;height:100%;object-fit:cover;filter:grayscale(.7); }
.f-ghp { width:100%;height:100%;background:#0a0a0a; }
.f-hero-arrow { position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;background:rgba(3,3,3,.65);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.38);font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;backdrop-filter:blur(8px); }
.f-hero-arrow:hover { border-color:rgba(255,255,255,.38);color:#fff; }
.f-hero-arrow-prev { left:18px; }
.f-hero-arrow-next { right:18px; }
.f-hero-scroll-hint { position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:8px;letter-spacing:.38em;color:#222;text-transform:uppercase; }
.f-hero-scroll-line { width:1px;height:26px;background:linear-gradient(to bottom,#2a2a2a,transparent); }
/* Sections */
.f-sec { position:relative;border-top:1px solid #0c0c0c; }
.f-sec-label { font-size:8px;letter-spacing:.55em;color:#1e1e1e;text-transform:uppercase; }
/* Raison */
.f-raison { padding:100px 80px; }
.f-raison-inner { display:grid;grid-template-columns:220px 1fr;gap:80px;align-items:start;margin-top:60px; }
.f-raison-bignum { font-family:var(--gabriel);font-size:clamp(100px,14vw,200px);color:#0a0a0a;line-height:1;letter-spacing:-.04em;font-weight:400;margin-top:-20px; }
.f-raison-eyebrow { font-size:8px;letter-spacing:.42em;color:rgba(255,255,255,0.70);text-transform:uppercase;margin-bottom:18px; }
.f-raison-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(26px,3.5vw,44px);color:#fff;line-height:1.1;letter-spacing:-.02em;margin-bottom:28px; }
.f-raison-text { font-size:14px;line-height:1.95;color:#777;font-family:var(--gabriel);max-width:520px; }
/* Observations */
.f-obs { padding:0 80px 100px; }
.f-obs-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:48px;padding-top:100px; }
.f-obs-list { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#0a0a0a; }
.f-obs-item { background:#030303;padding:52px 44px;position:relative;overflow:hidden;transition:background .3s; }
.f-obs-item:hover { background:#060606; }
.f-obs-item::after { content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:rgba(255,255,255,0.12);transition:width .5s ease; }
.f-obs-item:hover::after { width:100%; }
.f-obs-n { font-family:var(--gabriel);font-size:80px;color:#0c0c0c;line-height:1;margin-bottom:28px;font-weight:400; }
.f-obs-text { font-size:13px;line-height:1.9;color:#666; }
/* Media */
.f-media { padding:100px 80px; }
.f-media-head { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:40px; }
.f-media-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(24px,3vw,38px);color:#fff;letter-spacing:-.01em; }
.f-media-hint { font-size:9px;letter-spacing:.3em;color:#333;text-transform:uppercase; }
.f-media-grid { display:grid;grid-template-columns:repeat(12,1fr);gap:3px; }
.f-mi { overflow:hidden;cursor:pointer;position:relative;background:#080808; }
.f-mi:nth-child(1) { grid-column:span 8;min-height:520px; }
.f-mi:nth-child(2) { grid-column:span 4;min-height:252px; }
.f-mi:nth-child(3) { grid-column:span 4;min-height:252px; }
.f-mi:nth-child(n+4) { grid-column:span 4;min-height:220px; }
.f-mi img,.f-mi video { width:100%;height:100%;object-fit:cover;transition:transform .7s ease,opacity .4s; }
.f-mi:hover img,.f-mi:hover video { transform:scale(1.05); }
.f-mi-type { position:absolute;top:14px;right:14px;font-size:7px;letter-spacing:.2em;color:#fff;background:rgba(255,255,255,0.55);padding:4px 10px;text-transform:uppercase; }
.f-mi-placeholder { grid-column:span 12;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;border:1px dashed #0f0f0f; }
.f-mi-ph-icon { font-size:9px;letter-spacing:.5em;color:#1a1a1a;text-transform:uppercase;margin-bottom:14px; }
.f-mi-ph-sub { font-size:10px;color:#111;letter-spacing:.08em; }
/* Certification */
.f-chain { padding:100px 80px;background:#020202; }
.f-chain-inner { display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;margin-top:60px; }
.f-chain-eye { font-size:8px;letter-spacing:.45em;color:#7b3fe4;text-transform:uppercase;margin-bottom:20px; }
.f-chain-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(36px,5vw,64px);color:#fff;line-height:.95;letter-spacing:-.02em;margin-bottom:20px; }
.f-chain-sub { font-size:10px;letter-spacing:.28em;color:#2a2a2a;text-transform:uppercase; }
.f-chain-card { border:1px solid #111;padding:44px;position:relative;overflow:hidden; }
.f-chain-scan { position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 0%,#7b3fe4 50%,transparent 100%);animation:f-scan 3.5s linear infinite; }
@keyframes f-scan { 0%{top:0;opacity:0} 8%{opacity:1} 92%{opacity:1} 100%{top:100%;opacity:0} }
.f-chain-row { display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #0c0c0c; }
.f-chain-row:last-child { border-bottom:none; }
.f-chain-k { font-size:9px;letter-spacing:.28em;color:#2a2a2a;text-transform:uppercase; }
.f-chain-v { font-family:'Courier New',monospace;font-size:11px;color:#555; }
.f-chain-ok { color:#4ade80;font-family:var(--sans);letter-spacing:.1em;font-size:10px; }
.f-chain-hash { font-size:9px;color:#2a2a2a; }
/* Distinctions liées */
.f-related { padding:100px 80px 80px; }
.f-related-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(22px,3vw,38px);color:#fff;letter-spacing:-.01em;margin-top:48px;margin-bottom:40px; }
.f-rel-scroll { overflow-x:auto;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch; }
.f-rel-scroll::-webkit-scrollbar { display:none; }
.f-rel-scroll.dragging { cursor:grabbing; }
.f-rel-track { display:flex;gap:1px;width:max-content; }
.f-rel-card { width:300px;flex-shrink:0;background:#060606;padding:40px 34px;cursor:pointer;transition:background .2s;border:1px solid transparent; }
.f-rel-card:hover { background:#0b0b0b;border-color:#111; }
.f-rel-num { font-size:8px;letter-spacing:.3em;color:#1e1e1e;margin-bottom:14px; }
.f-rel-name { font-family:var(--gabriel);font-weight:200;font-size:20px;color:#ccc;margin-bottom:10px;letter-spacing:-.005em; }
.f-rel-loc { font-size:9px;color:#333;letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px; }
.f-rel-tag { font-size:8px;letter-spacing:.22em;color:rgba(255,255,255,0.70);text-transform:uppercase; }
@media(max-width:900px){
  .fiche-nav{padding:16px 24px;}
  .f-hero-content{padding:0 24px 80px;} .f-hero-bignum{display:none;} .f-hero-hint{display:none;}
  .f-raison,.f-obs,.f-media,.f-chain,.f-related{padding-left:24px;padding-right:24px;}
  .f-raison-inner{grid-template-columns:1fr;gap:24px;} .f-raison-bignum{display:none;}
  .f-obs-list{grid-template-columns:1fr;}
  .f-media-grid{grid-template-columns:1fr 1fr;} .f-mi:nth-child(1){grid-column:span 2;}
  .f-mi:nth-child(2),.f-mi:nth-child(3){grid-column:span 1;} .f-mi:nth-child(n+4){grid-column:span 1;}
  .f-chain-inner{grid-template-columns:1fr;gap:40px;}
}

/* ══ FAVORIS / PLAN ══ */
#plan-fab {
  position: fixed; bottom: 32px; right: 32px; z-index: 850;
  display: none; align-items: center; gap: 10px;
  background:rgba(255,255,255,0.12); color: #fff; border: none; cursor: pointer;
  padding: 14px 20px 14px 16px; font-family: var(--sans);
  font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase;
  box-shadow: 0 8px 32px rgba(255,255,255,0.26); transition: all 0.25s;
  animation: fadeUp 0.3s ease;
}
#plan-fab:hover { background: #cc0000; transform: translateY(-2px); }
#plan-fab-count { background: #fff; color:rgba(255,255,255,0.70); width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 600; flex-shrink: 0; }
#plan-overlay {
  display: none; position: fixed; inset: 0; z-index: 880; background: rgba(4,4,4,0.97); backdrop-filter: blur(12px); overflow-y: auto;
}
#plan-overlay.open { display: flex; flex-direction: column; }
.plan-ov-header { padding: 48px 56px 36px; border-bottom: 1px solid #0d0d0d; display: flex; justify-content: space-between; align-items: flex-start; flex-shrink: 0; }
.plan-ov-title { font-family: var(--gabriel); font-weight: 200; font-size: clamp(32px,4vw,52px); color: #fff; letter-spacing: -0.02em; }
.plan-ov-sub { font-size: 11px; color: #555; margin-top: 8px; letter-spacing: 0.04em; }
.plan-ov-actions { display: flex; gap: 12px; align-items: center; }
.plan-ov-close { background: transparent; border: 1px solid #222; color: #666; width: 44px; height: 44px; cursor: pointer; font-size: 18px; display: flex; align-items: center; justify-content: center; transition: all 0.2s; font-family: var(--sans); }
.plan-ov-close:hover { border-color: #fff; color: #fff; }
.plan-ov-print { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; background: #fff; color: #000; border: none; font-family: var(--sans); padding: 12px 20px; cursor: pointer; transition: opacity 0.2s; }
.plan-ov-print:hover { opacity: 0.85; }
.plan-ov-grid { padding: 48px 56px 80px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #0d0d0d; }
.plan-ov-card { background: #050505; padding: 28px 24px; position: relative; }
.plan-ov-card-num { font-size: 8px; letter-spacing: 0.3em; color: #333; margin-bottom: 12px; }
.plan-ov-card-name { font-family: var(--gabriel); font-weight: 200; font-size: 18px; color: #fff; margin-bottom: 6px; letter-spacing: -0.005em; }
.plan-ov-card-domain { font-size: 8px; letter-spacing: 0.3em; color:rgba(255,255,255,0.70); text-transform: uppercase; margin-bottom: 6px; }
.plan-ov-card-loc { font-size: 9px; color: #555; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 12px; }
.plan-ov-card-desc { font-size: 11px; line-height: 1.7; color: #666; }
.plan-ov-remove { position: absolute; top: 16px; right: 16px; background: transparent; border: none; color: #333; cursor: pointer; font-size: 14px; transition: color 0.2s; }
.plan-ov-remove:hover { color:rgba(255,255,255,0.70); }
.plan-ov-empty { padding: 80px 56px; text-align: center; color: #333; font-size: 13px; letter-spacing: 0.08em; }
@media(max-width:900px){
  .plan-ov-header{padding:32px 24px 24px;} .plan-ov-grid{padding:24px;grid-template-columns:1fr 1fr;}
  #plan-fab{bottom:80px;}
}

/* ══ FAB MON PLAN ══ */
#fab-plan { display:none;position:fixed;bottom:36px;right:36px;z-index:850;background:rgba(255,255,255,0.12);color:#fff;border:none;padding:15px 28px;font-size:9px;letter-spacing:0.28em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);box-shadow:0 4px 24px rgba(255,255,255,0.23);transition:opacity .2s,transform .2s; }
#fab-plan:hover { opacity:.85;transform:translateY(-2px); }
#fab-plan #fab-count { font-family:var(--gabriel);font-style:italic;font-size:13px;letter-spacing:0;margin-left:6px; }

/* ══ MON PLAN OVERLAY ══ */
#mon-plan-overlay { display:none;position:fixed;inset:0;z-index:890;background:rgba(4,4,4,.97);overflow-y:auto;backdrop-filter:blur(12px); }
.mon-plan-inner { max-width:1100px;margin:0 auto;padding:80px 48px; }
.mon-plan-header { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:60px;border-bottom:1px solid #151515;padding-bottom:32px; }
.mon-plan-eye { font-size:8px;letter-spacing:0.4em;color:rgba(255,255,255,0.70);text-transform:uppercase;margin-bottom:12px; }
.mon-plan-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(28px,4vw,52px);color:#fff;letter-spacing:-0.02em; }
.mon-plan-close { background:transparent;border:none;color:#555;cursor:pointer;font-size:20px;transition:color .2s; }
.mon-plan-close:hover { color:#fff; }
.mon-plan-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:#111; }
.mp-card { background:#070707;padding:32px 28px;cursor:pointer;transition:background .2s; }
.mp-card:hover { background:#0e0e0e; }
.mp-card-num { font-size:8px;letter-spacing:0.3em;color:#333;margin-bottom:10px; }
.mp-card-name { font-family:var(--gabriel);font-weight:200;font-size:18px;color:#ccc;margin-bottom:8px;letter-spacing:-0.005em; }
.mp-card-loc { font-size:9px;color:#555;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:14px; }
.mp-card-tag { font-size:8px;letter-spacing:0.2em;color:rgba(255,255,255,0.70);text-transform:uppercase; }
.mp-card-remove { display:block;margin-top:16px;background:transparent;border:none;color:#333;font-size:9px;letter-spacing:0.15em;cursor:pointer;font-family:var(--sans);text-transform:uppercase;transition:color .2s;padding:0; }
.mp-card-remove:hover { color:rgba(255,255,255,0.70); }
.mon-plan-footer { margin-top:48px;padding-top:32px;border-top:1px solid #111;text-align:center; }
.mon-plan-footer-eye { font-size:9px;letter-spacing:0.2em;color:#555;text-transform:uppercase;margin-bottom:20px; }
.mon-plan-clear { background:transparent;border:1px solid #222;color:#555;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;padding:12px 28px;cursor:pointer;font-family:var(--sans);transition:all .2s; }
.mon-plan-clear:hover { border-color:rgba(255,255,255,0.70);color:rgba(255,255,255,0.70); }

/* ══ HERO HOME ══ */
.btn-primary { font-size:10px;letter-spacing:.28em;text-transform:uppercase;background:linear-gradient(155deg,rgba(255,255,255,.97) 0%,rgba(235,235,235,1) 100%);color:#000;border:1px solid rgba(255,255,255,.62);font-family:var(--sans);padding:16px 36px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.46) inset,0 1px 0 rgba(255,255,255,.92) inset,0 6px 24px rgba(0,0,0,.45); }
.btn-primary::before { content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.65),transparent);pointer-events:none; }
.btn-primary:hover { opacity:1;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.56) inset,0 1px 0 rgba(255,255,255,1) inset,0 10px 32px rgba(0,0,0,.45); }
.btn-outline { font-size:10px;letter-spacing:.28em;text-transform:uppercase;background:rgba(255,255,255,.03);color:#fff;border:1px solid rgba(255,255,255,.2);font-family:var(--sans);padding:16px 36px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 4px 16px rgba(0,0,0,.32);backdrop-filter:blur(8px); }
.btn-outline::before { content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);pointer-events:none; }
.btn-outline:hover { background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.4);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 6px 22px rgba(0,0,0,.32);transform:translateY(-1px); }
.hero-img-panel { position:absolute;top:0;right:0;bottom:0;width:52%;overflow:hidden;z-index:1; }
.hero-img-panel img { width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.7;filter:grayscale(10%); }
.hero-img-fade-l { position:absolute;inset:0;background:linear-gradient(to right,#080808 0%,rgba(8,8,8,.3) 30%,transparent 58%); }
.hero-img-fade-b { position:absolute;inset:0;background:linear-gradient(to top,#080808 0%,transparent 28%); }
.hero-red-glow { position:absolute;top:0;right:8%;width:58%;height:100%;background:radial-gradient(ellipse 68% 72% at 52% 38%,rgba(255,255,255,0.08) 0%,transparent 65%);pointer-events:none;z-index:2; }

/* ══ FICHE HERO MOBILE ══ */
@media(max-width:900px){
  .f-hero-card-wrap { width:88vw;height:78vh; }
  .f-hero-ghost { display:none; }
  .f-hero-arrow-prev { left:6px; }
  .f-hero-arrow-next { right:6px; }
  .f-hero-content { padding:14px 18px 18px; }
}


/* ══════════════════════════════════════════════════════════
   LIQUID GLASS — Tous les boutons du site (v3, full coverage)
   ══════════════════════════════════════════════════════════ */

/* — Base commune: position + overflow + transition */
.btn-primary,.btn-outline,.nav-cta,.nav-account-btn,
.submit-btn,.modal-btn,.login-btn,.nl-btn,.nl-skip,
.po-btn,.cb-btn,.lect-foot-btn,.mon-plan-clear,
.fiche-back,.plan-ov-print,.plan-ov-close,.po-close,
.actu-page-btn,.actu-pnum,.ftab,.actu-ftab,
.df-reset,.actu-freset,.c-type-btn,.c-merci-btn,
.dv-btn,.dom-detail-close,.modal-cancel,
.actu-read-link,.mon-plan-close,.mp-card-remove,
#sv-lb-close,.fiche-fav-btn,.fiche-back {
  position:relative!important;
  overflow:hidden!important;
  transition:all .3s cubic-bezier(.4,0,.2,1)!important;
}
.legal-modal-close {
  white-space:nowrap!important;
  flex-shrink:0!important;
  overflow:visible!important;
}
.legal-modal-title {
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding-right:16px;min-width:0;
}

/* — Ligne lumière (::before) sur les boutons principaux */
.btn-primary::before,.btn-outline::before,.nav-cta::before,
.submit-btn::before,.modal-btn::before,.login-btn::before,
.nl-btn::before,.po-btn::before,.cb-btn::before,
.lect-foot-btn::before,.fiche-back::before,
.plan-ov-print::before,.plan-ov-close::before,.po-close::before,
.actu-page-btn::before,.df-reset::before,.actu-freset::before,
#sv-lb-close::before {
  content:''!important;
  position:absolute!important;
  top:0!important;left:12%!important;right:12%!important;
  height:1px!important;
  background:linear-gradient(to right,transparent,rgba(255,255,255,.22),transparent)!important;
  pointer-events:none!important;
  z-index:2!important;
}

/* ── 1. BLANC GLASS PILL — actions principales ─────────── */
.btn-primary,.submit-btn,.modal-btn,.plan-ov-print,
.nl-btn,.cb-btn.accept {
  background:linear-gradient(160deg,rgba(255,255,255,.97) 0%,rgba(212,212,212,1) 100%)!important;
  color:#000!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:999px!important;
  box-shadow:
    0 0 0 1.5px rgba(255,255,255,.48) inset,
    0 2px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(0,0,0,.12) inset,
    0 8px 32px rgba(0,0,0,.55),
    0 2px 8px rgba(0,0,0,.28)!important;
}
.btn-primary::before,.submit-btn::before,.modal-btn::before,
.plan-ov-print::before,.nl-btn::before,.cb-btn.accept::before {
  background:linear-gradient(to right,transparent,rgba(255,255,255,.7),transparent)!important;
}
.btn-primary:hover,.submit-btn:hover,.modal-btn:hover,
.plan-ov-print:hover,.nl-btn:hover,.cb-btn.accept:hover {
  opacity:1!important;
  transform:translateY(-2px)!important;
  background:linear-gradient(160deg,rgba(255,255,255,1) 0%,rgba(228,228,228,1) 100%)!important;
  box-shadow:
    0 0 0 1.5px rgba(255,255,255,.58) inset,
    0 2px 0 rgba(255,255,255,.98) inset,
    0 -1px 0 rgba(0,0,0,.06) inset,
    0 14px 42px rgba(0,0,0,.55),
    0 0 70px rgba(255,255,255,.07)!important;
}

/* ── 2. ROUGE GLASS PILL — rouge principal ─────────────── */
.nav-account-btn,
.c-type-btn.active,
.actu-pnum.on {
  border-radius:999px!important;
  background:linear-gradient(155deg,rgba(255,255,255,0.61) 0%,rgba(90,6,0,.98) 100%)!important;
  border:1px solid rgba(255,65,65,.32)!important;
  color:#fff!important;
  box-shadow:
    0 0 0 1px rgba(255,110,110,.14) inset,
    0 2px 0 rgba(255,190,190,.18) inset,
    0 -1px 0 rgba(0,0,0,.15) inset,
    0 6px 24px rgba(0,0,0,.45),
    0 0 28px rgba(255,255,255,0.14)!important;
}
.nav-account-btn::before,.c-type-btn.active::before,.actu-pnum.on::before {
  background:linear-gradient(to right,transparent,rgba(255,255,255,.32),transparent)!important;
}
.nav-account-btn:hover {
  background:linear-gradient(155deg,rgba(255,255,255,0.63) 0%,rgba(255,255,255,0.65) 100%)!important;
  border-color:rgba(255,95,95,.48)!important;
  box-shadow:
    0 0 0 1px rgba(255,140,140,.2) inset,
    0 2px 0 rgba(255,210,210,.22) inset,
    0 8px 28px rgba(0,0,0,.45),
    0 0 50px rgba(255,255,255,0.23)!important;
  transform:translateY(-2px)!important;
}

/* ── 3. SOMBRE GLASS PILL — outline/secondaires ─────────── */
.btn-outline,.nav-cta,.lect-foot-btn,.mon-plan-clear,
.fiche-back,.actu-page-btn,.c-merci-btn,.dom-detail-close,
.legal-modal-close,.po-close,.plan-ov-close,
#sv-lb-close,.df-reset,.actu-freset,.cb-btn.refuse,
.modal-cancel,.actu-read-link,.nl-skip,.dv-btn {
  background:rgba(255,255,255,.04)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.07) inset,
    0 1.5px 0 rgba(255,255,255,.14) inset,
    0 6px 22px rgba(0,0,0,.38)!important;
}
.btn-outline:hover,.nav-cta:hover,.lect-foot-btn:hover,
.mon-plan-clear:hover,.fiche-back:hover,
.dom-detail-close:hover,.legal-modal-close:hover,
.po-close:hover,.plan-ov-close:hover,
#sv-lb-close:hover,.df-reset:hover,.actu-freset:hover,
.cb-btn.refuse:hover,.modal-cancel:hover,.actu-read-link:hover,
.nl-skip:hover {
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.36)!important;
  color:#fff!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.1) inset,
    0 1.5px 0 rgba(255,255,255,.2) inset,
    0 10px 30px rgba(0,0,0,.38)!important;
  transform:translateY(-2px)!important;
}
.actu-page-btn:hover:not(:disabled) {
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.36)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
.actu-page-btn:disabled { opacity:.18!important; transform:none!important; }
.cb-btn.refuse { color:#888!important; }
.cb-btn.refuse:hover { color:#fff!important; }
.modal-cancel { color:#aaa!important; }
.nl-skip { color:#444!important; }
.actu-read-link { color:#aaa!important; padding:5px 16px!important; }

/* ── 4. LOGIN btn (blanc + sombre secondaire) ───────────── */
.login-btn {
  border-radius:999px!important;
  background:linear-gradient(160deg,rgba(255,255,255,.97) 0%,rgba(212,212,212,1) 100%)!important;
  color:#000!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:
    0 0 0 1.5px rgba(255,255,255,.48) inset,
    0 2px 0 rgba(255,255,255,.9) inset,
    0 8px 28px rgba(0,0,0,.5)!important;
}
.login-btn:hover { opacity:1!important; transform:translateY(-2px)!important; }
/* Login btns secondaires (avec inline style transparent) */
#ls-send-btn ~ .login-btn,
#ls-verify-btn ~ .login-btn,
#ls-access-btn ~ .login-btn {
  background:rgba(255,255,255,.04)!important;
  color:#888!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 5px 16px rgba(0,0,0,.32)!important;
}
#ls-send-btn ~ .login-btn:hover,
#ls-verify-btn ~ .login-btn:hover,
#ls-access-btn ~ .login-btn:hover {
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.28)!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
}

/* ── 5. PLANS OVERLAY btn ────────────────────────────────── */
.po-btn {
  border-radius:999px!important;
  backdrop-filter:blur(12px)!important;
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 1.5px 0 rgba(255,255,255,.12) inset,
    0 6px 20px rgba(0,0,0,.32)!important;
}
.po-btn:hover {
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.32)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.1) inset,
    0 1.5px 0 rgba(255,255,255,.18) inset,
    0 10px 28px rgba(0,0,0,.32)!important;
  transform:translateY(-2px)!important;
}
.po-plan.featured .po-btn {
  background:linear-gradient(160deg,rgba(255,255,255,.97) 0%,rgba(212,212,212,1) 100%)!important;
  color:#000!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 0 0 1.5px rgba(255,255,255,.48) inset,0 2px 0 rgba(255,255,255,.9) inset,0 8px 28px rgba(0,0,0,.5)!important;
}
.po-plan.featured .po-btn:hover {
  opacity:1!important;
  transform:translateY(-2px)!important;
  box-shadow:0 0 0 1.5px rgba(255,255,255,.58) inset,0 2px 0 rgba(255,255,255,.98) inset,0 14px 38px rgba(0,0,0,.5)!important;
}

/* ── 6. TABS / FILTRES ───────────────────────────────────── */
.ftab,.actu-ftab {
  border-radius:999px!important;
  backdrop-filter:blur(10px)!important;
  background:rgba(255,255,255,.02)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 3px 10px rgba(0,0,0,.24)!important;
}
.ftab.on,.ftab:hover,.actu-ftab.on,.actu-ftab:hover {
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.32)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.1) inset,0 5px 18px rgba(0,0,0,.24)!important;
}

/* ── 7. VIEW TOGGLE & FICHE FAV ──────────────────────────── */
.dv-btn {
  background:rgba(255,255,255,.03)!important;
  border-radius:3px!important;
}
.dv-btn.active {
  border-color:rgba(255,255,255,0.27)!important;
  background:rgba(255,255,255,0.07)!important;
  color:rgba(255,255,255,0.70)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,0.09) inset,0 0 20px rgba(255,255,255,0.1)!important;
}
.fiche-fav-btn {
  backdrop-filter:blur(10px)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 4px 16px rgba(0,0,0,.38)!important;
}
.fiche-fav-btn.active {
  background:rgba(255,255,255,0.12)!important;
  border-color:rgba(255,255,255,0.34)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,0.14) inset,0 4px 16px rgba(0,0,0,.38),0 0 26px rgba(255,255,255,0.14)!important;
}

/* ── 8. MON PLAN close ───────────────────────────────────── */
.mon-plan-close {
  border-radius:999px!important;
  width:38px!important;height:38px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.04)!important;
  backdrop-filter:blur(8px)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.mon-plan-close:hover {
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.25)!important;
  color:#fff!important;
}

/* ── 9. MP-CARD-REMOVE ───────────────────────────────────── */
.mp-card-remove {
  border-radius:999px!important;
  padding:5px 14px!important;
  border:1px solid rgba(255,255,255,.06)!important;
}
.mp-card-remove:hover {
  color:rgba(255,255,255,0.70)!important;
  border-color:rgba(255,255,255,0.21)!important;
  background:rgba(255,255,255,0.04)!important;
}

/* ── 10. COOKIE bar padding ──────────────────────────────── */
.cb-btn { padding:10px 26px!important; }

/* ── 11. C-TYPE-BTN ──────────────────────────────────────── */
.c-type-btn {
  border-radius:0!important;
  background:rgba(255,255,255,.02)!important;
  backdrop-filter:blur(6px)!important;
}
.c-type-btn:hover:not(.active) {
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.22)!important;
}


/* ══════════════════════════════════════════════════════════
   LIQUID GLASS PILL — L'Augure · Uniformisation complète
   ══════════════════════════════════════════════════════════ */

/* 1. Forme pilule universelle */
.btn-primary,.btn-outline,.nav-cta,.nav-account-btn,
.submit-btn,.modal-btn,.login-btn,.nl-btn,.nl-skip,
.po-btn,.cb-btn,.lect-foot-btn,.mon-plan-clear,
.fiche-back,.plan-ov-print,.plan-ov-close,.po-close,
.actu-page-btn,.df-reset,.actu-freset,.c-type-btn,.c-merci-btn,
.dom-detail-close,.legal-modal-close,.modal-cancel,
.actu-read-link,.mp-card-remove,.mon-plan-close,
#sv-lb-close,.fiche-fav-btn,.ftab,.actu-ftab,.dv-btn,
.fd-nav-btn,.fd-nav-close,.fd-arrow,.fd-fnav-btn,
.ex-filter-reset,.fd-ecoute-btn,
.ex-hero-btn,.ex-hero-btn2,.ex-rp-fiche-btn,.ex-rp-act,
.ex-sb-add,.ex-sb-reset,.ex-gate-btn {
  border-radius:999px!important;
}

/* 2. ROUGE VERRE — tous les boutons d'action primaire */
.btn-primary,.submit-btn,.modal-btn,.plan-ov-print,
.nl-btn,.cb-btn.accept,.login-btn,
.po-plan.featured .po-btn {
  background:linear-gradient(155deg,rgba(255,255,255,0.6) 0%,rgba(155,0,0,.97) 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,0.25)!important;
  box-shadow:
    0 0 0 1px rgba(255,115,100,.16) inset,
    0 2px 0 rgba(255,185,165,.17) inset,
    0 -1px 0 rgba(0,0,0,.22) inset,
    0 10px 36px rgba(0,0,0,.58),
    0 3px 14px rgba(255,255,255,0.21)!important;
}
.btn-primary::before,.submit-btn::before,.modal-btn::before,
.plan-ov-print::before,.nl-btn::before,.cb-btn.accept::before,
.login-btn::before {
  background:linear-gradient(to right,transparent,rgba(255,165,145,.42),transparent)!important;
}
.btn-primary:hover,.submit-btn:hover,.modal-btn:hover,
.plan-ov-print:hover,.nl-btn:hover,.cb-btn.accept:hover,
.login-btn:hover {
  opacity:1!important;
  background:linear-gradient(155deg,rgba(255,20,10,.96) 0%,rgba(200,0,0,1) 100%)!important;
  border-color:rgba(255,255,255,0.34)!important;
  box-shadow:
    0 0 0 1px rgba(255,145,125,.22) inset,
    0 2px 0 rgba(130,18,0,.22) inset,
    0 -1px 0 rgba(0,0,0,.14) inset,
    0 14px 44px rgba(0,0,0,.58),
    0 0 55px rgba(255,255,255,0.25)!important;
  transform:translateY(-2px)!important;
}

/* 3. VERRE SOMBRE ROUGE — boutons secondaires */
.btn-outline,.nav-cta,.lect-foot-btn,.mon-plan-clear,
.fiche-back,.actu-page-btn,.c-merci-btn,.dom-detail-close,
.legal-modal-close,.po-close,.plan-ov-close,.po-btn,
#sv-lb-close,.df-reset,.actu-freset,.cb-btn.refuse,
.modal-cancel,.actu-read-link,.nl-skip,.dv-btn,
.fd-nav-btn,.fd-nav-close,.fd-fnav-btn,.ex-filter-reset {
  background:rgba(10,3,3,.84)!important;
  border:1px solid rgba(255,255,255,0.13)!important;
  color:#fff!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -1px 0 rgba(0,0,0,.4),
    0 6px 24px rgba(0,0,0,.52)!important;
}
.btn-outline::before,.nav-cta::before,.lect-foot-btn::before,
.fd-nav-btn::before {
  background:linear-gradient(to right,transparent,rgba(255,255,255,0.08),transparent)!important;
}
.btn-outline:hover,.nav-cta:hover,.lect-foot-btn:hover,
.mon-plan-clear:hover,.fiche-back:hover,
.dom-detail-close:hover,.legal-modal-close:hover,
.po-close:hover,.plan-ov-close:hover,
#sv-lb-close:hover,.df-reset:hover,.actu-freset:hover,
.cb-btn.refuse:hover,.modal-cancel:hover,.actu-read-link:hover,
.nl-skip:hover,.fd-nav-btn:hover,.fd-nav-close:hover,
.fd-fnav-btn:hover,.ex-filter-reset:hover,.po-btn:hover,
.actu-page-btn:hover:not(:disabled) {
  background:rgba(16,4,4,.9)!important;
  border-color:rgba(255,255,255,0.31)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -1px 0 rgba(0,0,0,.4),
    0 10px 32px rgba(0,0,0,.52),
    0 0 16px rgba(255,255,255,0.08)!important;
  transform:translateY(-2px)!important;
}

/* 4. Petits boutons ronds (flèches, close, fav) */
.fd-arrow,.mon-plan-close,.mp-card-remove,.fiche-fav-btn {
  background:rgba(10,3,3,.82)!important;
  border:1px solid rgba(255,255,255,0.12)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 4px 14px rgba(0,0,0,.5)!important;
}
.fd-arrow:hover,.mon-plan-close:hover,.mp-card-remove:hover {
  border-color:rgba(255,255,255,0.33)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    0 4px 18px rgba(0,0,0,.5),
    0 0 10px rgba(255,255,255,0.09)!important;
  transform:translateY(-1px)!important;
}

/* 5. Écoute btn */
.fd-ecoute-btn {
  background:rgba(10,3,3,.75)!important;
  border:1px solid rgba(255,255,255,0.12)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 5px 18px rgba(0,0,0,.45)!important;
}
.fd-ecoute-btn:hover {
  border-color:rgba(255,255,255,0.27)!important;
  transform:translateY(-1px)!important;
}

/* 6. ftab / filtres pilule */
.ftab,.actu-ftab {
  background:rgba(10,3,3,.72)!important;
  border:1px solid rgba(255,255,255,0.09)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 3px 10px rgba(0,0,0,.38)!important;
}
.ftab.on,.ftab:hover,.actu-ftab.on,.actu-ftab:hover {
  background:rgba(255,255,255,0.08)!important;
  border-color:rgba(255,255,255,0.27)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 5px 18px rgba(0,0,0,.38),0 0 14px rgba(255,255,255,0.07)!important;
}

/* 7. dv-btn vue toggle */
.dv-btn {
  background:rgba(10,3,3,.72)!important;
  border:1px solid rgba(255,255,255,0.09)!important;
}
.dv-btn.active {
  background:rgba(255,255,255,0.09)!important;
  border-color:rgba(255,255,255,0.31)!important;
  color:rgba(255,255,255,0.70)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.09),0 0 20px rgba(255,255,255,0.12)!important;
}

/* 8. Couleurs texte ajustées */
.cb-btn.refuse,.nl-skip { color:rgba(255,255,255,.65)!important; }
.cb-btn.refuse:hover,.nl-skip:hover { color:#fff!important; }
.modal-cancel { color:rgba(255,255,255,.55)!important; }
.actu-read-link { color:rgba(255,255,255,.7)!important; }
.actu-read-link:hover { color:#fff!important; }

/* 9. Explorer — boutons manquants */
.ex-hero-btn {
  background:linear-gradient(155deg,rgba(255,255,255,0.6) 0%,rgba(155,0,0,.97) 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,0.25)!important;
  box-shadow:inset 0 1px 0 rgba(255,115,100,.16),inset 0 -1px 0 rgba(0,0,0,.22),
    0 10px 36px rgba(0,0,0,.58),0 3px 14px rgba(255,255,255,0.21)!important;
  position:relative!important;overflow:hidden!important;
}
.ex-hero-btn:hover {
  background:linear-gradient(155deg,rgba(255,20,10,.96) 0%,rgba(200,0,0,1) 100%)!important;
  transform:translateY(-2px)!important;
  box-shadow:inset 0 1px 0 rgba(255,145,125,.22),0 14px 44px rgba(0,0,0,.58),0 0 55px rgba(255,255,255,0.25)!important;
}
.ex-hero-btn2,.ex-rp-act,.ex-sb-add,.ex-gate-btn {
  background:rgba(10,3,3,.84)!important;
  border:1px solid rgba(255,255,255,0.13)!important;
  color:#fff!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.4),
    0 6px 24px rgba(0,0,0,.52)!important;
}
.ex-hero-btn2:hover,.ex-rp-act:hover,.ex-sb-add:hover,.ex-gate-btn:hover {
  border-color:rgba(255,255,255,0.31)!important;
  transform:translateY(-2px)!important;
}
.ex-rp-fiche-btn {
  background:rgba(10,3,3,.84)!important;
  border:1px solid rgba(255,255,255,0.16)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 6px 24px rgba(0,0,0,.52)!important;
  border-radius:999px!important;
}
.ex-rp-fiche-btn:hover {
  background:linear-gradient(155deg,rgba(255,255,255,0.57) 0%,rgba(155,0,0,.94) 100%)!important;
  border-color:rgba(255,255,255,0.70)!important;
  transform:translateY(-1px)!important;
}

/* 10. fd-nav-btn — sans cercle rouge, border blanc discret */
.fd-nav-btn,.fd-nav-close {
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 4px 14px rgba(0,0,0,.45)!important;
}
.fd-nav-btn:hover,.fd-nav-close:hover {
  border-color:rgba(255,255,255,.3)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 6px 20px rgba(0,0,0,.45)!important;
  transform:translateY(-1px)!important;
}
/* fd-nav-btn::before — supprimer l'effet rouge */
.fd-nav-btn::before { content:none!important; }

/* 11. dc-tag — pilule discrète */
.dc-tag {
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:999px!important;
  padding:3px 10px 3px 6px!important;
  color:rgba(255,255,255,.7)!important;
}
.view-visual .dc-tag {
  padding:3px 10px 3px 6px!important;
  margin:0 18px 18px!important;
  display:inline-flex!important;
}

/* 12. ex-rp-vtab (Photo / Vidéo tabs) */
.ex-rp-vtab {
  border-radius:3px!important;
  border:1px solid rgba(255,255,255,.06)!important;
}
.ex-rp-vtab.active {
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.2)!important;
  border-bottom:2px solid rgba(255,255,255,.35)!important;
  color:#fff!important;
}

/* ══════════════════════════════════════════════════════════
   GLASS BACKGROUNDS — Grain, lueurs ambiantes, profondeur
   ══════════════════════════════════════════════════════════ */

/* Corps du fond — gradient très subtil (pas flat) */
body {
  background:linear-gradient(160deg,#0d0809 0%,#070709 38%,#08080b 68%,#090808 100%)!important;
}

/* ── Grain texture fixe — matière verre ────────────────── */
body::before {
  content:'';
  position:fixed;
  inset:0;
  z-index:9988;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23g)'/%3E%3C/svg%3E");
  background-size:180px 180px;
  background-repeat:repeat;
  opacity:0.042;
  mix-blend-mode:soft-light;
}

/* ── Lueur ambiante rouge — réfraction lumineuse ───────── */
#glass-l1 {
  position:fixed;
  top:-35vh;right:-18vw;
  width:90vw;height:85vh;
  background:radial-gradient(ellipse at 55% 30%,rgba(255,255,255,0.04) 0%,rgba(255,255,255,0.01) 42%,transparent 68%);
  pointer-events:none;
  z-index:1;
  animation:glassL1 16s ease-in-out infinite alternate;
}
@keyframes glassL1 {
  0%  { opacity:.6;  transform:translate(0,0) scale(1); }
  100%{ opacity:1;   transform:translate(-5vw,4vh) scale(1.1); }
}

/* ── Lueur ambiante froide — profondeur verre ──────────── */
#glass-l2 {
  position:fixed;
  bottom:-22vh;left:-12vw;
  width:58vw;height:62vh;
  background:radial-gradient(ellipse at 42% 65%,rgba(255,255,255,.016) 0%,transparent 58%);
  pointer-events:none;
  z-index:1;
  animation:glassL2 22s ease-in-out infinite alternate;
}
@keyframes glassL2 {
  0%  { opacity:.45; transform:translate(0,0); }
  100%{ opacity:.88; transform:translate(3vw,-4vh); }
}

/* ── Lueur ambiante centrale — halo vitre ──────────────── */
#glass-l3 {
  position:fixed;
  top:30vh;left:50%;
  transform:translateX(-50%);
  width:70vw;height:40vh;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,0.01) 0%,transparent 60%);
  pointer-events:none;
  z-index:1;
  animation:glassL3 28s ease-in-out infinite alternate;
}
@keyframes glassL3 {
  0%  { opacity:.4; transform:translateX(-50%) scaleX(1); }
  100%{ opacity:.9; transform:translateX(-48%) scaleX(1.12); }
}

/* ── Nav — toujours en verre dépoli ────────────────────── */
nav {
  backdrop-filter:blur(26px) saturate(1.25)!important;
  -webkit-backdrop-filter:blur(26px) saturate(1.25)!important;
  background:rgba(8,8,10,.58)!important;
}
body:has(#p-home.active) nav,
body.page-home nav,
body:has(#p-home.active) #nav,
body.page-home #nav {
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
}
#nav.scrolled {
  background:rgba(7,7,10,.9)!important;
  backdrop-filter:blur(30px) saturate(1.4)!important;
  -webkit-backdrop-filter:blur(30px) saturate(1.4)!important;
}

/* ── Sections fonds sombres — micro gradient profondeur ── */
.proc-section,
.mf-section,
.acces-section,
.qa-section,
#p-blockchain {
  background:linear-gradient(148deg,#050303 0%,#020202 52%,#050403 100%)!important;
}

.sel-section,
#sv-section,
#p-home>.sc-section {
  background:linear-gradient(148deg,#0b0909 0%,#070707 50%,#0a0909 100%)!important;
}

/* ── Hero section ───────────────────────────────────────── */
.hero-section {
  background:linear-gradient(140deg,#0e0809 0%,#070709 45%,#080808 100%)!important;
}

/* ── Overlays + modals en verre dépoli ─────────────────── */
#plans-overlay {
  background:rgba(4,3,4,.96)!important;
  backdrop-filter:blur(18px) saturate(.9)!important;
  -webkit-backdrop-filter:blur(18px) saturate(.9)!important;
}
#fiche-overlay {
  background:linear-gradient(160deg,#040303 0%,#030303 100%)!important;
}
.modal-box,#login-box,#nl-popup,#plan-overlay,#mon-plan-overlay {
  backdrop-filter:blur(20px) saturate(.85)!important;
  -webkit-backdrop-filter:blur(20px) saturate(.85)!important;
}
#sv-lb {
  backdrop-filter:blur(30px) saturate(.55)!important;
  -webkit-backdrop-filter:blur(30px) saturate(.55)!important;
}

/* ── Cookie bar glass ───────────────────────────────────── */
#cookie-bar {
  backdrop-filter:blur(18px) saturate(1.1)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
  background:rgba(10,8,10,.88)!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
}

/* ── Fiche nav glass ────────────────────────────────────── */
.fiche-nav.fn-scrolled {
  backdrop-filter:blur(24px) saturate(1.2)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.2)!important;
  background:rgba(3,3,3,.88)!important;
}

/* ── Inner hero page glass ──────────────────────────────── */
.inner-hero {
  background:linear-gradient(148deg,#0a0909 0%,#070707 55%,#090808 100%)!important;
}

/* ── Dom-detail glass ───────────────────────────────────── */
.dom-detail.open {
  background:linear-gradient(148deg,#060404 0%,#050505 100%)!important;
}


nav { border-bottom:none!important; }

/* ── Textes gris → blanc 97% ────────────────────────────── */
.proc-text,
.sel-row-desc,
.lect-ctext,
.mf-body,
.dom-intro,
.dom-histoire-text,
.ddi-desc,
.f-obs-text,
.f-raison-text,
.actu-item-excerpt,
.cs-desc,
.po-sub,
.sv-head-sub,
.inner-sub,
.footer-brand p,
.form-note,
.actu-featured-excerpt,
.dom-principe-text,
.v-no-sub,
.login-sub,
.nl-sub {
  color:#f5f5f5!important;
}
/* Secondary descriptions : blanc 80% */
.dc-desc,
.ddi-desc,
.cs-desc,
.cg-item p {
  color:#e8e8e8!important;
}

/* ── Espace nav → premier contenu — toutes les pages ────────── */
.ex-hero { margin-top:22px; }
.ex-section:first-of-type { margin-top:8px; }
#dist-page-grid { padding-top:8px; }
.dist-filters { padding-top:16px; }

/* ── Fiche overlay — blanc pur + rouge uniquement ─────────── */
.fd-nav { border-bottom:2px solid #740e00!important; }
.fd-body { padding-top:22px; }
/* Numéros → rouge */
.fd-num-badge,.fd-rel-num { color:rgba(255,255,255,0.70)!important; }
/* "Polygon ✓" dans la pilule stat + onglet Certification */
.fd-stat.cert .fd-stat-val { color:rgba(255,255,255,0.70)!important; }
/* "Écouter la description" → blanc ; "Bientôt disponible" → rouge (déjà) */
.fd-ecoute-label,.fd-ecoute-ic { color:#fff!important; }
/* Tout le reste → blanc 100% */
.fd-nav-center,.fd-nav-btn,.fd-nav-close,
.fd-stat-lbl,.fd-loc,
.fd-desc,.fd-cert-sub,.fd-cert-v,.fd-cert-k,
.fd-rel-name,.fd-rel-loc,.fd-footer-label,
.fd-client-lbl,.fd-client-text,
.fd-acces-lbl,.fd-acces-text,
.fd-contact-lbl,.fd-contact-link,.fd-contact-ic,
.fd-dk,.fd-ds-title,
.fd-dv,.fd-obs-text,.fd-obs-card-body,
.fd-equip-item.on,.fd-tag-pill,
.fd-media-ph-txt { color:#fff!important; }
/* "Polygon ✓" → rouge */
.fd-cert-v.ok { color:rgba(255,255,255,0.70)!important; }
/* "Bientôt disponible" → rouge */
.fd-ecoute-soon { color:rgba(255,255,255,0.70)!important; }
/* Onglets inactifs → blanc 30% ; actif + hover → blanc */
.fd-tab { color:rgba(255,255,255,.3)!important; }
.fd-tab:hover,.fd-tab.active { color:#fff!important; }
/* Champs vides → blanc très atténué */
.fd-dv.empty,.fd-contact-na { color:rgba(255,255,255,.18)!important; }
.fd-equip-item:not(.on) { color:rgba(255,255,255,.2)!important; }
.fd-media-ph-sub { color:rgba(255,255,255,.5)!important; }
.fd-client-text { font-style:normal!important; }
.fd-cert-hash { color:rgba(255,255,255,.55)!important; }
/* Compteur de médias dans la galerie */
.fd-media-counter {
  position:absolute;bottom:76px;left:50%;transform:translateX(-50%);
  font-size:8px;letter-spacing:.28em;color:rgba(255,255,255,.55);
  text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:2;
}
/* ── Fond ambiant animé — fiche overlay ─────────────────────── */
#fd-ambient {
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
#fd-ambient::before {
  content:'';position:absolute;
  width:90vw;height:90vw;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,0.02) 0%,transparent 62%);
  top:-25%;left:-15%;
  animation:fdAmb1 20s ease-in-out infinite alternate;
}
#fd-ambient::after {
  content:'';position:absolute;
  width:70vw;height:70vw;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,0.02) 0%,transparent 60%);
  bottom:-15%;right:-8%;
  animation:fdAmb2 27s ease-in-out infinite alternate;
}
@keyframes fdAmb1 {
  0%   { transform:translate(0,0) scale(1); }
  100% { transform:translate(9vw,7vh) scale(1.18); }
}
@keyframes fdAmb2 {
  0%   { transform:translate(0,0) scale(1); }
  100% { transform:translate(-7vw,-9vh) scale(1.22); }
}
/* Lignes de scan discrètes */
#fd-ambient { background:repeating-linear-gradient(
  0deg,
  transparent 0px,transparent 3px,
  rgba(255,255,255,.008) 3px,rgba(255,255,255,.008) 4px
); }

/* ── Sidebar verticale — images seules, bas→haut ────────────── */
.fd-rel-sidebar {
  width:62px;flex-shrink:0;
  display:flex;flex-direction:column;
  background:transparent;
  border-right:1px solid rgba(255,255,255,.03);
  overflow:hidden;
  position:relative;z-index:1;
}
.fd-rel-sidebar-label { display:none; }
.fd-rel-sidebar-scroll {
  flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;
  padding:0;display:flex;align-items:flex-end;
}
.fd-rel-sidebar-scroll::-webkit-scrollbar { display:none; }
/* Track vertical, de bas en haut */
.fd-rel-sidebar #fd-rel-track {
  display:flex!important;flex-direction:column-reverse!important;
  gap:0!important;width:62px!important;
}
.fd-rel-sidebar .fd-rel-card {
  width:62px!important;opacity:.32;transition:opacity .2s;
}
.fd-rel-sidebar .fd-rel-card:hover { opacity:.9!important; }
.fd-rel-sidebar .fd-rel-img {
  width:62px!important;height:80px!important;
  margin-bottom:0!important;display:block!important;
  object-fit:cover;
}
.fd-rel-sidebar .fd-rel-num,.fd-rel-sidebar .fd-rel-name { display:none!important; }
/* Masquer l'ancien footer */
.fd-footer,.fd-footer-redline { display:none!important; }

/* ── Nav texte — Précédente / Suivante / Étoile ─────────────── */
.fd-nav-txt {
  font-size:8px;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;cursor:pointer;white-space:nowrap;
  opacity:.7;transition:opacity .18s;user-select:none;
  background:none;border:none;font-family:var(--sans);padding:0 4px;
}
.fd-nav-txt:hover { opacity:1; }
.fd-nav-fav {
  font-size:18px;color:#fff;cursor:pointer;opacity:.65;
  transition:all .18s;user-select:none;line-height:1;
  padding:0 4px;
}
.fd-nav-fav:hover { opacity:1;color:rgba(255,255,255,0.70); }
.fd-nav-fav.active { color:rgba(255,255,255,0.70);opacity:1; }

/* ── fd-mtab (Photo/Vidéo/3D/Audio) — texte seul ────────────── */
.fd-mtab {
  background:none!important;border:none!important;
  border-radius:0!important;
  font-size:8px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(255,255,255,.35)!important;font-family:var(--sans);
  padding:8px 12px 6px;cursor:pointer;transition:color .18s;
  box-shadow:none!important;
  border-bottom:2px solid transparent!important;
}
.fd-mtab:hover { color:#fff!important; }
.fd-mtab.active {
  color:#fff!important;
  border-bottom:2px solid #740e00!important;
  background:none!important;
}

/* Navigation entre fiches (bas de galerie) */
.fd-fiche-nav {
  position:absolute;bottom:18px;left:0;right:0;
  display:flex;justify-content:space-between;padding:0 14px;z-index:3;
}
.fd-fnav-btn {
  font-size:7px;letter-spacing:.22em;text-transform:uppercase;
  background:rgba(3,3,3,.7);border:1px solid rgba(255,255,255,.1);
  color:#fff;font-family:var(--sans);padding:7px 14px;
  cursor:pointer;transition:all .2s;backdrop-filter:blur(8px);
}
.fd-fnav-btn:hover { border-color:rgba(255,255,255,0.70); }

/* ── sv-lb plus grand ────────────────────────────────────── */
#sv-lb-wrap{position:relative;width:min(96vw,1600px)!important;animation:fadeUp .32s ease}
#sv-lb-img{
  width:100%;max-height:82vh;object-fit:contain;display:none;
}


/* ══ TEXTES BLANCS 100% — tous textes gris trop peu visibles ══ */

/* Sous-titres de section (proc-hd-sub, acces-sub, sv-head-sub…) */
.proc-hd-sub,
.acces-sub,
.sv-head-sub,
.mf-link,
.po-sub,
.v-sub,
.inner-sub,
.verify-inner .v-sub,
.stmt-attr { color:#ffffff!important; }

/* Sources / métadonnées des cartes (YouTube · 2025, Vimeo…) */
.sv-card-src,
.hc-card-tag,
.dc-tag,
.f-rel-tag,
.dom-card-eyebrow { color:#ffffff!important; }

/* Grands chiffres / labels stats (I — VI, 90, ∞) */
.mf-stat-num,
.cs-num,
.chain-stats .cs-num { color:#ffffff!important; }

/* Labels des stats */
.mf-stat-label,
.cs-label,
.mf-stat-text,
.cs-desc { color:#ffffff!important; }

/* Textes description dans toutes les sections */
.proc-hd-sub,
.proc-text,
.dom-intro,
.dom-histoire-text,
.ddi-desc,
.f-obs-text,
.f-raison-text,
.actu-item-excerpt,
.actu-featured-excerpt,
.inner-sub,
.footer-brand p,
.form-note,
.login-sub,
.nl-sub,
.sel-row-desc,
.lect-ctext,
.mf-body { color:#ffffff!important; }

/* Labels discrets de section (eyebrows gris) */
.ds-head-eye,
.ds-quote-label,
.sel-foot-note,
.actu-ticker-label,
.dom-detail-grid-label,
.dom-detail-eye,
.dom-histoire-label { color:#ffffff!important; }

/* Citations et textes éditoriaux */
.ds-quote-text,
.stmt-quote { color:#ffffff!important; }

/* Textes de dates/lieux dans l'actualité */
.actu-item-date,
.actu-item-place,
.actu-meta-date,
.actu-meta-place { color:#cccccc!important; }

/* Footer nav links */
.footer-nav a,
.footer-nav h4 { color:#ffffff!important; }

/* Texte legal copy */
.footer-copy { color:#aaaaaa!important; }


/* ══ PAGE EXPLORER · ABONNÉS — 3 colonnes ══ */
:root { --nav-h:73px; --sb-w:260px; --rp-w:360px; }

#p-explorer { height:100vh; overflow:hidden; }
#p-explorer.active { display:flex !important; flex-direction:column; }

.ex-layout {
  display:flex;flex:1;
  min-height:calc(100vh - var(--nav-h));
  margin-top:var(--nav-h);
}

/* ── Sidebar ──────────────────────────────────────────────────────────────── */
.ex-sb {
  width:var(--sb-w);flex-shrink:0;
  background:#0a0a0a;
  border-right:1px solid rgba(255,255,255,.05);
  display:flex;flex-direction:column;
  overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:#222 transparent;
  position:sticky;top:var(--nav-h);
  height:calc(100vh - var(--nav-h));align-self:flex-start;
}
.ex-sb::-webkit-scrollbar { width:4px; }
.ex-sb::-webkit-scrollbar-thumb { background:#222; }

.ex-sb-brand {
  padding:28px 20px 16px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.ex-sb-brand-name {
  font-family:var(--gabriel);font-weight:200;
  font-size:15px;letter-spacing:.08em;color:#fff;
}
.ex-sb-brand-sub {
  font-size:8px;letter-spacing:.38em;text-transform:uppercase;
  color:#444;margin-top:3px;
}

.ex-sb-section { padding:20px 0 4px; }
.ex-sb-label {
  font-size:7px;letter-spacing:.42em;text-transform:uppercase;
  color:#555;padding:0 20px 10px;
  display:flex;align-items:center;justify-content:space-between;
}
.ex-sb-add {
  font-size:16px;color:#555;background:transparent;
  border:none;cursor:pointer;line-height:1;
  transition:color .2s;padding:0;
}
.ex-sb-add:hover { color:#fff; }
.ex-sb-item {
  display:flex;align-items:center;gap:10px;
  width:100%;text-align:left;
  background:transparent;border:none;
  font-family:var(--sans);font-size:11px;font-weight:300;
  color:#888;cursor:pointer;
  padding:9px 20px;
  transition:all .18s;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;border-radius:3px;
}
.ex-sb-item:hover { color:#fff;background:rgba(255,255,255,.05); }
.ex-sb-item.active { color:#fff;background:rgba(255,255,255,.08); }
.ex-sb-item .ex-sb-ic {
  font-size:13px;flex-shrink:0;width:16px;text-align:center;
  color:#555;
}
.ex-sb-item.active .ex-sb-ic { color:rgba(255,255,255,0.70); }
.ex-sb-item:hover .ex-sb-ic { color:#aaa; }
.ex-sb-divider { height:1px;background:rgba(255,255,255,.05);margin:8px 0; }

.ex-sb-folder-item {
  display:flex;align-items:center;justify-content:space-between;
  width:100%;background:transparent;border:none;
  font-family:var(--sans);font-size:11px;font-weight:300;
  color:#888;cursor:pointer;
  padding:8px 20px;transition:all .18s;
}
.ex-sb-folder-item:hover { color:#fff;background:rgba(255,255,255,.05); }
.ex-sb-folder-item.active { color:#fff;background:rgba(255,255,255,.08); }
.ex-sb-folder-del {
  font-size:10px;color:#333;background:transparent;
  border:none;cursor:pointer;padding:0 0 0 6px;
  transition:color .2s;display:none;
}
.ex-sb-folder-item:hover .ex-sb-folder-del { display:block; }
.ex-sb-folder-del:hover { color:rgba(255,255,255,0.70); }
.ex-sb-empty {
  font-size:10px;color:#333;padding:6px 20px 10px;
  font-style:italic;
}

/* ── Main (centre scrollable) ──────────────────────────────────────────────── */
.ex-main {
  flex:1;overflow-y:auto;overflow-x:hidden;
  background:#080808;
  scrollbar-width:thin;scrollbar-color:#1a1a1a transparent;
}
.ex-main::-webkit-scrollbar { width:4px; }
.ex-main::-webkit-scrollbar-thumb { background:#1a1a1a; }

/* Hero */
.ex-hero {
  position:relative;height:58vh;overflow:hidden;
  background:#050505;
}
.ex-hero-img {
  width:100%;height:100%;object-fit:cover;
  display:block;filter:brightness(.75);
}
.ex-hero-over {
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.5) 52%,transparent 80%),
    linear-gradient(to top,rgba(5,5,5,.9) 0%,transparent 45%);
}
.ex-hero-content { position:absolute;bottom:44px;left:48px;max-width:480px; }
.ex-hero-badge {
  font-size:7px;letter-spacing:.42em;text-transform:uppercase;
  color:rgba(255,255,255,0.70);margin-bottom:12px;
}
.ex-hero-name {
  font-family:var(--gabriel);font-weight:200;
  font-size:clamp(32px,4.5vw,56px);
  color:#fff;line-height:1;letter-spacing:-.02em;
  margin-bottom:12px;
}
.ex-hero-loc {
  font-size:9px;letter-spacing:.2em;color:#777;
  text-transform:uppercase;margin-bottom:16px;
}
.ex-hero-desc {
  font-size:12px;line-height:1.82;color:#bbb;
  margin-bottom:24px;
}
.ex-hero-cta { display:flex;gap:12px; }
.ex-hero-btn {
  font-size:8px;letter-spacing:.28em;text-transform:uppercase;
  background:rgba(255,255,255,.95);color:#000;border:none;
  padding:12px 26px;cursor:pointer;font-family:var(--sans);
  transition:all .22s;
}
.ex-hero-btn:hover { background:#fff;transform:translateY(-1px); }
.ex-hero-btn2 {
  font-size:8px;letter-spacing:.28em;text-transform:uppercase;
  background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.2);
  padding:12px 22px;cursor:pointer;font-family:var(--sans);
  backdrop-filter:blur(8px);transition:all .22s;
}
.ex-hero-btn2:hover { background:rgba(255,255,255,.16); }

/* Section rows */
.ex-section { padding:36px 0 4px; }
.ex-section-hd {
  display:flex;align-items:baseline;
  justify-content:space-between;padding:0 48px 16px;
}
.ex-section-title {
  font-family:var(--gabriel);font-weight:200;
  font-size:19px;color:#fff;letter-spacing:-.01em;
}
.ex-section-meta {
  font-size:8px;letter-spacing:.25em;color:#444;text-transform:uppercase;
}
.ex-row {
  display:flex;gap:12px;padding:0 48px 4px;
  overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
}
.ex-row::-webkit-scrollbar { display:none; }

/* Cards (row mode) */
.ex-card {
  flex:0 0 190px;scroll-snap-align:start;
  cursor:pointer;position:relative;
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.ex-card:hover { transform:scale(1.04);z-index:3; }
.ex-card.sel .ex-card-thumb { border-bottom:2px solid #740e00; }
.ex-card-thumb {
  width:190px;height:256px;
  object-fit:cover;display:block;background:#111;
}
.ex-card-body { padding:8px 0 16px; }
.ex-card-num {
  font-size:7px;letter-spacing:.35em;color:#444;
  text-transform:uppercase;margin-bottom:2px;
}
.ex-card-name {
  font-family:var(--gabriel);font-weight:200;
  font-size:13px;color:#fff;line-height:1.15;margin-bottom:3px;
}
.ex-card-loc {
  font-size:7px;letter-spacing:.1em;color:#555;text-transform:uppercase;
}
.ex-card-tag {
  display:inline-block;font-size:6px;letter-spacing:.25em;
  text-transform:uppercase;color:rgba(255,255,255,0.70);
  border:1px solid rgba(255,255,255,0.16);padding:2px 5px;margin-top:5px;
}

/* Grid mode (domain / folder / all) — même taille que les cartes scroll (190×256) */
.ex-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;padding:32px 48px 64px;
}
.ex-grid-card {
  cursor:pointer;position:relative;width:100%;
  transition:transform .26s cubic-bezier(.4,0,.2,1);
}
.ex-grid-card:hover { transform:scale(1.03);z-index:2; }
.ex-grid-card.sel .ex-grid-card-img { border-bottom:2px solid #740e00; }
.ex-grid-card-img {
  width:100%;height:256px;
  object-fit:cover;display:block;background:#111;
}
.ex-grid-card-body { padding:8px 0 10px; }
.ex-grid-card-num { font-size:7px;letter-spacing:.32em;color:#444;text-transform:uppercase;margin-bottom:2px; }
.ex-grid-card-name {
  font-family:var(--gabriel);font-weight:200;
  font-size:13px;color:#fff;line-height:1.15;margin-bottom:3px;
}
.ex-grid-card-loc { font-size:7px;letter-spacing:.1em;color:#555;text-transform:uppercase; }
.ex-grid-card-tag {
  display:inline-block;font-size:6px;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(255,255,255,0.70);
  border:1px solid rgba(255,255,255,0.14);padding:2px 5px;margin-top:5px;
}

@media(max-width:1100px){ .ex-grid { grid-template-columns:repeat(3,1fr); } }
@media(max-width:700px){ .ex-grid { grid-template-columns:repeat(2,1fr); } .ex-grid-card-img { height:200px; } }
@media(max-width:440px){ .ex-grid { grid-template-columns:1fr 1fr; } .ex-grid-card-img { height:180px; } }

/* View header (for non-home views) */
.ex-view-hd {
  padding:40px 48px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
  margin-bottom:0;
}
.ex-view-hd-eye {
  font-size:7px;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,0.70);margin-bottom:8px;
}
.ex-view-hd-title {
  font-family:var(--gabriel);font-weight:200;
  font-size:clamp(24px,3vw,38px);color:#fff;
  letter-spacing:-.02em;margin-bottom:16px;
}
.ex-view-hd-count {
  font-size:9px;letter-spacing:.22em;color:#555;
  text-transform:uppercase;padding-bottom:20px;
}

/* Filter bar — style distinctions */
.ex-filter-bar {
  display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap;
  padding:20px 48px 18px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ex-filter-group { display:flex;flex-direction:column;gap:8px; }
.ex-filter-label { font-size:8px;letter-spacing:.35em;color:#555;text-transform:uppercase; }
.ex-filter-sel {
  background:transparent;border:none;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:var(--w);font-family:var(--sans);
  font-size:11px;font-weight:300;
  padding:6px 0 10px;outline:none;cursor:pointer;
  -webkit-appearance:none;transition:border-color .2s;
  min-width:130px;
}
.ex-filter-sel:focus { border-bottom-color:#cccccc; }
.ex-filter-sel option { background:#111;color:var(--w); }
.ex-filter-reset {
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  background:transparent;border:1px solid rgba(255,255,255,.12);
  color:#555;font-family:var(--sans);padding:9px 16px;
  cursor:pointer;transition:all .2s;align-self:flex-end;margin-bottom:1px;
}
.ex-filter-reset:hover { border-color:var(--w);color:var(--w); }
.ex-filter-count {
  font-size:9px;letter-spacing:.22em;color:#444;
  text-transform:uppercase;margin-left:auto;
  align-self:flex-end;padding-bottom:12px;
}
/* Bouton supprimer dans vue Récents */
.ex-card-del-btn, .ex-grid-card-del-btn {
  position:absolute;top:6px;right:6px;
  width:22px;height:22px;
  background:rgba(5,5,5,.78);
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.6);
  font-size:14px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .18s;backdrop-filter:blur(6px);
  opacity:0;
}
.ex-card:hover .ex-card-del-btn,
.ex-grid-card:hover .ex-grid-card-del-btn { opacity:1; }
.ex-card-del-btn:hover,
.ex-grid-card-del-btn:hover { color:rgba(255,255,255,0.70);border-color:rgba(255,255,255,0.26);background:rgba(5,5,5,.95); }

/* Gate */
.ex-gate {
  height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:18px;text-align:center;padding:80px 48px;
}
.ex-gate-eye { font-size:7px;letter-spacing:.45em;text-transform:uppercase;color:rgba(255,255,255,0.70); }
.ex-gate-title {
  font-family:var(--gabriel);font-weight:200;
  font-size:clamp(26px,3.5vw,44px);color:#fff;letter-spacing:-.02em;
}
.ex-gate-sub { font-size:12px;line-height:1.85;color:#555;max-width:420px; }
.ex-gate-btns { display:flex;gap:12px;margin-top:6px; }

/* ── Right Panel ───────────────────────────────────────────────────────────── */
.ex-right {
  width:var(--rp-w);flex-shrink:0;
  background:#0c0c0c;
  border-left:1px solid rgba(255,255,255,.05);
  display:flex;flex-direction:column;
  overflow:hidden;
  position:sticky;top:var(--nav-h);
  height:calc(100vh - var(--nav-h));align-self:flex-start;
}
.ex-right-empty {
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:12px;text-align:center;padding:40px;
}
.ex-right-empty-icon { font-size:32px;color:#222; }
.ex-right-empty-txt {
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:#333;
}

.ex-right-detail {
  display:none;flex-direction:column;
  height:100%;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:#1a1a1a transparent;
}
.ex-right-detail::-webkit-scrollbar { width:3px; }
.ex-right-detail::-webkit-scrollbar-thumb { background:#1a1a1a; }

/* Image + visual zone */
.ex-rp-visual { position:relative;flex-shrink:0; }
.ex-rp-img { width:100%;height:220px;object-fit:cover;display:block;background:#111; }
.ex-rp-img-over {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(12,12,12,1) 0%,transparent 55%);
}
/* Tabs visuels — barre permanente, jamais cachée */
.ex-rp-visual-tabs {
  display:flex;
  flex-shrink:0;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ex-rp-vtab {
  flex:1;font-size:7px;letter-spacing:.25em;text-transform:uppercase;
  color:rgba(255,255,255,.38);background:#0c0c0c;
  border:none;border-right:1px solid rgba(255,255,255,.06);
  padding:11px 0;cursor:pointer;font-family:var(--sans);
  transition:all .18s;
}
.ex-rp-vtab:last-child { border-right:none; }
.ex-rp-vtab.active { color:#fff;background:rgba(255,255,255,.07); }
.ex-rp-vtab:hover:not(.active) { color:#ccc;background:rgba(255,255,255,.04); }

/* 3D card scene */
.ex-3d-scene {
  width:100%;height:220px;background:#080808;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.ex-3d-wrap {
  perspective:700px;
  display:flex;align-items:center;justify-content:center;
}
.ex-3d-card {
  width:140px;height:185px;
  transform-style:preserve-3d;
  animation:ex3dFloat 5.5s ease-in-out infinite;
  position:relative;
}
@keyframes ex3dFloat {
  0%,100% { transform:rotateY(-18deg) rotateX(7deg) translateY(0); }
  50% { transform:rotateY(18deg) rotateX(-7deg) translateY(-6px); }
}
.ex-3d-face {
  position:absolute;inset:0;
  backface-visibility:hidden;
  overflow:hidden;
}
.ex-3d-face img {
  width:100%;height:100%;object-fit:cover;
  display:block;
}
.ex-3d-face-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.7) 100%);
}
.ex-3d-num {
  position:absolute;bottom:10px;left:10px;
  font-size:8px;letter-spacing:.35em;color:rgba(255,255,255,.6);
  text-transform:uppercase;
}

/* Video zone */
.ex-video-zone {
  width:100%;height:220px;background:#080808;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.ex-video-zone iframe {
  width:100%;height:100%;border:none;
}
.ex-video-empty {
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:#333;text-align:center;
}

/* Panel info block */
.ex-rp-info { padding:16px 20px 12px; }
.ex-rp-num { font-size:8px;letter-spacing:.35em;color:#444;text-transform:uppercase;margin-bottom:4px; }
.ex-rp-name {
  font-family:var(--gabriel);font-weight:200;
  font-size:22px;color:#fff;line-height:1.1;
  letter-spacing:-.01em;margin-bottom:6px;
}
.ex-rp-loc { font-size:9px;letter-spacing:.15em;color:#666;text-transform:uppercase;margin-bottom:10px; }
.ex-rp-tag {
  display:inline-block;font-size:7px;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(255,255,255,0.70);
  border:1px solid rgba(255,255,255,0.18);padding:3px 8px;
}

/* Tabs */
.ex-rp-tabs {
  display:flex;border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
  margin:0 0 0;
}
.ex-rp-tab {
  flex:1;font-size:8px;letter-spacing:.3em;
  text-transform:uppercase;font-family:var(--sans);
  background:transparent;border:none;color:#555;
  padding:12px 0;cursor:pointer;
  border-bottom:1px solid transparent;
  transition:all .18s;
}
.ex-rp-tab:hover { color:#fff; }
.ex-rp-tab.active { color:#fff;border-bottom-color:rgba(255,255,255,0.70); }

/* Tab content */
.ex-rp-tc { padding:18px 20px;flex:1; }
.ex-rp-desc {
  font-size:12px;line-height:1.88;color:#888;margin-bottom:20px;
}
.ex-rp-fiche-btn {
  font-size:8px;letter-spacing:.28em;text-transform:uppercase;
  background:transparent;border:1px solid rgba(255,255,255,.18);
  color:#fff;padding:10px 18px;cursor:pointer;font-family:var(--sans);
  transition:all .2s;width:100%;
}
.ex-rp-fiche-btn:hover { background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.70); }

/* Actions */
.ex-rp-actions {
  display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;
}
.ex-rp-act {
  font-size:7px;letter-spacing:.22em;text-transform:uppercase;
  background:rgba(255,255,255,.04);color:#aaa;
  border:1px solid rgba(255,255,255,.1);
  padding:8px 12px;cursor:pointer;font-family:var(--sans);
  transition:all .2s;flex:1;text-align:center;
}
.ex-rp-act:hover { background:rgba(255,255,255,.09);color:#fff; }
.ex-rp-act.fav-on { color:rgba(255,255,255,0.70);border-color:rgba(255,255,255,0.23); }

/* Folder dropdown */
.ex-folder-drop {
  position:relative;display:inline-block;flex:1;
}
.ex-folder-menu {
  position:absolute;bottom:110%;left:0;right:0;
  background:#181818;border:1px solid rgba(255,255,255,.1);
  z-index:50;display:none;max-height:180px;overflow-y:auto;
}
.ex-folder-menu.open { display:block; }
.ex-folder-menu-item {
  display:block;width:100%;text-align:left;
  font-size:10px;letter-spacing:.12em;color:#aaa;
  background:transparent;border:none;padding:10px 14px;
  cursor:pointer;font-family:var(--sans);transition:background .15s;
}
.ex-folder-menu-item:hover { background:rgba(255,255,255,.07);color:#fff; }
.ex-folder-menu-new {
  border-top:1px solid rgba(255,255,255,.06);
  color:rgba(255,255,255,0.70);
}

/* Infos tab */
.ex-rp-inforow {
  display:flex;gap:10px;margin-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.04);
  padding-bottom:12px;
}
.ex-rp-inforow:last-child { border-bottom:none; }

/* Section contact & accès */
.ex-rp-contact-section {
  padding:14px 20px 6px;
  border-bottom:1px solid rgba(255,255,255,.05);
  margin-bottom:4px;
}
.ex-rp-contact-label {
  font-size:7px;letter-spacing:.42em;text-transform:uppercase;
  color:#444;margin-bottom:10px;
}
.ex-rp-contact-link {
  display:flex;align-items:center;gap:10px;
  font-size:10px;letter-spacing:.06em;color:#888;
  background:transparent;border:none;
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:9px 0;cursor:pointer;width:100%;text-align:left;
  font-family:var(--sans);transition:color .18s;
  text-decoration:none;
}
.ex-rp-contact-link:last-child { border-bottom:none; }
.ex-rp-contact-link:hover { color:#ffffff; }
.ex-rp-contact-link-ic {
  width:16px;text-align:center;flex-shrink:0;
  font-size:11px;color:#555;
}
.ex-rp-contact-place {
  font-size:10px;color:#666;
  padding:6px 0 10px;letter-spacing:.08em;
  border-bottom:1px solid rgba(255,255,255,.05);
  margin-bottom:2px;
}
.ex-rp-info-lbl {
  font-size:7px;letter-spacing:.35em;color:#444;
  text-transform:uppercase;width:80px;flex-shrink:0;padding-top:2px;
}
.ex-rp-info-val { font-size:11px;color:#999;line-height:1.55; }

/* Audio tab */
.ex-rp-audio {
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding:36px 20px;gap:14px;
}
.ex-rp-audio-icon { font-size:36px;color:#333; }
.ex-rp-audio-txt {
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:#444;text-align:center;
}
.ex-rp-audio-wave {
  display:flex;gap:3px;align-items:flex-end;height:28px;
}
.ex-rp-audio-bar {
  width:3px;background:#333;
  animation:audioWave 1.2s ease-in-out infinite;
}
.ex-rp-audio-bar:nth-child(2){ animation-delay:.1s; }
.ex-rp-audio-bar:nth-child(3){ animation-delay:.2s; }
.ex-rp-audio-bar:nth-child(4){ animation-delay:.3s; }
.ex-rp-audio-bar:nth-child(5){ animation-delay:.15s; }
@keyframes audioWave {
  0%,100%{ height:6px; }
  50%{ height:24px; }
}


/* ── Écoute button ─── */
.fd-ecoute-btn {
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.16);
  color:rgba(255,255,255,0.70);font-family:var(--sans);
  font-size:8px;letter-spacing:.3em;text-transform:uppercase;
  padding:12px 20px;cursor:pointer;
  transition:all .2s;margin-bottom:28px;width:100%;
}
.fd-ecoute-btn:hover { background:rgba(255,255,255,0.09);border-color:rgba(255,255,255,0.29); }
.fd-ecoute-ic { font-size:16px;line-height:1; }
.fd-ecoute-soon { font-size:8px;color:rgba(255,255,255,0.26);margin-left:auto;letter-spacing:.18em; }

/* ── Prix & Accès ─── */
.fd-prix-section { margin-bottom:28px; }
.fd-prix-lbl { font-size:7px;letter-spacing:.38em;text-transform:uppercase;color:#444;margin-bottom:8px; }
.fd-prix-val { font-family:var(--gabriel);font-weight:200;font-size:28px;color:#fff;letter-spacing:-.01em; }
.fd-prix-note { font-size:9px;color:#555;letter-spacing:.1em;margin-top:4px; }
.fd-acces-block { margin-bottom:28px; }
.fd-acces-lbl { font-size:7px;letter-spacing:.38em;text-transform:uppercase;color:#444;margin-bottom:8px; }
.fd-acces-text { font-size:11px;line-height:1.75;color:#666; }

/* ── Client idéal ─── */
.fd-client-block { margin-bottom:28px; }
.fd-client-lbl { font-size:7px;letter-spacing:.38em;text-transform:uppercase;color:#444;margin-bottom:8px; }
.fd-client-text { font-size:12px;line-height:1.85;color:#888;font-style:italic; }

/* ── Observations enrichies ─── */
.fd-obs-grid-v2 { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px; }
.fd-obs-card-v2 {
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
  padding:20px;
}
.fd-obs-card-v2.full { grid-column:1/-1; }
.fd-obs-card-hd { display:flex;align-items:center;gap:10px;margin-bottom:10px; }
.fd-obs-card-ic { font-size:14px;color:rgba(255,255,255,0.70); }
.fd-obs-card-title { font-size:7px;letter-spacing:.38em;text-transform:uppercase;color:#555; }
.fd-obs-card-body { font-size:11px;line-height:1.75;color:#888; }
.fd-obs-spec-row { display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:10px; }
.fd-obs-spec-row:last-child { border-bottom:none; }
.fd-obs-spec-k { color:#444;letter-spacing:.08em; }
.fd-obs-spec-v { color:#888; }

/* ── Médiathèque ─── */
.fd-media-tabs { display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:20px; }
.fd-mtab {
  font-size:8px;letter-spacing:.25em;text-transform:uppercase;
  background:transparent;border:none;color:#444;
  font-family:var(--sans);padding:10px 16px 9px;
  cursor:pointer;transition:all .18s;border-bottom:2px solid transparent;
}
.fd-mtab.active { color:#fff;border-bottom-color:rgba(255,255,255,0.70); }
.fd-mtab:hover:not(.active) { color:#aaa; }
.fd-media-content { min-height:120px; }
.fd-media-grid-photos { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
.fd-media-photo { width:100%;aspect-ratio:4/3;object-fit:cover;cursor:pointer;background:#111;transition:transform .2s; }
.fd-media-photo:hover { transform:scale(1.02); }
.fd-media-placeholder { padding:32px 0;text-align:center; }
.fd-media-ph-txt { font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#333; }
.fd-media-ph-sub { font-size:10px;color:#2a2a2a;margin-top:6px;letter-spacing:.08em; }
.fd-media-audio-player {
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  padding:20px;display:flex;align-items:center;gap:16px;
}
.fd-audio-ic { font-size:22px;color:#555; }
.fd-audio-label { font-size:10px;color:#666;letter-spacing:.1em; }
.fd-media-3d-wrap { height:200px;display:flex;align-items:center;justify-content:center; }

/* ── Contact élargi ─── */
.fd-contact-section { margin-bottom:28px; }
.fd-contact-lbl { font-size:7px;letter-spacing:.38em;text-transform:uppercase;color:#444;margin-bottom:12px; }
.fd-contact-row {
  display:flex;align-items:center;gap:10px;
  padding:9px 0;border-bottom:1px solid rgba(255,255,255,.04);
  font-size:11px;
}
.fd-contact-row:last-child { border-bottom:none; }
.fd-contact-ic { width:18px;text-align:center;color:#555;font-size:12px;flex-shrink:0; }
.fd-contact-link { color:#888;text-decoration:none;transition:color .18s;cursor:pointer;background:none;border:none;font-family:var(--sans);font-size:11px;padding:0;text-align:left; }
.fd-contact-link:hover { color:#fff; }
.fd-contact-na { color:#2a2a2a;font-size:11px; }

/* ── Ligne rouge avant footer ─── */
.fd-footer-redline { height:1px;background:rgba(255,255,255,0.12);opacity:.6;margin:0; }

/* ══ CORRECTIONS TYPOGRAPHIQUES CIBLÉES ═══════════════════════ */

/* 1. mf-body → blanc 100%, même taille des deux côtés */
.mf-body { color:#ffffff!important; font-size:13px!important; font-weight:300!important; line-height:1.9!important; }

/* 2. sv-title2 + acces-title → même taille que mf-title */
.sv-title2,
.acces-title {
  font-size: clamp(28px,4vw,60px) !important;
  letter-spacing: -.025em !important;
  line-height: 1.05 !important;
}

/* 3. Quote — reste fin sauf l'irremplaçable */
.qa-words { font-weight:300!important; }

/* 4. fd-desc = même taille que fd-client-text / fd-acces-text */
.fd-desc,
.fd-client-text,
.fd-acces-text {
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.88 !important;
  letter-spacing: .01em !important;
}

/* 5. Tabs PHOTO/VIDÉO/3D/AUDIO — texte blanc seul, zéro bouton */
.fd-mtab {
  background:none!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:none!important;
  color:rgba(255,255,255,.38)!important;
  font-family:var(--sans)!important;
  font-weight:300!important;
  font-size:9px!important;
  letter-spacing:.32em!important;
  text-transform:uppercase!important;
  padding:10px 14px 8px!important;
  cursor:pointer;
  transition:color .18s!important;
}
.fd-mtab:hover { color:rgba(255,255,255,.75)!important; }
.fd-mtab.active { color:#ffffff!important; font-weight:300!important; border-bottom:1px solid rgba(255,255,255,0.38)!important; }

/* 6. Titres de section explorer → style nav (Inter, CAPS, léger) */
.ex-section-title {
  font-family: var(--sans) !important;
  font-weight: 300 !important;
  font-size: 9px !important;
  letter-spacing: .36em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}

/* ══════════════════════════════════════════════════════════════
   SYSTÈME TYPOGRAPHIQUE — L'Augure
   Inspiré de Zara : hiérarchie nette, 6 niveaux, poids légers
   ══════════════════════════════════════════════════════════════

   DISPLAY    Gabriel 200  clamp(56,10vw,130px)  ls:-.04em
   HEADLINE   Gabriel 200  clamp(28,4vw,56px)    ls:-.025em
   TITLE      Gabriel 200  clamp(16,1.6vw,22px)  ls:-.01em
   CITATION   Playfair 700i clamp(22,3vw,40px)
   BODY       Inter 300    14px                  lh:1.82
   SMALL      Inter 300    11px                  lh:1.65
   LABEL      Inter 300    9px  CAPS  ls:.32em
   MICRO      Inter 300    8px  CAPS  ls:.36em
   ══════════════════════════════════════════════════════════════ */

:root {
  --t-display:  clamp(56px,10vw,130px);
  --t-headline: clamp(28px,4vw,56px);
  --t-title:    clamp(16px,1.6vw,22px);
  --t-quote:    clamp(22px,3vw,40px);
  --t-body:     14px;
  --t-small:    11px;
  --t-label:    9px;
  --t-micro:    8px;
  --lh-body:    1.82;
  --lh-small:   1.65;
  --w-thin:     200;
  --w-light:    300;
}

/* ── DISPLAY · Très grand, très fin ─────────────────────────── */
.f-raison-title,
.f-hero-name,
.dom-detail-title,
.cs-title,
.inner-hero-title {
  font-family: var(--gabriel) !important;
  font-weight: var(--w-thin) !important;
  font-size:   var(--t-display) !important;
  letter-spacing: -.04em !important;
  line-height: 1 !important;
  text-transform: none !important;
}

/* ── HEADLINE · Titres de section, nom dans la fiche ─────────── */
.fd-name,
.ex-hero-name,
.ex-view-hd-title,
.mon-plan-title,
.proc-hd-title,
.dom-name,
.sv-title,
.po-name, .po-title,
.legal-modal-title,
.actu-featured-title {
  font-family: var(--gabriel) !important;
  font-weight: var(--w-thin) !important;
  font-size:   var(--t-headline) !important;
  letter-spacing: -.025em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}

/* ── TITLE · Noms de cartes, sous-titres ─────────────────────── */
.dc-name,
.ex-card-name,
.ex-section-title,
.ex-rp-name,
.dom-card-name,
.fd-cert-title,
.actu-item-title,
.sel-row-title,
.lect-title,
.ex-sb-folder-name,
.mp-card-name,
.footer-nav h4 {
  font-family: var(--gabriel) !important;
  font-weight: var(--w-thin) !important;
  font-size:   var(--t-title) !important;
  letter-spacing: -.01em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

/* ── CITATION · Serif ─────────────────────────────────────────── */
.stmt-quote,
.acces-quote,
.lect-quote {
  font-family: var(--sans) !important;
  font-weight: 200 !important;
  font-style:  normal !important;
  font-size:   clamp(11px,1.8vw,20px) !important;
  letter-spacing: .22em !important;
  line-height: 2.2 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}
.qa-words {
  font-family: var(--sans) !important;
  font-weight: 200 !important;
  font-style:  normal !important;
  font-size:   clamp(12px,1.6vw,20px) !important;
  letter-spacing: .26em !important;
  line-height: 2 !important;
  text-transform: uppercase !important;
}

/* ── BODY · Corps de texte principal ─────────────────────────── */
.dc-desc,
.f-obs-text,
.f-raison-text,
.proc-text,
.mf-body,
.fd-desc,
.fd-client-text,
.fd-acces-text,
.fd-obs-card-body,
.actu-featured-excerpt,
.actu-item-excerpt,
.dom-histoire-text,
.dom-intro,
.dom-principe-text,
.inner-sub,
.po-sub,
.v-no-sub,
.ex-rp-desc,
.fd-dv,
.lect-ctext,
.cs-desc,
.ex-rp-inforow,
.footer-nav a,
.footer-nav li,
.footer-brand p {
  font-family: var(--sans) !important;
  font-weight: var(--w-light) !important;
  font-size:   var(--t-body) !important;
  line-height: var(--lh-body) !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

/* ── SMALL · Texte secondaire ────────────────────────────────── */
.dc-tag,
.fd-stat-val,
.fd-cert-v,
.fd-cert-sub,
.ex-section-meta,
.ex-card-loc,
.actu-item-excerpt,
.nl-note,
.cb-text,
.form-note,
.ex-rp-loc,
.ex-rp-desc,
.fd-acces-text,
.fd-client-text,
.mp-card-loc {
  font-family: var(--sans) !important;
  font-weight: var(--w-light) !important;
  font-size:   var(--t-small) !important;
  line-height: var(--lh-small) !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

/* ── LABEL · Navigation, onglets, filtres (CAPS) ─────────────── */
.nav-link,
.fd-tab,
.fd-mtab,
.fd-nav-txt,
.fd-nav-center,
.ex-filter-label,
.ex-rp-tab,
.ftab, .actu-ftab,
.fd-stat-lbl,
.fd-ds-title,
.fd-acces-lbl,
.fd-client-lbl,
.fd-contact-lbl,
.fd-cert-k,
.fd-dk,
.fd-footer-label,
.ex-sb-section-title,
.ex-view-hd-eye,
.plan-ov-badge,
.nl-eye,
.po-plan-badge,
.footer-nav h4 {
  font-family: var(--sans) !important;
  font-weight: var(--w-light) !important;
  font-size:   var(--t-label) !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
}

/* ── MICRO · Numéros, localisation, metadata (CAPS) ──────────── */
.dc-num,
.dc-loc,
.ex-card-num,
.ex-card-tag,
.fd-eyebrow,
.fd-num-badge,
.fd-rel-num,
.ex-rp-num,
.actu-item-date,
.actu-item-cat,
.actu-featured-cat,
.dom-card-num,
.mp-card-num,
.fd-rel-loc,
.ll,
.legal-copy-sm,
.footer-copy {
  font-family: var(--sans) !important;
  font-weight: var(--w-light) !important;
  font-size:   var(--t-micro) !important;
  letter-spacing: .36em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
}

/* ── Exceptions — éléments à taille fixe spécifique ─────────── */
/* Logo */
.nav-logo, .fd-nav-brand { font-family:var(--gabriel)!important; font-weight:200!important; font-size:16px!important; letter-spacing:.08em!important; }
/* Grand numéro décoratif en fond */
.fd-gallery-num { font-size:clamp(60px,8vw,110px)!important; font-weight:400!important; opacity:.05!important; letter-spacing:-.02em!important; }
.dcvp-num { font-size:clamp(80px,12vw,160px)!important; font-weight:400!important; }
/* Nom de distinction dans la fiche — entre headline et display */
.fd-name { font-size:clamp(30px,4.2vw,54px)!important; letter-spacing:-.025em!important; }
/* Boutons — restent au niveau LABEL */
button, .btn-primary, .btn-outline, .nav-cta,
.submit-btn, .login-btn, .nl-btn, .po-btn,
.fd-nav-btn, .fd-nav-close, .fd-arrow,
.ex-hero-btn, .ex-hero-btn2 {
  font-family: var(--sans) !important;
  font-weight: var(--w-light) !important;
  font-size:   var(--t-label) !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
}


/* ══════════════════════════════════════════════════════════════
   OVERRIDES FINAUX — appliqués en dernier, priorité absolue
   Corrigent tous les conflits du système typographique ci-dessus
   ══════════════════════════════════════════════════════════════ */

/* 1. mf-body — blanc 100%, 13px, même taille des deux colonnes */
.mf-body {
  color:#fff!important;
  font-size:13px!important;
  font-weight:300!important;
  line-height:1.9!important;
  font-style:normal!important;
}

/* 2. Titres "Ce que L'Augure regarde" + "Lire ce que…"
      = même taille que "Un guide qui ne classe pas" */
.sv-title2,
.acces-title {
  font-family:var(--gabriel)!important;
  font-weight:200!important;
  font-size:clamp(28px,4vw,60px)!important;
  letter-spacing:-.025em!important;
  line-height:1.05!important;
  text-transform:none!important;
}

/* 3. Quote — police fine uppercase */
.qa-words {
  font-family:var(--sans)!important;
  font-weight:200!important;
  font-style:normal!important;
  font-size:clamp(11px,1.4vw,18px)!important;
  line-height:2.2!important;
  color:#fff!important;
  letter-spacing:.28em!important;
  text-transform:uppercase!important;
}
.qa-w { font-style:normal!important;font-weight:200!important; }
.qa-w.qa-red { font-weight:700!important;color:rgba(255,255,255,0.70)!important;text-shadow:0 0 20px rgba(255,255,255,0.26),0 0 35px rgba(255,255,255,0.13)!important; }

/* 4. Textes fiches — alignés sur la taille des blocs de référence (11px) */
.fd-desc,
.fd-client-text,
.fd-acces-text,
.fd-obs-card-body,
.fd-obs-text {
  font-size:11px!important;
  font-weight:300!important;
  line-height:1.85!important;
  letter-spacing:.02em!important;
  font-style:normal!important;
}

/* 5. Titres de section explorer — police nav (Inter, CAPS, 9px) */
.ex-section-title {
  font-family:var(--sans)!important;
  font-weight:300!important;
  font-size:9px!important;
  letter-spacing:.36em!important;
  text-transform:uppercase!important;
  line-height:1.4!important;
}

/* 6. Tabs PHOTO / VIDÉO / 3D / AUDIO — texte blanc seul, zéro bouton */
.fd-mtab {
  background:none!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:none!important;
  color:rgba(255,255,255,.35)!important;
  font-family:var(--sans)!important;
  font-weight:300!important;
  font-size:9px!important;
  letter-spacing:.32em!important;
  text-transform:uppercase!important;
  padding:10px 14px 8px!important;
  transition:color .18s!important;
}
.fd-mtab:hover { color:#fff!important; }
.fd-mtab.active {
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.35)!important;
  background:none!important;
  box-shadow:none!important;
}

/* 7. Boutons — couleurs fiche overlay (fd-nav-btn sans cercle rouge) */
.fd-nav-btn,
.fd-nav-close {
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 4px 14px rgba(0,0,0,.45)!important;
}
.fd-nav-btn::before { content:none!important; }

/* 8. Fiche nav — texte et étoile en blanc pur */
.fd-nav-txt,
.fd-nav-fav { color:#fff!important; }
.fd-nav-fav.active { color:rgba(255,255,255,0.70)!important; }

/* 9. Titres de section dans l'explorer (Vos dernières consultations, etc.) */
.ex-section-hd .ex-section-title {
  font-family:var(--sans)!important;
  font-weight:300!important;
  font-size:9px!important;
  letter-spacing:.36em!important;
  text-transform:uppercase!important;
}

/* 10. Couleurs textes blancs restées grises */
.fd-obs-card-body,
.fd-obs-text,
.fd-dv,
.fd-cert-sub,
.fd-cert-v,
.fd-cert-k,
.fd-contact-link,
.fd-contact-ic,
.fd-loc,
.fd-desc { color:#fff!important; }
.fd-cert-v.ok { color:rgba(255,255,255,0.70)!important; }
.fd-stat.cert .fd-stat-val { color:rgba(255,255,255,0.70)!important; }
.fd-ecoute-label,.fd-ecoute-ic { color:#fff!important; }
.fd-ecoute-soon { color:rgba(255,255,255,0.70)!important; }

/* ── BOUTONS : rectangulaires, légèrement arrondis (3px) — priorité absolue */
button:not(.po-toggle-sw),
.btn-primary,.btn-outline,.nav-cta,.nav-account-btn,
.submit-btn,.modal-btn,.login-btn,.nl-btn,.nl-skip,
.po-btn,.cb-btn,.po-close,.actu-page-btn,.actu-pnum,
.ftab,.actu-ftab,.df-reset,.actu-freset,.c-type-btn,
.c-merci-btn,.dv-btn,.dom-detail-close,.legal-modal-close,
.modal-cancel,.mon-plan-close,.mp-card-remove,.ex-rp-act,
.ex-rp-fiche-btn,.ex-rp-vtab,.fd-tab,.fd-mtab,.fd-nav-btn,
.fd-nav-close,.fd-arrow,.actu-read-link,.mon-plan-clear,
.fiche-back,.plan-ov-print,.plan-ov-close,.fiche-fav-btn,
#sv-lb-close,.ex-sb-item,.ex-hero-btn,.ex-hero-btn2 {
  border-radius:3px!important;
}

/* ══ EXPORT PDF · MON PLAN ══ */
#mp-print-view { display:none; }

@media print {
  body > *:not(#mp-print-view) { display:none!important; visibility:hidden!important; }
  #mp-print-view.mp-print-ready {
    display:block!important;
    visibility:visible!important;
    position:fixed;inset:0;
    padding:52px 64px;
    font-family:'Helvetica Neue',Arial,sans-serif;
    color:#000;background:#fff;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .mpv-header {
    display:flex;justify-content:space-between;align-items:baseline;
    border-bottom:2px solid #000;padding-bottom:18px;margin-bottom:44px;
  }
  .mpv-logo { font-size:22px;font-weight:200;letter-spacing:.06em; }
  .mpv-meta { font-size:8px;letter-spacing:.32em;text-transform:uppercase;color:#999; }
  .mpv-title {
    font-size:38px;font-weight:200;letter-spacing:-.025em;
    margin-bottom:40px;line-height:1;
  }
  .mpv-table { width:100%;border-collapse:collapse; }
  .mpv-table th {
    font-size:8px;letter-spacing:.38em;text-transform:uppercase;
    border-bottom:1px solid #000;padding:0 16px 12px 0;
    text-align:left;color:#888;font-weight:400;
  }
  .mpv-table td {
    padding:18px 16px 18px 0;border-bottom:1px solid #ebebeb;
    font-size:12px;vertical-align:top;
  }
  .mpv-table td:first-child { color:#ccc;font-size:9px;width:52px; }
  .mpv-table td:nth-child(2) { font-weight:300;font-size:15px;color:#000; }
  .mpv-table td:nth-child(3) { font-size:10px;color:#888;letter-spacing:.04em; }
  .mpv-table td:last-child {
    font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:#bbb;
  }
  .mpv-foot {
    margin-top:44px;border-top:1px solid #e8e8e8;padding-top:14px;
    font-size:8px;letter-spacing:.28em;text-transform:uppercase;
    color:#ccc;text-align:center;
  }
}

/* ══ LETTRE ÉDITORIALE ══ */
.lettre-featured {
  background:var(--d5);border-top:1px solid var(--d4);border-bottom:1px solid var(--d4);
  padding:56px 52px;cursor:pointer;transition:background .22s,border-color .22s;
  position:relative;overflow:hidden;
}
.lettre-featured:hover { background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.70); }
.lettre-featured:hover .lf-tag,.lettre-featured:hover .lf-title,
.lettre-featured:hover .lf-excerpt,.lettre-featured:hover .lf-meta,
.lettre-featured:hover .lf-cta { color:#fff!important; }
.lf-tag { font-size:8px;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,0.70);margin-bottom:16px;transition:color .22s; }
.lf-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(24px,3vw,42px);color:var(--w);line-height:1.1;letter-spacing:-.02em;margin-bottom:20px;transition:color .22s; }
.lf-excerpt { font-size:13px;line-height:1.85;color:#aaa;max-width:620px;margin-bottom:24px;transition:color .22s; }
.lf-meta { font-size:9px;letter-spacing:.22em;color:#555;text-transform:uppercase;transition:color .22s; }
.lf-cta { font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#555;transition:color .22s;margin-left:auto; }
.lf-num { font-family:var(--gabriel);font-size:88px;color:#111;font-weight:400;line-height:1;letter-spacing:-.04em; }
.lf-num-sm { font-family:var(--gabriel);font-size:32px;color:var(--d4);font-weight:400;line-height:1; }

.lettre-item {
  display:grid;grid-template-columns:80px 1fr 90px;gap:28px;
  padding:30px 48px;border-bottom:1px solid rgba(255,255,255,.06);
  cursor:pointer;transition:background .22s;align-items:start;
}
.lettre-item:hover { background:rgba(255,255,255,0.12); }
.lettre-item:hover .li-num,.lettre-item:hover .li-tag,
.lettre-item:hover .li-title,.lettre-item:hover .li-excerpt,
.lettre-item:hover .li-dur { color:#fff!important; }
.lettre-item.open { background:#0d0d0d;border-bottom-color:transparent; }
.li-num { font-family:var(--gabriel);font-size:32px;color:var(--d4);font-weight:400;line-height:1;padding-top:2px;transition:color .22s; }
.li-tag { font-size:8px;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,0.70);margin-bottom:8px;transition:color .22s; }
.li-title { font-family:var(--gabriel);font-weight:200;font-size:18px;color:var(--w);line-height:1.2;letter-spacing:-.01em;margin-bottom:8px;transition:color .22s; }
.li-excerpt { font-size:11px;line-height:1.75;color:#888;max-width:540px;transition:color .22s; }
.li-dur { font-size:9px;letter-spacing:.22em;color:#333;text-transform:uppercase;text-align:right;transition:color .22s;padding-top:4px; }
.li-arrow { font-size:10px;letter-spacing:.18em;color:#333;text-align:right;transition:transform .3s,color .22s;display:block;margin-top:8px; }
.lettre-item.open .li-arrow { transform:rotate(90deg);color:rgba(255,255,255,0.70); }

.lettre-expand {
  max-height:0;overflow:hidden;
  transition:max-height .55s cubic-bezier(.4,0,.2,1);
  background:#080808;border-bottom:1px solid #111;
}
.lettre-expand.open { max-height:800px; }
.lettre-expand-inner {
  padding:40px 48px 48px 160px;
}
.le-body { font-size:13px;line-height:1.95;color:#aaa;max-width:600px; }
.le-body p { margin-bottom:18px; }
.le-body p:last-child { margin-bottom:0; }
.le-tags { margin-top:28px;display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid #111;padding-top:20px; }
.le-tag-item { font-size:8px;letter-spacing:.32em;text-transform:uppercase;color:#333; }
.le-tag-item span { color:#666; }

/* ══ INSTITUTION · EFFETS ══ */
.inst-criteria-box {
  background:#030303;padding:48px 40px;
  transition:background .3s;cursor:default;
}
.inst-criteria-box:hover { background:#0e0404; }
.inst-criteria-box.featured { border-top:2px solid #740e00; }
.inst-criteria-box:not(.featured) { border-top:2px solid transparent;transition:background .3s,border-top-color .3s; }
.inst-criteria-box:not(.featured):hover { border-top-color:#333; }

@media(max-width:900px){
  .lettre-item { grid-template-columns:1fr;gap:8px;padding:24px; }
  .li-num { display:none; }
  .lettre-expand-inner { padding:28px 24px; }
}

/* ══ NAV DROPDOWN "PLUS" ══ */
.nav-more { position:relative; list-style:none; }
.nav-more-toggle { font-size:9px;letter-spacing:.3em;color:#aaaaaa;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:color .2s;white-space:nowrap; }
.nav-more:hover .nav-more-toggle { color:#fff; }
.nav-more-drop {
  position:absolute;top:calc(100% + 16px);right:0;
  background:#0c0c0c;border:1px solid #1e1e1e;
  min-width:200px;padding:6px 0;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .22s,transform .22s,visibility .22s;
  z-index:500;
  box-shadow:0 12px 40px rgba(0,0,0,.6);
}
.nav-more:hover .nav-more-drop { opacity:1;visibility:visible;transform:translateY(0); }
.nav-more-drop a {
  display:block;padding:11px 20px;
  font-size:9px;letter-spacing:.28em;color:#888;
  text-decoration:none;text-transform:uppercase;cursor:pointer;
  transition:color .18s,background .18s;font-family:var(--sans);
}
.nav-more-drop a:hover { color:#fff;background:rgba(255,255,255,.04); }
.nav-more-drop a:first-child { border-bottom:1px solid #1a1a1a;padding-bottom:14px;margin-bottom:4px;color:rgba(255,255,255,0.70); }
.nav-more-drop a:first-child:hover { color:#fff;background:rgba(255,255,255,0.05); }

/* ── POLICE UNIVERSELLE — force Inter partout sauf exceptions ── */
*:not(.qa-words):not(.qa-w):not(.stmt-quote):not(.acces-quote):not(.lect-quote):not(.v-hash):not(.f-chain-v) {
  font-family: inherit;
}
body {
  font-family: var(--sans) !important;
}
/* Titres et headings → gabriel (Helvetica Neue) */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--gabriel) !important;
  font-weight: 200 !important;
}
/* Citations — police fine sans-serif uppercase */
.qa-words, .stmt-quote, .acces-quote, .lect-quote {
  font-family: var(--sans) !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: .28em !important;
}

/* ══ REFLETS ROUGE VIF — couche luminescente rouge sur le rouge-orange ══ */

/* Curseur : lueur rouge */
.cursor {
  box-shadow: 0 0 8px rgba(255,255,255,0.45), 0 0 16px rgba(255,255,255,0.23) !important;
}
.cursor-ring {
  border-color: rgba(255,255,255,0.36) !important;
  box-shadow: 0 0 12px rgba(255,255,255,0.12) !important;
}

/* Barre de navigation — filet rouge avec reflet */
nav {
  border-bottom: 2px solid #740e00 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.29), 0 4px 24px rgba(255,255,255,0.04) !important;
}

/* Bouton Connexion — gradient rouge vif vers rouge-orange */
.nav-account-btn {
  background: linear-gradient(155deg, #740e00 0%, #740e00 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,80,20,.18) inset,
    0 2px 0 rgba(255,160,80,.2) inset,
    0 6px 24px rgba(0,0,0,.45),
    0 0 32px rgba(255,255,255,0.18),
    0 0 8px rgba(255,255,255,0.12) !important;
}
.nav-account-btn:hover {
  background: linear-gradient(155deg, #8c1400 0%, #740e00 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,100,40,.22) inset,
    0 8px 28px rgba(0,0,0,.45),
    0 0 50px rgba(255,255,255,0.29),
    0 0 20px rgba(255,255,255,0.2) !important;
}

/* Cartes distinctions hover — glass bordeaux (see primary rule above) */
.actu-item:hover, .actu-featured:hover {
  background: linear-gradient(135deg, #740e00 0%, #740e00 80%) !important;
  border-color:rgba(255,255,255,0.70)!important;
}
.lettre-item:hover, .lettre-featured:hover {
  background: linear-gradient(135deg, #740e00 0%, #740e00 80%) !important;
  border-color:rgba(255,255,255,0.70)!important;
}

/* Plans overlay — plan recommandé */
.po-plan.featured {
  outline-color: rgba(255,255,255,0.29) !important;
}
.po-plan-redline {
  background: linear-gradient(to right, transparent, #740e00, #740e00, transparent) !important;
}

/* Bouton primaire (blanc) — reflet rouge en ombre */
.btn-primary:hover, .submit-btn:hover, .modal-btn:hover {
  box-shadow:
    0 0 0 1.5px rgba(255,255,255,.58) inset,
    0 2px 0 rgba(255,255,255,.98) inset,
    0 14px 42px rgba(0,0,0,.55),
    0 0 30px rgba(255,255,255,0.05) !important;
}

/* Scrollbar — reflet rouge */
::-webkit-scrollbar-thumb { background: linear-gradient(to bottom, #740e00, #740e00) !important; }

/* Filet rouge des sections */
.po-plan-redline,
.dom-detail.open { border-top-color:rgba(255,255,255,0.70)!important; }
.dom-card.active .dom-card-active-bar { background: linear-gradient(to right, #740e00, #740e00) !important; }

/* Lueur ambiante homepage — rouge plus vif */
#glass-l1 {
  background: radial-gradient(ellipse at 55% 30%, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 42%, transparent 68%) !important;
}

/* ══ REFLETS ROUGE VIF 2X — textes, lignes, accents ══ */

/* Tous les textes en rouge-orange → text-shadow rouge vif */
.mf-eye, .sv-eye2, .inner-eye, .acces-eye,
.po-eye, .po-plan.featured .po-plan-eye,
.nl-eye, .c-merci-eye, .lf-tag, .li-tag,
.actu-featured-tag, .actu-item-tag, .actu-ticker-label, .actu-ticker-dot,
.dom-card-cta, .dom-principe-label,
.fd-tab.active, .ex-view-hd-eye,
.dc-tag, .sv-card-cat, .v-eye,
.po-check, .dv-btn.active,
.lettre-item.open .li-arrow,
.mf-link, .actu-read-link:hover,
.footer-nav h4,
[style*="color:#740e00"], [style*="color: #740e00"] {
  text-shadow:
    0 0 12px rgba(255,255,255,0.45),
    0 0 28px rgba(255,255,255,0.26),
    0 0 50px rgba(255,255,255,0.1) !important;
}

/* Lignes / bordures en rouge-orange → box-shadow rouge */
nav {
  box-shadow:
    0 1px 0 rgba(255,255,255,0.39),
    0 2px 30px rgba(255,255,255,0.07),
    0 4px 60px rgba(255,255,255,0.03) !important;
}

.dom-detail.open {
  border-top: 2px solid #740e00 !important;
  box-shadow: 0 -2px 20px rgba(255,255,255,0.23) !important;
}

.fd-tab.active {
  border-bottom: 2px solid #740e00 !important;
  box-shadow: 0 2px 16px rgba(255,255,255,0.26) !important;
}

.po-plan-redline {
  background: linear-gradient(to right, transparent, #740e00, #740e00, transparent) !important;
  box-shadow: 0 0 20px rgba(255,255,255,0.33) !important;
}

/* Scrollbar */
::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #740e00, #740e00) !important;
  box-shadow: 0 0 6px rgba(255,255,255,0.39) !important;
}

/* Curseur — double lueur rouge vif */
.cursor {
  background: radial-gradient(circle, #740e00 0%, #740e00 100%) !important;
  box-shadow:
    0 0 6px rgba(255,255,255,0.59),
    0 0 14px rgba(255,255,255,0.45),
    0 0 28px rgba(255,255,255,0.26) !important;
}
.cursor-ring {
  border-color: rgba(255,255,255,0.45) !important;
  box-shadow:
    0 0 10px rgba(255,255,255,0.23),
    0 0 24px rgba(255,255,255,0.1) !important;
}

/* Bouton Connexion nav */
.nav-account-btn {
  background: linear-gradient(155deg, #740e00 0%, #740e00 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,80,20,.2) inset,
    0 2px 0 rgba(255,160,80,.22) inset,
    0 6px 24px rgba(0,0,0,.45),
    0 0 40px rgba(255,255,255,0.29),
    0 0 12px rgba(255,255,255,0.16) !important;
}
.nav-account-btn:hover {
  background: linear-gradient(155deg, #8c1400 0%, #740e00 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,100,40,.25) inset,
    0 8px 28px rgba(0,0,0,.45),
    0 0 70px rgba(255,255,255,0.42),
    0 0 30px rgba(255,255,255,0.26) !important;
}



/* Lueur ambiante homepage */
#glass-l1 {
  background: radial-gradient(ellipse at 55% 30%,
    rgba(255,255,255,0.08) 0%,
    rgba(255,255,255,0.04) 42%,
    transparent 68%) !important;
}
#glass-l2 {
  background: radial-gradient(ellipse at 40% 80%,
    rgba(255,255,255,0.04) 0%,
    transparent 60%) !important;
}

/* Tag dot dans les cartes distinctions */
.dc-tag-dot {
  background:rgba(255,255,255,0.12) !important;
  box-shadow: 0 0 6px rgba(255,255,255,0.52) !important;
}

/* Ligne rouge intro page d'accueil hero */
.hero-red-glow {
  background: radial-gradient(ellipse 68% 72% at 52% 38%,
    rgba(255,255,255,0.14) 0%,
    rgba(255,255,255,0.05) 50%,
    transparent 68%) !important;
}

/* Onglet actif dans la médiathèque fiche */
.fd-mtab.active {
  color: #fff !important;
  border-bottom: 1px solid #740e00 !important;
  box-shadow: 0 2px 14px rgba(255,255,255,0.26) !important;
  text-shadow: 0 0 12px rgba(255,255,255,0.33) !important;
}

/* ══ LÉGER REFLET ROUGE-ORANGE — touche chaude sur le rouge pur ══ */

/* Curseur — halo chaud */
.cursor {
  background:rgba(255,255,255,0.12) !important;
  box-shadow: 0 0 8px rgba(255,255,255,0.45), 0 0 18px rgba(255,80,0,.2) !important;
}
.cursor-ring {
  border-color: rgba(255,255,255,0.36) !important;
  box-shadow: 0 0 14px rgba(255,60,0,.12) !important;
}

/* Bouton Connexion — touche orange chaude en haut */
.nav-account-btn {
  background: linear-gradient(160deg, #740e00 0%, #d93800 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,70,20,.18) inset,
    0 1px 0 rgba(255,130,60,.18) inset,
    0 6px 24px rgba(0,0,0,.45),
    0 0 30px rgba(255,255,255,0.16) !important;
}
.nav-account-btn:hover {
  background: linear-gradient(160deg, #ff1200 0%, #e44000 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,90,30,.22) inset,
    0 8px 28px rgba(0,0,0,.45),
    0 0 50px rgba(255,255,255,0.26) !important;
}



/* Filet nav — léger halo chaud */
nav {
  border-bottom: 2px solid #740e00 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.26), 0 4px 20px rgba(255,50,0,.06) !important;
}

/* Lueur ambiante homepage — touche orange très subtile */
#glass-l1 {
  background: radial-gradient(ellipse at 55% 30%,
    rgba(255,255,255,0.06) 0%,
    rgba(255,60,0,.02) 50%,
    transparent 68%) !important;
}

/* Scrollbar — reflet orange au bord */
::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #740e00 60%, #d94000 100%) !important;
}

/* Tag dot distinctions — léger halo chaud */
.dc-tag-dot {
  background:rgba(255,255,255,0.12) !important;
  box-shadow: 0 0 5px rgba(255,255,255,0.39), 0 0 10px rgba(255,60,0,.12) !important;
}

/* ══ FOOTER GLOBAL — une seule ligne compacte ══ */
#global-footer {
  border-top: 1px solid #111;
  background: #030303;
  padding: 16px 48px;
}
.gf-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-family: var(--sans);
  font-size: 8px;
  letter-spacing: .22em;
  text-transform: uppercase;
  white-space: nowrap;
}
.gf-logo {
  font-family: var(--gabriel);
  font-weight: 300;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: none;
  color: #ffffff;
  flex-shrink: 0;
  display:flex;align-items:center;gap:6px;
}
.gf-logo-mark { height:18px;width:18px;flex-shrink:0; }
.gf-logo sup { font-size: .5em; vertical-align: super; color: #aaa; }
.gf-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex: 1;
}
.gf-center a {
  color: #ffffff;
  cursor: pointer;
  transition: color .2s;
  text-decoration: none;
  font-size: 8px;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.gf-center a:hover { color: rgba(255,255,255,.6); }
.gf-dot { color: #333; flex-shrink: 0; }
.gf-rights {
  color: #ffffff;
  font-size: 8px;
  letter-spacing: .18em;
  flex-shrink: 0;
}
@media(max-width:900px) {
  #global-footer { padding: 16px 24px; }
  .gf-inner { gap: 6px; }
}

/* ══ MODAL ACTUALITÉS — fond noir, encadrement rouge ══ */
.actu-modal-inner {
  position:relative;
  width:min(92vw,660px);
  max-height:88vh;
  overflow-y:auto;
  background:#080808;
  border:1px solid #740e00;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.1) inset,
    0 0 40px rgba(255,255,255,0.12),
    0 0 80px rgba(255,255,255,0.04),
    0 24px 60px rgba(0,0,0,.8);
  padding:36px 40px 40px;
  animation:fadeUp .3s ease;
}
.actu-modal-inner::-webkit-scrollbar { width:2px; }
.actu-modal-inner::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.12); }

.actu-modal-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}
.actu-modal-tag {
  font-size:8px;letter-spacing:.4em;text-transform:uppercase;
  color:rgba(255,255,255,0.70);
  text-shadow: 0 0 10px rgba(255,255,255,0.26);
}
.actu-modal-actions { display:flex;gap:10px;align-items:center; }

/* Bouton Écouter */
.actu-modal-listen-btn {
  display:flex;align-items:center;gap:8px;
  background:transparent;
  border:1px solid rgba(255,255,255,0.26);
  color:rgba(255,255,255,0.70);
  font-family:var(--sans);font-size:8px;letter-spacing:.28em;text-transform:uppercase;
  padding:8px 14px;cursor:pointer;
  transition:all .22s;
  border-radius:3px;
}
.actu-modal-listen-btn:hover {
  background:rgba(255,255,255,0.05);
  border-color:rgba(255,255,255,0.70);
  box-shadow:0 0 14px rgba(255,255,255,0.16);
}
.actu-modal-listen-btn.playing {
  background:rgba(255,255,255,0.08);
  border-color:rgba(255,255,255,0.70);
  animation:am-pulse 2s ease-in-out infinite;
}
@keyframes am-pulse {
  0%,100% { box-shadow:0 0 8px rgba(255,255,255,0.13); }
  50%      { box-shadow:0 0 22px rgba(255,255,255,0.33); }
}
.am-listen-ic { font-size:10px; }
.am-listen-lbl { font-size:8px; }

/* Bouton fermer */
.actu-modal-close-btn {
  background:transparent;border:1px solid #1e1e1e;
  color:#555;font-size:12px;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;border-radius:3px;
  font-family:var(--sans);
}
.actu-modal-close-btn:hover { border-color:rgba(255,255,255,0.70);color:rgba(255,255,255,0.70); }

/* Barre de progression audio */
.am-progress-bar {
  height:2px;background:#111;margin-bottom:24px;
  border-radius:1px;overflow:hidden;
}
.am-progress-fill {
  height:100%;width:0%;
  background:linear-gradient(to right,#740e00,rgba(255,255,255,0.33));
  transition:width .3s linear;
  box-shadow:0 0 6px rgba(255,255,255,0.39);
}

/* Titre */
.actu-modal-title {
  font-family:var(--gabriel);font-weight:200;
  font-size:clamp(20px,3vw,30px);
  color:#ffffff;line-height:1.15;letter-spacing:-.01em;
  margin-bottom:24px;
}

/* Corps */
.actu-modal-body {
  font-size:13px;line-height:1.95;
  color:#ffffff;
  margin-bottom:20px;
}

/* Statut L'Augure */
.actu-modal-status {
  margin-top:24px;padding:16px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.03);
  font-size:10px;line-height:1.75;
  color:#ffffff;
}
.actu-modal-status:empty { display:none; }

/* Meta */
.actu-modal-meta {
  margin-top:20px;padding-top:16px;
  border-top:1px solid #111;
  font-size:9px;letter-spacing:.18em;
  color:#444;text-transform:uppercase;
}
.actu-modal-meta:empty { display:none; }

/* ══ GLOBE PAGE ══ */
.globe-page {
  min-height: 100vh;
  background: #000;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 100px 48px 60px;
}
.globe-hd { text-align:center; margin-bottom: 36px; }
.globe-hd-eye { font-size:8px;letter-spacing:.5em;color:rgba(255,255,255,0.70);text-transform:uppercase;margin-bottom:14px;
  text-shadow:0 0 12px rgba(255,255,255,0.33); }
.globe-hd-title { font-family:var(--gabriel);font-weight:200;font-size:clamp(28px,4vw,52px);color:#fff;letter-spacing:-.02em;margin-bottom:10px; }
.globe-hd-sub { font-size:9px;letter-spacing:.3em;color:#333;text-transform:uppercase; }

/* Search */
.globe-search-row { position:relative;width:100%;max-width:420px;margin-bottom:32px; }
.globe-search-wrap {
  display:flex;align-items:center;gap:10px;
  border-bottom:1px solid rgba(255,255,255,.18);
  padding:8px 0;
  transition:border-color .2s;
}
.globe-search-wrap:focus-within { border-bottom-color:rgba(255,255,255,0.70); }
.globe-search-ic { color:#333;font-size:12px;flex-shrink:0; }
.globe-search-inp {
  flex:1;background:transparent;border:none;outline:none;
  color:#fff;font-family:var(--sans);font-size:13px;font-weight:300;
  letter-spacing:.02em;
}
.globe-search-inp::placeholder { color:#333; }
.globe-search-clear { background:transparent;border:none;color:#555;cursor:pointer;font-size:11px;padding:0;transition:color .2s; }
.globe-search-clear:hover { color:#fff; }
.globe-search-results {
  position:absolute;top:100%;left:0;right:0;z-index:50;
  background:#0c0c0c;border:1px solid #1e1e1e;
  display:none;
}
.globe-search-results.open { display:block; }
.globe-sr-item {
  padding:12px 16px;font-size:11px;color:#888;cursor:pointer;
  transition:background .15s,color .15s;
  border-bottom:1px solid #111;
}
.globe-sr-item:last-child { border-bottom:none; }
.globe-sr-item:hover { background:#111;color:#fff; }
.globe-sr-item b { color:rgba(255,255,255,0.70);font-weight:400; }

/* Canvas */
.globe-canvas-wrap {
  position:relative;
  width:100%;max-width:780px;
}
#globe-canvas {
  display:block;width:100%;cursor:grab;
}
#globe-canvas:active { cursor:grabbing; }
.globe-tooltip {
  position:absolute;pointer-events:none;
  background:#0a0a0a;border:1px solid rgba(255,255,255,0.33);
  padding:10px 14px;z-index:10;
  box-shadow:0 0 20px rgba(255,255,255,0.13);
}
.gt-name { font-family:var(--gabriel);font-weight:200;font-size:14px;color:#fff;margin-bottom:4px; }
.gt-count { font-size:8px;letter-spacing:.3em;color:rgba(255,255,255,0.70);text-transform:uppercase;
  text-shadow:0 0 8px rgba(255,255,255,0.33); }
.globe-hint {
  text-align:center;font-size:8px;letter-spacing:.25em;color:#1a1a1a;
  text-transform:uppercase;margin-top:16px;transition:opacity 1s;
}
.globe-legend {
  display:flex;align-items:center;gap:8px;margin-top:20px;
  font-size:9px;letter-spacing:.28em;color:#333;text-transform:uppercase;
}
.globe-legend-dot {
  width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.12);flex-shrink:0;
  box-shadow:0 0 8px rgba(255,255,255,0.39);
}



/* ══ AMBIENT LIGHT · Jeu de lumière atmosphérique ══ */
#amb {
  position:fixed;inset:0;
  pointer-events:none;
  z-index:1;
  overflow:hidden;
}
#amb::before {
  content:'';
  position:absolute;
  width:clamp(520px,72vw,1000px);
  height:clamp(520px,72vw,1000px);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,0.03) 0%,rgba(255,255,255,0.01) 40%,transparent 68%);
  animation:ambA 34s ease-in-out infinite;
  top:-18%;left:-12%;
  will-change:transform;
}
#amb::after {
  content:'';
  position:absolute;
  width:clamp(380px,52vw,720px);
  height:clamp(380px,52vw,720px);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,0.02) 0%,rgba(255,255,255,0.01) 38%,transparent 65%);
  animation:ambB 27s ease-in-out infinite 8s;
  bottom:-12%;right:-8%;
  will-change:transform;
}

@keyframes ambA {
  0%   { transform:translate(0,0) scale(1); }
  20%  { transform:translate(55vw,8vh) scale(1.08); }
  40%  { transform:translate(72vw,42vh) scale(.94); }
  60%  { transform:translate(38vw,65vh) scale(1.04); }
  80%  { transform:translate(12vw,30vh) scale(.97); }
  100% { transform:translate(0,0) scale(1); }
}
@keyframes ambB {
  0%   { transform:translate(0,0) scale(1); }
  25%  { transform:translate(-45vw,-22vh) scale(1.06); }
  50%  { transform:translate(-62vw,15vh) scale(.92); }
  75%  { transform:translate(-28vw,50vh) scale(1.03); }
  100% { transform:translate(0,0) scale(1); }
}

/* Sur la page d'accueil — lueur ambiante masquée */
body:has(#p-home.active) #amb,
body.page-home #amb { opacity:0 !important; }

/* ── Contact — select personnalisé ── */
.c-sel-wrap { position:relative;width:100%; }
.c-sel-btn {
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0 13px;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#555;font-family:var(--sans);font-size:11px;font-weight:300;
  cursor:pointer;transition:border-color .2s,color .2s;
  letter-spacing:.04em;user-select:none;
}
.c-sel-btn:hover { border-bottom-color:rgba(255,255,255,.28);color:#aaa; }
.c-sel-wrap.c-sel-open .c-sel-btn { border-bottom-color:rgba(255,255,255,0.70);color:#fff; }
.c-sel-arrow { font-size:9px;color:#333;transition:transform .22s,color .2s;display:inline-block; }
.c-sel-wrap.c-sel-open .c-sel-arrow { transform:rotate(180deg);color:rgba(255,255,255,0.70); }
.c-sel-opts {
  position:absolute;top:calc(100% + 1px);left:0;right:0;
  background:#080808;
  border:1px solid rgba(255,255,255,0.14);
  border-top:none;
  z-index:200;
  max-height:0;overflow:hidden;
  transition:max-height .3s cubic-bezier(.4,0,.2,1);
}
.c-sel-wrap.c-sel-open .c-sel-opts { max-height:320px; }
.c-sel-opt {
  padding:14px 18px;font-size:11px;color:#666;font-family:var(--sans);
  font-weight:300;letter-spacing:.04em;cursor:pointer;
  transition:background .15s,color .15s;
  border-bottom:1px solid #111;
}
.c-sel-opt:last-child { border-bottom:none; }
.c-sel-opt:hover { background:rgba(255,255,255,0.05);color:#fff; }
.c-sel-opt-placeholder { color:#2a2a2a; }

/* ══ LAUGURE SELECT WRAP · Remplacement universel des <select> ══ */
.lsw { position:relative;width:100%; }

.lsw-btn {
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 0 11px;
  border-bottom:1px solid rgba(255,255,255,.12);
  cursor:pointer;
  transition:border-color .2s;
  user-select:none;
}
.lsw-btn:hover { border-bottom-color:rgba(255,255,255,.28); }
.lsw.lsw-open .lsw-btn { border-bottom-color:rgba(255,255,255,0.70); }

.lsw-val {
  font-family:var(--sans);font-size:11px;font-weight:300;
  color:#555;letter-spacing:.04em;
  transition:color .2s;
}
.lsw.lsw-has-val .lsw-val { color:#ccc; }
.lsw.lsw-open .lsw-val { color:#fff; }

.lsw-arr {
  font-size:9px;color:#2a2a2a;
  transition:transform .22s ease,color .2s;
  display:inline-block;flex-shrink:0;
}
.lsw.lsw-open .lsw-arr { transform:rotate(180deg);color:rgba(255,255,255,0.70); }

.lsw-panel {
  position:absolute;top:calc(100% + 1px);left:0;right:0;
  background:#080808;
  border:1px solid rgba(255,255,255,0.13);
  border-top:none;
  z-index:300;
  max-height:0;overflow:hidden;
  transition:max-height .28s cubic-bezier(.4,0,.2,1);
  box-shadow:0 8px 24px rgba(0,0,0,.7);
}
.lsw.lsw-open .lsw-panel { max-height:260px;overflow-y:auto; }

.lsw-item {
  padding:12px 16px;
  font-family:var(--sans);font-size:11px;font-weight:300;
  color:#555;letter-spacing:.04em;cursor:pointer;
  border-bottom:1px solid #0e0e0e;
  transition:background .14s,color .14s;
}
.lsw-item:last-child { border-bottom:none; }
.lsw-item:hover { background:rgba(255,255,255,0.05);color:#ccc; }
.lsw-item-ph { color:#222; }
.lsw-item-on { color:rgba(255,255,255,0.70); }
.lsw-item-on::before { content:'· '; }

/* Scrollbar panel */
.lsw-panel::-webkit-scrollbar { width:3px; }
.lsw-panel::-webkit-scrollbar-track { background:transparent; }
.lsw-panel::-webkit-scrollbar-thumb { background:#222; }

/* ══ COOKIE SETTINGS PANEL ══ */
#cookie-settings-overlay {
  display:none;position:fixed;inset:0;z-index:900;
  background:rgba(0,0,0,.75);backdrop-filter:blur(6px);
  align-items:flex-end;justify-content:center;
}
#cookie-settings-overlay.open { display:flex; }
#cookie-settings-panel {
  width:100%;max-width:680px;background:#080808;
  border:1px solid rgba(255,255,255,0.12);border-bottom:none;
  animation:slideUpPanel .3s cubic-bezier(.4,0,.2,1) both;
}
@keyframes slideUpPanel { from{transform:translateY(100%);opacity:0} to{transform:translateY(0);opacity:1} }
.csp-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 32px;border-bottom:1px solid #111;
}
.csp-title { font-family:var(--sans);font-weight:200;font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:#fff; }
.csp-close { background:transparent;border:none;color:#444;cursor:pointer;font-size:14px;transition:color .2s; }
.csp-close:hover { color:#fff; }
.csp-body { padding:24px 32px;max-height:60vh;overflow-y:auto; }
.csp-intro { font-size:10px;line-height:1.8;color:#666;letter-spacing:.02em;margin-bottom:24px; }
.csp-cat { border-bottom:1px solid #111;padding:18px 0; }
.csp-cat:last-child { border-bottom:none; }
.csp-cat-off .csp-cat-name { color:#333; }
.csp-cat-off .csp-cat-desc { color:#222; }
.csp-cat-hd { display:flex;align-items:center;justify-content:space-between;gap:24px; }
.csp-cat-name { font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#aaa;font-family:var(--sans);font-weight:300;margin-bottom:6px; }
.csp-cat-desc { font-size:9.5px;line-height:1.75;color:#444;font-family:var(--sans);font-weight:300; }
.csp-toggle {
  flex-shrink:0;width:40px;height:22px;border-radius:11px;
  background:#1a1a1a;border:1px solid #2a2a2a;cursor:pointer;
  position:relative;transition:background .2s,border-color .2s;
}
.csp-toggle span {
  position:absolute;top:3px;left:3px;width:14px;height:14px;
  border-radius:50%;background:#333;transition:left .2s,background .2s;
}
.csp-toggle.csp-toggle-on { background:rgba(255,255,255,0.13);border-color:rgba(255,255,255,0.33); }
.csp-toggle.csp-toggle-on span { left:21px;background:rgba(255,255,255,0.12); }
.csp-toggle.csp-toggle-locked { cursor:default;opacity:.45; }
.csp-toggle.csp-toggle-locked.csp-toggle-on { background:rgba(255,255,255,.08);border-color:#333; }
.csp-toggle.csp-toggle-locked.csp-toggle-on span { left:21px;background:#555; }
.csp-footer {
  display:flex;gap:8px;padding:20px 32px;border-top:1px solid #111;
  justify-content:flex-end;
}
.csp-btn-refuse,.csp-btn-save,.csp-btn-accept {
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  font-family:var(--sans);padding:10px 18px;cursor:pointer;border:1px solid #222;
  background:transparent;color:#555;transition:all .2s;
}
.csp-btn-refuse:hover { border-color:#555;color:#aaa; }
.csp-btn-save { border-color:rgba(255,255,255,0.23);color:rgba(255,255,255,0.70); }
.csp-btn-save:hover { background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.70); }
.csp-btn-accept { background:#fff;color:#000;border-color:#fff; }
.csp-btn-accept:hover { background:#e8e8e8; }
.cb-btn.cb-settings { border-color:#1e1e1e;color:#444; }
.cb-btn.cb-settings:hover { border-color:#555;color:#aaa; }

/* Lm-table pour la politique de confidentialité */
.lm-table { width:100%;border-collapse:collapse;font-size:10px;margin-top:10px; }
.lm-table th { text-align:left;font-weight:400;letter-spacing:.15em;text-transform:uppercase;font-size:8px;color:#555;padding:8px 12px;border-bottom:1px solid #1a1a1a; }
.lm-table td { padding:10px 12px;border-bottom:1px solid #111;color:#888;font-size:10px;line-height:1.6; }
.lm-table tr:last-child td { border-bottom:none; }

/* ── Citation intro — statique, sous logo + mots ── */
#intro-quote {
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-weight:200;
  font-size:8px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
  text-align:center;
  line-height:2.1;
  margin-top:20px;
  max-width:540px;
  pointer-events:none;
}
.iq-hl { color:rgba(255,255,255,0.70); }

/* ══ PAGE MARQUE ══════════════════════════════════════════════════════════════ */
#p-marque { background:#060606; overflow-x:hidden; font-family:var(--sans); }

/* Hero */
.mq-hero { position:relative; height:100vh; min-height:600px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.mq-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.52; }
.mq-hero-veil { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(6,6,6,.1) 0%, rgba(6,6,6,.45) 55%, rgba(6,6,6,.98) 100%); }
.mq-scroll-hint { position:absolute; bottom:44px; left:50%; transform:translateX(-50%); font-size:20px; color:#ffffff; animation:mq-bounce 2.4s ease-in-out infinite; z-index:2; pointer-events:none; }
@keyframes mq-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(10px)} }

/* Manifesto */
.mq-manifesto { position:relative; padding:140px 0 130px; background:#060606; overflow:hidden; }
.mq-manifesto-inner { max-width:1000px; margin:0 auto; padding:0 56px; }
.mq-mline { font-size:clamp(16px,2.6vw,34px); font-family:var(--sans); font-weight:200; letter-spacing:.18em; text-transform:uppercase; color:#ffffff; line-height:1.7; margin:0 0 4px; }
.mq-mline-red { color:rgba(255,255,255,0.70); }

/* Ambient drifting light */
.mq-amb { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 55% 38% at 78% 52%, rgba(255,255,255,0.04) 0%, transparent 70%); animation:mq-amb-drift 14s ease-in-out infinite alternate; }
.mq-amb-r { background:radial-gradient(ellipse 55% 38% at 22% 58%, rgba(255,255,255,0.05) 0%, transparent 70%); animation-delay:-7s; }
@keyframes mq-amb-drift { from{transform:translate(0,0) scale(1)} to{transform:translate(-36px,18px) scale(1.07)} }

/* Origin split */
.mq-origin { display:grid; grid-template-columns:1fr 1fr; min-height:640px; }
.mq-origin-img-wrap { overflow:hidden; position:relative; }
.mq-origin-img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 14s ease; transform:scale(1.06); }
.mq-origin-img-wrap:hover .mq-origin-img { transform:scale(1.0); }
.mq-origin-text { background:#080808; display:flex; flex-direction:column; justify-content:center; padding:80px 72px; }

/* Cinematic angled section */
.mq-cinematic { position:relative; height:78vh; min-height:480px; display:flex; align-items:center; justify-content:flex-end; overflow:hidden; clip-path:polygon(0 8%,100% 0,100% 92%,0 100%); margin:-72px 0; z-index:1; }
.mq-cinematic-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.04); }
.mq-cinematic-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,6,6,.3) 0%,rgba(6,6,6,.72) 55%,rgba(6,6,6,.9) 100%); }
.mq-cinematic-text { position:relative; z-index:2; padding:0 9% 0 0; text-align:right; max-width:640px; margin-left:auto; }
.mq-ct-kicker { font-size:9px; letter-spacing:.44em; text-transform:uppercase; color:rgba(255,255,255,0.70); margin-bottom:18px; font-family:var(--sans); }
.mq-ct-headline { font-size:clamp(26px,4.5vw,62px); font-family:var(--sans); font-weight:200; letter-spacing:.16em; text-transform:uppercase; color:#ffffff; line-height:1.4; }

/* Three pillars */
.mq-mission { padding:180px 0 120px; background:#060606; }
.mq-mission-inner { display:grid; grid-template-columns:repeat(3,1fr); max-width:1200px; margin:0 auto; padding:0 56px; }
.mq-mission-col { padding:0 48px 0 0; border-right:1px solid #141414; }
.mq-mission-col:last-child { border-right:none; padding:0 0 0 48px; }
.mq-mission-col:nth-child(2) { padding:0 48px; }
.mq-mc-num { font-size:48px; font-family:var(--sans); font-weight:200; color:#ffffff; line-height:1; margin-bottom:24px; letter-spacing:.04em; }
.mq-mc-title { font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:#ffffff; margin-bottom:20px; font-family:var(--sans); font-weight:400; }
.mq-mc-body { font-size:11px; color:#ffffff; line-height:2; font-family:var(--sans); font-weight:200; }

/* Video interlude */
.mq-video-interlude { position:relative; height:56vh; min-height:360px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.mq-vi-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.48; }
.mq-vi-veil { position:absolute; inset:0; background:rgba(6,6,6,.52); }
.mq-vi-text { position:relative; z-index:2; text-align:center; }
.mq-vi-line { font-family:var(--sans); font-weight:200; font-size:clamp(14px,2.2vw,28px); letter-spacing:.32em; text-transform:uppercase; color:#ffffff; line-height:2; }
.mq-vi-red { color:rgba(255,255,255,0.70); }

/* Image strip */
.mq-strip { display:flex; height:320px; gap:2px; overflow:hidden; }
.mq-strip-img { flex:1; background-size:cover; background-position:center; filter:brightness(.62) saturate(.7); transition:flex .7s cubic-bezier(.4,0,.2,1), filter .45s ease; }
.mq-strip-img:hover { flex:2.8; filter:brightness(.9) saturate(1.05); }

/* Large block quote */
.mq-bigquote { position:relative; padding:150px 48px; background:#060606; text-align:center; overflow:hidden; }
.mq-bq-inner { max-width:820px; margin:0 auto; font-size:clamp(11px,1.8vw,20px); font-family:var(--sans); font-weight:200; letter-spacing:.22em; text-transform:uppercase; color:#ffffff; line-height:2.2; position:relative; z-index:1; }
.mq-bq-red { color:rgba(255,255,255,0.70); }

/* Context / closing split */
.mq-context { display:grid; grid-template-columns:1fr 1fr; min-height:640px; }
.mq-context-img-wrap { overflow:hidden; position:relative; }
.mq-context-img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform 14s ease; transform:scale(1.06); }
.mq-context-img-wrap:hover .mq-context-img { transform:scale(1.0); }
.mq-context-text { background:#080808; display:flex; flex-direction:column; justify-content:center; padding:80px 72px; }
.mq-context-cta { margin-top:40px; }
.mq-cta-btn { background:transparent; border:1px solid rgba(255,255,255,.25); color:#ffffff; font-family:var(--sans); font-size:9px; letter-spacing:.32em; text-transform:uppercase; padding:14px 30px; cursor:pointer; transition:border-color .3s, color .3s; font-weight:300; }
.mq-cta-btn:hover { border-color:rgba(255,255,255,0.70); color:rgba(255,255,255,0.70); }

/* Video end panel */
.mq-video-end { position:relative; height:42vh; min-height:260px; overflow:hidden; }
.mq-ve-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.44; }
.mq-ve-veil { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(6,6,6,.5) 0%,rgba(6,6,6,.1) 50%,rgba(6,6,6,.7) 100%); }

/* Shared text utilities */
.mq-section-eye { font-size:9px; letter-spacing:.42em; text-transform:uppercase; color:rgba(255,255,255,0.70); margin-bottom:22px; font-family:var(--sans); font-weight:400; }
.mq-section-title { font-size:clamp(18px,2.6vw,38px); font-family:var(--sans); font-weight:200; letter-spacing:.2em; text-transform:uppercase; color:#ffffff; line-height:1.5; margin:0 0 28px; }
.mq-section-body { font-size:11px; color:#ffffff; line-height:2.1; margin:0 0 18px; font-family:var(--sans); font-weight:200; }

/* Finale */
.mq-finale { padding:100px 0 80px; text-align:center; background:#060606; border-top:1px solid #111; }
.mq-finale-line { width:1px; height:60px; background:linear-gradient(to bottom,transparent,#740e00,transparent); margin:0 auto 40px; }
.mq-finale-word { font-size:clamp(22px,3.5vw,48px); font-family:var(--sans); font-weight:200; letter-spacing:.25em; text-transform:uppercase; color:#ffffff; margin-bottom:18px; }
.mq-finale-sub { font-size:8px; letter-spacing:.44em; text-transform:uppercase; color:rgba(255,255,255,0.70); font-family:var(--sans); }



/* ══ BRIEF TRIGGER ══ */
#brief-trigger { display:none;position:fixed;bottom:76px;right:48px;z-index:600;background:rgba(4,0,0,.65);border:1px solid rgba(255,255,255,0.18);border-radius:8px;padding:15px 22px;color:rgba(255,255,255,.42);font-family:var(--sans);font-size:8px;font-weight:300;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(18px);transition:all .28s; }
#brief-trigger:hover { border-color:rgba(255,255,255,0.42);background:rgba(255,255,255,0.09);color:rgba(255,255,255,.88); }
body.dist-active #brief-trigger { display:block; }

/* ══ BRIEF OVERLAY ══ */
#brief-overlay { display:none;position:fixed;inset:0;z-index:700;background:rgba(3,0,0,.68);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);align-items:center;justify-content:center;padding:48px; }
#brief-overlay.open { display:flex; }
.brief-close { position:absolute;top:36px;right:48px;background:transparent;border:none;color:rgba(255,255,255,.28);font-size:20px;cursor:pointer;line-height:1;transition:color .2s;padding:0; }
.brief-close:hover { color:#fff; }
.brief-back { position:absolute;top:32px;left:48px;background:transparent;border:none;color:rgba(255,255,255,.45);font-family:var(--sans);font-size:9px;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;padding:0;transition:color .2s; }
.brief-back:hover { color:#fff; }
.brief-inner { width:100%;max-width:580px;max-height:84vh;overflow-y:auto;scrollbar-width:none; }
.brief-inner::-webkit-scrollbar { display:none; }
.brief-eyebrow { font-family:var(--sans);font-size:8px;font-weight:300;letter-spacing:.4em;text-transform:uppercase;color:rgba(255,255,255,0.49);margin-bottom:36px; }
.brief-question { font-family:var(--gabriel);font-size:clamp(24px,4vw,40px);font-weight:300;color:#fff;margin-bottom:44px;line-height:1.25; }
.brief-input-wrap { display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:18px;margin-bottom:28px;transition:border-color .3s; }
.brief-input-wrap:focus-within { border-bottom-color:rgba(255,255,255,.25); }
.brief-input { flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:var(--sans);font-size:13px;font-weight:300;letter-spacing:.03em; }
.brief-input::placeholder { color:rgba(255,255,255,.18); }
.brief-submit { background:transparent;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 22px;color:rgba(255,255,255,.42);font-family:var(--sans);font-size:8px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:all .22s;flex-shrink:0; }
.brief-submit:hover { border-color:rgba(255,255,255,0.70);color:#fff;background:rgba(255,255,255,0.08); }
.brief-suggestions { display:flex;flex-wrap:wrap;gap:8px; }
.brief-sugg { background:transparent;border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:7px 15px;color:rgba(255,255,255,.28);font-family:var(--sans);font-size:8px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .2s; }
.brief-sugg:hover { border-color:rgba(255,255,255,0.29);color:rgba(255,255,255,.72);background:rgba(255,255,255,0.05); }
.brief-ai-msg { font-family:var(--gabriel);font-size:clamp(16px,2.2vw,22px);font-weight:300;color:rgba(255,255,255,.82);font-style:italic;line-height:1.7;margin-bottom:28px;min-height:1.7em;letter-spacing:.01em; }
.brief-ai-qs { display:flex;flex-direction:column;gap:8px;margin-bottom:28px; }
.brief-q-btn { background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:11px 22px;color:rgba(255,255,255,.5);font-family:var(--sans);font-size:8px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;text-align:left;transition:all .22s; }
.brief-q-btn:hover { border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.85);padding-left:28px; }
.bci-lock-wrap { position:relative;overflow:hidden; }
.bci-lock-wrap > .bci { filter:blur(6px);pointer-events:none;user-select:none;opacity:.5; }
.bci-lock-badge { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(3,0,0,.38);cursor:pointer;transition:background .2s; }
.bci-lock-badge:hover { background:rgba(255,255,255,0.18); }
.bci-lock-text { font-family:var(--sans);font-size:7px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.38); }
.brief-cards { display:flex;flex-direction:column;gap:10px; }

/* ── Search Result Cards ── */
.sr-card { padding:22px 24px 20px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);display:flex;flex-direction:column;text-align:left;transition:border-color .2s; }
.sr-card:hover { border-color:rgba(255,255,255,.2); }
.sr-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:16px; }
.sr-code { font-family:var(--sans);font-size:8px;letter-spacing:.44em;color:rgba(255,255,255,.3);text-transform:uppercase; }
.sr-tag { font-family:var(--sans);font-size:7px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.12);padding:4px 10px; }
.sr-name { font-family:'Helvetica Neue',Arial,sans-serif;font-size:clamp(18px,2.4vw,26px);font-weight:200;letter-spacing:.1em;color:rgba(255,255,255,.96);line-height:1.25;margin-bottom:10px; }
.sr-info { display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px; }
.sr-brand { font-family:var(--sans);font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.55); }
.sr-isep { font-family:var(--sans);font-size:8px;color:rgba(255,255,255,.2); }
.sr-loc { font-family:var(--sans);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.38); }
.sr-rule { width:32px;height:1px;background:rgba(255,255,255,.18);margin-bottom:16px; }
.sr-desc { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(12px,1.3vw,14px);font-weight:300;color:rgba(255,255,255,.6);line-height:1.85;margin-bottom:16px; }
.sr-foot { font-family:var(--sans);font-size:7px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.22); }
.sr-discover { display:inline-block;margin-top:14px;font-family:var(--sans);font-size:7px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:2px;text-decoration:none;transition:color .2s,border-color .2s; }
.sr-discover:hover { color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.4); }
.sr-sugg-title { font-family:var(--sans);font-size:8px;letter-spacing:.38em;text-transform:uppercase;color:rgba(255,255,255,.28);padding:12px 0 4px; }
/* Compact list items */
.sr-item { display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);gap:12px; }
.sr-item:hover { border-color:rgba(255,255,255,.15); }
.sr-item-l { display:flex;align-items:center;gap:12px;flex:1;min-width:0; }
.sr-item-num { font-family:var(--sans);font-size:7px;letter-spacing:.36em;color:rgba(255,255,255,.2);text-transform:uppercase;white-space:nowrap; }
.sr-item-name { font-family:'Helvetica Neue',Arial,sans-serif;font-size:12px;font-weight:200;letter-spacing:.07em;color:rgba(255,255,255,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.sr-item-r { display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0; }
.sr-item-brand { font-family:var(--sans);font-size:7px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.4); }
.sr-item-loc { font-family:var(--sans);font-size:7px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.22); }
/* Lock */
.sr-lock-wrap { position:relative;overflow:hidden; }
.sr-lock-wrap > .sr-card { filter:blur(8px);pointer-events:none;user-select:none;opacity:.22; }
.sr-lock-wrap.sr-compact > .sr-item { filter:blur(5px);pointer-events:none;user-select:none;opacity:.28; }
.sr-lock-badge { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(3,0,0,.22);cursor:pointer;transition:background .28s;border:1px solid rgba(255,255,255,.06); }
.sr-lock-wrap.sr-compact .sr-lock-badge { flex-direction:row;gap:14px;border:none; }
.sr-lock-badge:hover { background:rgba(255,255,255,0.13); }
.sr-lock-text { font-family:var(--sans);font-size:7px;letter-spacing:.36em;text-transform:uppercase;color:rgba(255,255,255,.35); }
.sr-lock-cta { font-family:var(--sans);font-size:7px;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:3px; }
/* Chat bar */
.brief-chat-hist { display:flex;flex-direction:column;gap:6px;margin-bottom:14px; }
.bc-msg { font-family:var(--sans);font-size:9px;letter-spacing:.14em;line-height:1.7;max-width:88%; }
.bc-user { color:rgba(255,255,255,.42);text-align:right;align-self:flex-end;padding-right:10px;border-right:1px solid rgba(255,255,255,.14); }
.bc-ai { color:rgba(255,255,255,.28);font-style:italic;align-self:flex-start;padding-left:10px;border-left:1px solid rgba(255,255,255,.1); }
.brief-chat-bar { display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.14);border-radius:0;padding:13px 18px;margin-top:28px;background:rgba(255,255,255,.03);transition:border-color .25s,background .25s; }
.brief-chat-bar:focus-within { border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.05); }
.brief-chat-inp { flex:1;background:transparent;border:none;outline:none;color:rgba(255,255,255,.82);font-family:var(--gabriel);font-size:13px;font-weight:300;font-style:italic;letter-spacing:.02em; }
.brief-chat-inp::placeholder { color:rgba(255,255,255,.2); }
.brief-chat-btn { background:transparent;border:none;color:rgba(255,255,255,.32);font-size:16px;cursor:pointer;padding:0;transition:color .2s;line-height:1; }
.brief-chat-btn:hover { color:rgba(255,255,255,.72); }
.brief-new { margin-top:28px;background:transparent;border:none;color:rgba(255,255,255,.2);font-family:var(--sans);font-size:8px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:color .2s;padding:0; }
.brief-new:hover { color:rgba(255,255,255,.55); }
/* ── 2-column result layout ── */
.brief-inner.brief-wide { max-width:1000px;max-height:92vh;overflow-y:hidden;display:flex;flex-direction:column; }
.brief-cols { display:flex;gap:0;flex:1;min-height:0;overflow:hidden; }
.brief-col-l { flex:0 0 52%;overflow-y:auto;padding:0 40px 0 16px;border-right:1px solid rgba(255,255,255,.07);scrollbar-width:none; }
.brief-col-l::-webkit-scrollbar { display:none; }
.brief-col-r { flex:1;display:flex;flex-direction:column;padding:0 16px 0 40px;overflow:hidden;min-height:0; }
.brief-col-r-bottom { flex-shrink:0; }
.brief-inner.brief-wide .brief-chat-hist { flex:1;overflow-y:auto;gap:10px;margin-bottom:0;scrollbar-width:none;padding-bottom:8px; }
.brief-inner.brief-wide .brief-chat-hist::-webkit-scrollbar { display:none; }
.brief-inner.brief-wide .brief-ai-msg { font-size:clamp(15px,1.7vw,19px);margin-bottom:18px;min-height:auto; }
.brief-inner.brief-wide .brief-chat-bar { margin-top:14px; }
/* Card images */
.sr-img-wrap { width:100%;height:160px;overflow:hidden;margin-bottom:16px; }
.sr-img { width:100%;height:100%;object-fit:cover;filter:brightness(.82);transition:filter .4s; }
.sr-card:hover .sr-img { filter:brightness(.92); }
/* Clickable item arrow */
.sr-item-arrow { color:rgba(255,255,255,.22);font-size:14px;flex-shrink:0; }
/* Lock padlock icon */
.sr-lock-svg { color:rgba(255,255,255,.4);flex-shrink:0; }
@media(max-width:768px){
  #brief-overlay{padding:32px 24px;}
  .brief-question{margin-bottom:28px;}
  #brief-trigger{bottom:72px;right:24px;}
  .brief-inner.brief-wide{max-width:100%;max-height:88vh;overflow-y:auto;}
  .brief-cols{flex-direction:column;overflow:visible;}
  .brief-col-l{flex:none;overflow-y:visible;padding-right:0;border-right:none;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:28px;margin-bottom:28px;}
  .brief-col-r{padding-left:0;}
  .brief-inner.brief-wide .brief-chat-hist{flex:none;overflow-y:visible;max-height:none;}
}

/* ══ HOME INTRO ══ */
.hi-phrase {
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:clamp(11px,1.25vw,16px);
  font-weight:200;letter-spacing:.15em;color:#fff;
  text-align:center;line-height:1.18;margin:0;padding:1px 0;
  text-shadow:
    0 0 32px rgba(255,135,12,0.28),
    0 0 80px rgba(255,120,5,0.12),
    0 1px 0 rgba(255,255,255,0.07);
}
.hi-sep {
  width:20px;height:1px;
  background:rgba(255,255,255,.45);
  margin:18px auto;
  box-shadow: 0 0 10px rgba(255,130,10,0.55), 0 0 24px rgba(255,120,5,0.28);
}
.hi-categories {
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:clamp(6px,0.85vw,9px);font-weight:300;
  letter-spacing:.46em;text-transform:uppercase;
  color:rgba(255,255,255,.60);
  text-align:center;line-height:1;margin:0;
  text-shadow: 0 0 20px rgba(255,128,8,0.22);
}

/* Flash lumière par lettre (image #10) */
@keyframes hi-letter-flash {
  0%   {
    opacity: 0;
    text-shadow:
      0 0 8px  rgba(255,145,15,1),
      0 0 22px rgba(255,130,10,0.92),
      0 0 55px rgba(255,115,5,0.68);
  }
  18%  {
    opacity: 1;
    text-shadow:
      0 0 12px rgba(255,145,15,1),
      0 0 32px rgba(255,138,12,0.96),
      0 0 80px rgba(255,124,6,0.78),
      0 0 150px rgba(255,112,0,0.52);
  }
  100% {
    opacity: 1;
    text-shadow:
      0 0 32px rgba(255,135,12,0.28),
      0 0 80px rgba(255,120,5,0.12);
  }
}
.hi-flash {
  display: inline;
  animation: hi-letter-flash 0.55s ease-out forwards;
}

/* Curseur = source de lumière chaude (image #8) */
#hi-cursor {
  display:inline-block;font-weight:300;opacity:1;margin-left:1px;
  animation:hi-blink .65s steps(1) infinite;
  color: rgba(255,255,255,0.95);
  text-shadow:
    0 0 5px rgba(255,145,15,1),
    0 0 12px rgba(255,135,10,0.92),
    0 0 28px rgba(255,125,5,0.72),
    0 0 60px rgba(255,115,0,0.48),
    0 0 120px rgba(255,105,0,0.28);
}
@keyframes hi-blink { 0%,100%{opacity:1} 50%{opacity:0} }

/* Cône de lumière derrière le texte (image #9) */
#home-intro::before {
  content: '';
  position: absolute;
  inset: -250% -400%;
  background: radial-gradient(
    ellipse 38% 28% at 50% 48%,
    rgba(255,135,10,0.26) 0%,
    rgba(255,120,5,0.12)  30%,
    rgba(255,100,0,0.05)  55%,
    transparent           72%
  );
  pointer-events: none;
  z-index: -1;
  animation: cone-pulse 5s ease-in-out infinite;
}
@keyframes cone-pulse {
  0%,100% { opacity:0.7; transform:scale(1);   }
  50%      { opacity:1;   transform:scale(1.08); }
}

/* ══ SWIPE VIEW — VIDEO IN SCREEN ══ */
#sw-view { position:absolute;inset:0;z-index:2;overflow:hidden;background:#050505; }

/* Frame image — the room with the screen */
#dist-frame-img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
  pointer-events:none;
}
/* Media + flash — JS sets left/top/width/height via alignScreenMedia() */
#dist-screen-media {
  position:absolute;top:0;left:0;width:0;height:0;
  z-index:2;overflow:hidden;background:#000;
}
#dist-screen-media img { width:100%;height:100%;object-fit:cover;display:block; }
#dist-screen-media video { width:100%;height:100%;object-fit:fill;display:block; }
#dist-screen-flash {
  position:absolute;top:0;left:0;width:0;height:0;
  z-index:3;background:#fff;opacity:0;pointer-events:none;
}
/* Drag zone */
#sw-drag-zone { position:absolute;top:0;left:0;width:100%;height:79%;z-index:5;cursor:grab; }
#sw-drag-zone.sw-dragging { cursor:grabbing; }


/* Hide old panel elements */
#sw-panels, .sw-panel, .sw-bg, .sw-grain, .sw-gradient { display:none !important; }

@media(max-width:768px){
  #dci-inner { flex-direction:column;gap:12px; }
  #dci-right { display:none; }
  /* #dist-screen-media, #dist-screen-flash positioned by JS */
}



/* ══════════════════════════════════════════════════════════
   GLASS v5 — Miroir cristal · Prismes irisés · Lueur chaude
   ══════════════════════════════════════════════════════════ */

:root {
  --r:    8px;
  --r-sm: 5px;
  /* Fond miroir : très transparent */
  --g-bg:   rgba(255,255,255,0.06);
  --g-bg-h: rgba(255,255,255,0.12);
  --g-bd:   rgba(255,255,255,0.26);
  --g-bd-h: rgba(255,255,255,0.52);
  /* Reflets de bord cristal */
  --top-hi:  rgba(255,255,255,0.92);
  --top-cx:  rgba(190,225,255,0.38);
  --side-bl: rgba(155,210,255,0.22);
  --side-wm: rgba(255,200,160,0.13);
  --bot-dk:  rgba(0,0,0,0.70);
  /* Lueur chaude extérieure — image #6 */
  --glow:    0 0 55px rgba(255,132,8,0.13), 0 8px 28px rgba(255,125,5,0.08);
  --glow-h:  0 0 85px rgba(255,142,18,0.24), 0 10px 36px rgba(255,135,12,0.15);
  /* Profondeur */
  --depth:   0 18px 55px rgba(0,0,0,0.82), 0 5px 18px rgba(0,0,0,0.58);
  --depth-h: 0 26px 76px rgba(0,0,0,0.90), 0 8px 26px rgba(0,0,0,0.68);
  --blur:    blur(32px) saturate(1.3);
}

/* ── position:relative + overflow pour containers avec ::before ── */
.brief-input-wrap,
.brief-chat-bar,
.home-search-wrap,
.dist-hero-search {
  position: relative !important;
  overflow: hidden !important;
}

/* ── Animation arc-en-ciel ────────────────────────────── */
@keyframes glass-rainbow {
  0%   { filter: hue-rotate(0deg)   brightness(1.05); }
  100% { filter: hue-rotate(360deg) brightness(1.05); }
}

/* ── Shimmer prismatique ::before (containers) ────────── */
.brief-input-wrap::before,
.brief-chat-bar::before,
.home-search-wrap::before,
.dist-hero-search::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(
    115deg,
    rgba(255, 80, 60, 0.50)  0%,
    rgba(255,255,255,0.74)   10%,
    rgba(255, 80, 60, 0.24)  22%,
    rgba(255,255,255,0.10)   34%,
    transparent              46%,
    transparent              68%,
    rgba(255, 80, 60, 0.08)  83%,
    rgba(255, 80, 60, 0.16)  100%
  ) !important;
  pointer-events: none !important;
  z-index: 2 !important;
  animation: glass-rainbow 14s linear infinite !important;
}

/* ── Enfants au-dessus du shimmer ─────────────────────── */
.brief-input-wrap > *,
.brief-chat-bar > *,
.home-search-wrap > *,
.dist-hero-search > * {
  position: relative !important;
  z-index: 3 !important;
}

/* ── Style miroir partagé (containers) ────────────────── */
.brief-input-wrap,
.brief-chat-bar,
.home-search-wrap,
.dist-hero-search {
  background: linear-gradient(
    170deg,
    rgba(255,255,255,0.10) 0%,
    rgba(255,255,255,0.04) 35%,
    rgba(0,0,0,0.04) 65%,
    rgba(255,255,255,0.07) 100%
  ) !important;
  border: 1px solid var(--g-bd) !important;
  backdrop-filter: var(--blur) !important;
  -webkit-backdrop-filter: var(--blur) !important;
  box-shadow:
    inset 0 1px 0 var(--top-hi),
    inset 0 2px 5px var(--top-cx),
    inset 1px 0 0 var(--side-bl),
    inset -1px 0 0 var(--side-wm),
    inset 0 -1px 0 var(--bot-dk),
    var(--glow),
    var(--depth) !important;
  transition: border-color .28s, box-shadow .28s !important;
}

/* ── Focus : prismes + lueur renforcée ────────────────── */
.brief-input-wrap:focus-within,
.brief-chat-bar:focus-within,
.home-search-wrap:focus-within,
.dist-hero-search:focus-within {
  border-color: var(--g-bd-h) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 2px 8px rgba(200,235,255,0.46),
    inset 1px 0 0 rgba(168,218,255,0.32),
    inset -1px 0 0 rgba(255,205,145,0.20),
    inset 0 -1px 0 rgba(0,0,0,0.74),
    var(--glow-h),
    var(--depth-h) !important;
}

/* ── Layouts + paddings spécifiques ───────────────────── */
.brief-input-wrap {
  display: flex !important; align-items: center !important; gap: 12px !important;
  border-radius: 8px !important;
  padding: 11px 10px 11px 20px !important;
  margin-bottom: 28px !important;
}
.brief-chat-bar {
  display: flex !important; align-items: center !important; gap: 12px !important;
  border-radius: 8px !important;
  padding: 11px 10px 11px 20px !important;
  margin-top: 22px !important;
}
.home-search-wrap {
  display: flex !important; align-items: center !important; gap: 8px !important;
  border-radius: 8px !important;
  padding: 8px 8px 8px 18px !important;
}
.dist-hero-search {
  display: flex !important; align-items: center !important; gap: 12px !important;
  border-radius: 8px !important;
  padding: 9px 10px 9px 20px !important;
  min-width: 240px !important;
}

/* ── Inputs ───────────────────────────────────────────── */
.brief-input {
  flex: 1 !important; background: transparent !important;
  border: none !important; outline: none !important;
  color: rgba(255,255,255,0.92) !important;
}
.brief-input::placeholder { color: rgba(255,255,255,0.55) !important; }
.brief-chat-inp {
  flex: 1 !important; background: transparent !important;
  border: none !important; outline: none !important;
  color: rgba(255,255,255,0.95) !important;
}
.brief-chat-inp::placeholder { color: rgba(255,255,255,0.50) !important; }
.home-search-icon  { color: rgba(255,255,255,0.75) !important; flex-shrink: 0 !important; }
.home-search-input { color: rgba(255,255,255,0.96) !important; }
.home-search-input::placeholder { color: rgba(255,255,255,0.58) !important; }
.dist-search-icon  { color: rgba(255,255,255,0.68) !important; }
.dist-search-input { color: rgba(255,255,255,0.95) !important; }
.dist-search-input::placeholder { color: rgba(255,255,255,0.52) !important; }

/* ── Petits boutons → intégrés (crystal mini) ─────────── */
.brief-submit,
.brief-chat-btn,
.home-search-btn {
  background: linear-gradient(
    155deg,
    rgba(255,255,255,0.20) 0%,
    rgba(255,255,255,0.08) 50%,
    rgba(0,0,0,0.04) 100%
  ) !important;
  border: 1px solid rgba(255,255,255,0.30) !important;
  border-radius: var(--r-sm) !important;
  color: rgba(255,255,255,0.80) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.72),
    inset 0 -1px 0 rgba(0,0,0,0.48),
    inset 1px 0 0 rgba(155,212,255,0.24),
    0 4px 14px rgba(0,0,0,0.50) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.brief-submit {
  padding: 8px 18px !important; overflow: hidden !important;
}
.brief-chat-btn {
  width: 34px !important; height: 34px !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important; padding: 0 !important;
  font-size: 15px !important; overflow: hidden !important;
}
.home-search-btn {
  width: 26px !important; height: 26px !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important; padding: 0 !important;
}
.brief-submit:hover, .brief-chat-btn:hover, .home-search-btn:hover {
  background: linear-gradient(
    155deg,
    rgba(255,255,255,0.32) 0%,
    rgba(255,255,255,0.14) 50%,
    rgba(0,0,0,0.02) 100%
  ) !important;
  border-color: rgba(255,255,255,0.52) !important;
  color: rgba(255,255,255,1) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.88),
    inset 0 -1px 0 rgba(0,0,0,0.52),
    inset 1px 0 0 rgba(172,224,255,0.34),
    0 6px 20px rgba(0,0,0,0.60),
    0 0 18px rgba(255,138,12,0.18) !important;
  transform: scale(1.06) translateY(-1px) !important;
}

/* ── CTA "Composer un moment" — arc-en-ciel animé ────── */
#brief-trigger {
  background:
    linear-gradient(
      115deg,
      rgba(255,80,60,0.44)   0%,
      rgba(255,255,255,0.66) 10%,
      rgba(255,80,60,0.20)   22%,
      transparent            44%
    ),
    linear-gradient(
      170deg,
      rgba(255,255,255,0.14) 0%,
      rgba(255,255,255,0.05) 42%,
      rgba(0,0,0,0.05)       65%,
      rgba(255,255,255,0.09) 100%
    ) !important;
  border: 1px solid rgba(255,255,255,0.32) !important;
  border-radius: 8px !important;
  padding: 15px 22px !important;
  color: rgba(255,255,255,0.90) !important;
  font-weight: 400 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.88),
    inset 0 2px 4px rgba(190,225,255,0.30),
    inset 1px 0 0 rgba(255,80,60,0.22),
    inset -1px 0 0 rgba(255,80,60,0.13),
    inset 0 -1px 0 rgba(0,0,0,0.62),
    var(--glow),
    var(--depth) !important;
  backdrop-filter: var(--blur) !important;
  -webkit-backdrop-filter: var(--blur) !important;
  animation: glass-rainbow 14s linear infinite !important;
  transition: background 0.28s, border-color 0.28s, box-shadow 0.28s, transform 0.28s, color 0.28s !important;
}
#brief-trigger:hover {
  background:
    linear-gradient(
      115deg,
      rgba(255,80,60,0.58)   0%,
      rgba(255,255,255,0.82) 10%,
      rgba(255,80,60,0.28)   22%,
      transparent            44%
    ),
    linear-gradient(
      170deg,
      rgba(255,255,255,0.22) 0%,
      rgba(255,255,255,0.10) 42%,
      rgba(0,0,0,0.03)       65%,
      rgba(255,255,255,0.14) 100%
    ) !important;
  border-color: rgba(255,255,255,0.54) !important;
  color: rgba(255,255,255,1) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 2px 8px rgba(200,235,255,0.40),
    inset 1px 0 0 rgba(255,80,60,0.30),
    inset -1px 0 0 rgba(255,80,60,0.18),
    inset 0 -1px 0 rgba(0,0,0,0.68),
    var(--glow-h),
    var(--depth-h) !important;
  transform: translateY(-3px) !important;
}

/* ── Q-buttons IA — shimmer baked in bg-image ──────────── */
.brief-q-btn {
  background:
    linear-gradient(
      115deg,
      rgba(255,80,60,0.36)   0%,
      rgba(255,255,255,0.55) 10%,
      transparent            40%
    ),
    linear-gradient(
      170deg,
      rgba(255,255,255,0.09) 0%,
      rgba(255,255,255,0.04) 40%,
      rgba(255,255,255,0.07) 100%
    ) !important;
  border: 1px solid var(--g-bd) !important;
  border-radius: 8px !important;
  padding: 15px 22px !important;
  color: rgba(255,255,255,0.60) !important;
  box-shadow:
    inset 0 1px 0 var(--top-hi),
    inset 0 2px 4px var(--top-cx),
    inset 1px 0 0 var(--side-bl),
    inset 0 -1px 0 var(--bot-dk),
    var(--glow),
    var(--depth) !important;
  backdrop-filter: var(--blur) !important;
  -webkit-backdrop-filter: var(--blur) !important;
  animation: glass-rainbow 14s linear infinite !important;
  transition: background 0.22s, border-color 0.22s, box-shadow 0.22s, transform 0.22s, color 0.22s !important;
}
.brief-q-btn:hover {
  border-color: var(--g-bd-h) !important;
  color: rgba(255,255,255,0.96) !important;
  background:
    linear-gradient(
      115deg,
      rgba(255,80,60,0.52)   0%,
      rgba(255,255,255,0.72) 10%,
      rgba(255,80,60,0.20)   22%,
      transparent            40%
    ),
    linear-gradient(
      170deg,
      rgba(255,255,255,0.16) 0%,
      rgba(255,255,255,0.07) 40%,
      rgba(255,255,255,0.11) 100%
    ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 2px 8px rgba(200,235,255,0.44),
    inset 0 -1px 0 rgba(0,0,0,0.74),
    var(--glow-h),
    var(--depth-h) !important;
  transform: translateY(-2px) !important;
}

/* ── Nav CTA — shimmer baked in bg-image ──────────────── */
.nav-cta {
  background:
    linear-gradient(
      115deg,
      rgba(255,80,60,0.40)   0%,
      rgba(255,255,255,0.60) 10%,
      transparent            40%
    ),
    linear-gradient(
      170deg,
      rgba(255,255,255,0.11) 0%,
      rgba(255,255,255,0.05) 40%,
      rgba(255,255,255,0.09) 100%
    ) !important;
  border: 1px solid var(--g-bd) !important;
  border-radius: 8px !important;
  padding: 15px 22px !important;
  box-shadow:
    inset 0 1px 0 var(--top-hi),
    inset 0 2px 4px var(--top-cx),
    inset 1px 0 0 var(--side-bl),
    inset 0 -1px 0 var(--bot-dk),
    var(--glow),
    var(--depth) !important;
  backdrop-filter: var(--blur) !important;
  -webkit-backdrop-filter: var(--blur) !important;
  animation: glass-rainbow 14s linear infinite !important;
  transition: background 0.28s, border-color 0.28s, box-shadow 0.28s, transform 0.28s !important;
}
.nav-cta:hover {
  border-color: var(--g-bd-h) !important;
  background:
    linear-gradient(
      115deg,
      rgba(255,80,60,0.56)   0%,
      rgba(255,255,255,0.78) 10%,
      transparent            40%
    ),
    linear-gradient(
      170deg,
      rgba(255,255,255,0.20) 0%,
      rgba(255,255,255,0.09) 40%,
      rgba(255,255,255,0.14) 100%
    ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 2px 8px rgba(200,235,255,0.42),
    inset 0 -1px 0 rgba(0,0,0,0.74),
    var(--glow-h),
    var(--depth-h) !important;
  transform: translateY(-2px) !important;
}

/* ── Plan featured button ─────────────────────────────── */
.po-btn {
  position: relative !important; overflow: hidden !important;
  border-radius: 8px !important;
  box-shadow:
    inset 0 1px 0 var(--top-hi),
    inset 0 2px 4px var(--top-cx),
    inset 0 -1px 0 var(--bot-dk),
    var(--glow),
    var(--depth) !important;
  backdrop-filter: var(--blur) !important;
  -webkit-backdrop-filter: var(--blur) !important;
  transition: all 0.3s ease !important;
}
.po-btn:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 2px 8px rgba(200,235,255,0.40),
    inset 0 -1px 0 rgba(0,0,0,0.74),
    var(--glow-h),
    var(--depth-h) !important;
}
.po-plan.featured .po-btn {
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(210,210,210,0.96) 100%) !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  color: #040404 !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,1),
    inset 0 -3px 0 rgba(0,0,0,0.18),
    var(--depth),
    0 0 40px rgba(255,255,255,0.18) !important;
}

/* ── Dist cards ─────────────────────────────────────────── */
.dist-card {
  border: 1px solid rgba(255,255,255,0.03) !important;
  transition: background .22s, border-color .22s, box-shadow .22s !important;
}
.dist-card:hover {
  border-color: rgba(255,255,255,0.09) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 14px 44px rgba(0,0,0,0.72) !important;
}

/* ── Boutons texte ─────────────────────────────────────── */
.brief-back, .brief-new {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.brief-back {
  color: rgba(255,255,255,0.38) !important;
  font-family: var(--sans) !important;
  font-size: 9px !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  transition: color .2s !important;
}
.brief-back:hover { color: rgba(255,255,255,0.82) !important; }
.brief-new { color: rgba(255,255,255,0.22) !important; transition: color .2s !important; }
.brief-new:hover { color: rgba(255,255,255,0.62) !important; }

/* ── AI message ─────────────────────────────────────────── */
.brief-ai-msg {
  font-family: var(--gabriel) !important;
  font-style: italic !important;
  color: rgba(255,255,255,0.86) !important;
  font-size: clamp(16px,1.8vw,22px) !important;
  line-height: 1.45 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 20px !important;
  min-height: 2em !important;
}



/* ══════════════════════════════════════════════════════════
   SCREEN — Placeholder distinctions sans image
   ══════════════════════════════════════════════════════════ */
.sw-placeholder {
  width:100%; height:100%;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  background:#050505; gap:5px;
}
.sw-ph-num {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(16px,3.5vw,48px);
  color:rgba(255,255,255,0.07);
  letter-spacing:0.12em; line-height:1;
}
.sw-ph-name {
  font-size:clamp(5px,0.9vw,8px);
  color:rgba(255,255,255,0.18);
  letter-spacing:0.24em; text-transform:uppercase;
  font-family:'Raleway',Arial,sans-serif;
  text-align:center; padding:0 6px;
}

/* ══════════════════════════════════════════════════════════
   DISTINCTIONS — Viewer plein écran · Layout complet
   ══════════════════════════════════════════════════════════ */
#dist-fullscreen {
  position:fixed; inset:0;
  background:#030303;
  z-index:9998;
  display:none; flex-direction:column;
  overflow:hidden;
}
#dist-fullscreen.df-open { display:flex; }

#df-bg-blur {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  filter:blur(70px) brightness(0.14) saturate(0.55);
  transform:scale(1.15); z-index:0; pointer-events:none;
}

/* ── Barre top ── */
#df-top {
  position:relative; z-index:2;
  display:flex; align-items:center; gap:14px;
  padding:0 24px; height:50px; flex-shrink:0;
  border-bottom:1px solid rgba(255,255,255,0.05);
  background:rgba(0,0,0,0.28); backdrop-filter:blur(14px);
}
#df-top-ref {
  font-family:'Raleway',Arial,sans-serif;
  font-size:8px; letter-spacing:0.30em;
  color:rgba(255,255,255,0.26); text-transform:uppercase;
  white-space:nowrap; flex-shrink:0;
}
.df-ref-sep { margin:0 5px; opacity:0.5; }

/* Filtres catégorie */
#df-cat-filters {
  display:flex; gap:4px; flex:1;
  overflow-x:auto; scrollbar-width:none;
}
#df-cat-filters::-webkit-scrollbar { display:none; }
.df-cf {
  font-family:'Raleway',Arial,sans-serif;
  font-size:7px; letter-spacing:0.18em; text-transform:uppercase;
  background:transparent;
  border:1px solid rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.26);
  padding:5px 10px; border-radius:20px;
  cursor:pointer; white-space:nowrap; transition:all 0.2s;
}
.df-cf:hover { border-color:rgba(255,255,255,0.16); color:rgba(255,255,255,0.52); }
.df-cf.df-cf-on {
  background:rgba(255,255,255,0.07);
  border-color:rgba(255,255,255,0.20);
  color:rgba(255,255,255,0.72);
}

#df-close-btn {
  background:none;
  border:1px solid rgba(255,255,255,0.09);
  color:rgba(255,255,255,0.32);
  width:28px; height:28px; border-radius:50%;
  cursor:pointer; font-size:10px;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.2s; font-family:Arial,sans-serif;
  flex-shrink:0; line-height:1;
}
#df-close-btn:hover { border-color:rgba(255,255,255,0.26); color:rgba(255,255,255,0.68); }

/* ── Corps : sidebar + media ── */
#df-body {
  flex:1; display:flex; min-height:0;
  position:relative; z-index:1;
}

/* Sidebar info */
#df-sidebar {
  width:240px; flex-shrink:0;
  display:flex; flex-direction:column;
  padding:22px 18px 18px;
  border-right:1px solid rgba(255,255,255,0.05);
  background:rgba(0,0,0,0.20); backdrop-filter:blur(10px);
  overflow-y:auto; scrollbar-width:none;
  gap:0;
}
#df-sidebar::-webkit-scrollbar { display:none; }

#df-sb-tag {
  font-family:'Raleway',Arial,sans-serif;
  font-size:7px; letter-spacing:0.24em; text-transform:uppercase;
  color:rgba(255,255,255,0.24); margin-bottom:8px;
}
#df-sb-name {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:19px; color:rgba(255,255,255,0.85);
  line-height:1.2; margin-bottom:4px;
}
#df-sb-owner {
  font-family:'Raleway',Arial,sans-serif;
  font-size:8px; color:rgba(255,255,255,0.28);
  letter-spacing:0.10em;
}
.df-hr {
  height:1px; background:rgba(255,255,255,0.06);
  margin:13px 0; flex-shrink:0;
}
#df-sb-note {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:12.5px; color:rgba(255,255,255,0.44);
  line-height:1.78; font-style:italic;
}
.df-src-link {
  display:flex; align-items:center; justify-content:space-between;
  font-family:'Raleway',Arial,sans-serif;
  font-size:7.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:rgba(255,255,255,0.30); text-decoration:none;
  padding:5px 0; transition:color 0.2s;
}
.df-src-link:hover { color:rgba(255,255,255,0.62); }
.df-src-arr { font-size:10px; margin-left:4px; flex-shrink:0; }
#df-sb-src-label { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

#df-sb-views {
  font-family:'Raleway',Arial,sans-serif;
  font-size:7.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:rgba(255,255,255,0.20); margin-top:2px;
}
#df-sb-actions {
  display:flex; gap:6px; margin-top:10px;
}
.df-act-btn {
  flex:1;
  font-family:'Raleway',Arial,sans-serif;
  font-size:7px; letter-spacing:0.16em; text-transform:uppercase;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.09);
  color:rgba(255,255,255,0.36);
  padding:9px 4px; border-radius:4px;
  cursor:pointer; transition:all 0.22s;
}
.df-act-btn:hover {
  background:rgba(255,255,255,0.07);
  border-color:rgba(255,255,255,0.20);
  color:rgba(255,255,255,0.72);
}
.df-act-btn.df-active {
  background:rgba(255,255,255,0.09);
  border-color:rgba(255,255,255,0.28);
  color:rgba(255,255,255,0.82);
}

/* Zone media */
#df-media-zone {
  position:relative; flex:1;
  display:flex; align-items:center; justify-content:center;
  padding:18px 68px; min-width:0;
}
#df-media {
  max-width:100%; max-height:100%;
  display:flex; align-items:center; justify-content:center;
  transition:opacity 0.18s ease;
}
#df-media img {
  max-width:100%; max-height:100%;
  object-fit:contain;
  border-radius:2px;
  box-shadow:0 24px 90px rgba(0,0,0,0.65);
  display:block;
}
.df-placeholder {
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:12px; padding:30px 40px; text-align:center;
}
.df-ph-num {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(50px,9vw,110px);
  color:rgba(255,255,255,0.04);
  letter-spacing:0.08em; line-height:1;
}
.df-ph-name {
  font-size:clamp(8px,1.2vw,11px);
  color:rgba(255,255,255,0.17);
  letter-spacing:0.28em; text-transform:uppercase;
  font-family:'Raleway',Arial,sans-serif;
}

.df-arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
  color:rgba(255,255,255,0.26);
  width:36px; height:36px; border-radius:50%;
  cursor:pointer; font-size:13px;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.22s; backdrop-filter:blur(8px);
  font-family:Arial,sans-serif;
}
#df-arrow-prev { left:14px; }
#df-arrow-next { right:14px; }
.df-arrow:hover {
  background:rgba(255,255,255,0.07);
  border-color:rgba(255,255,255,0.17);
  color:rgba(255,255,255,0.62);
}

/* Barre nav bas */
#df-nav-bar {
  position:relative; z-index:2;
  display:flex; align-items:center; justify-content:center; gap:20px;
  height:40px; flex-shrink:0;
  border-top:1px solid rgba(255,255,255,0.05);
  background:rgba(0,0,0,0.22); backdrop-filter:blur(8px);
}
.df-nav-step {
  background:none; border:none;
  color:rgba(255,255,255,0.22);
  font-size:13px; cursor:pointer;
  padding:4px 8px; transition:color 0.2s;
  font-family:Arial,sans-serif;
}
.df-nav-step:hover { color:rgba(255,255,255,0.58); }
#df-nav-counter {
  font-family:'Raleway',Arial,sans-serif;
  font-size:8px; letter-spacing:0.26em;
  color:rgba(255,255,255,0.20); text-transform:uppercase;
  min-width:80px; text-align:center;
}

/* Mobile */
@media(max-width:768px){
  #df-body { flex-direction:column; }
  #df-sidebar {
    width:100%; border-right:none;
    border-top:1px solid rgba(255,255,255,0.05);
    padding:14px 16px 14px; flex-shrink:0;
    max-height:44vh; overflow-y:auto;
  }
  #df-media-zone { padding:10px 48px; flex:1; min-height:150px; }
  #df-top { padding:0 14px; gap:8px; height:46px; }
  .df-cf { font-size:6.5px; padding:4px 7px; }
  #df-sb-name { font-size:16px; }
  #df-sb-note { font-size:11.5px; }
  .df-arrow { width:32px; height:32px; }
  #df-arrow-prev { left:8px; }
  #df-arrow-next { right:8px; }
}

/* ══════════════════════════════════════════════════════════════════
   COMPOSER UN MOMENT — overlay deux étapes
   ══════════════════════════════════════════════════════════════════ */

#composer-overlay {
  position:fixed; inset:0; z-index:9997;
  display:none; align-items:center; justify-content:center;
  padding:24px;
}
#composer-overlay.comp-open { display:flex; }

#comp-backdrop {
  position:absolute; inset:0;
  background:rgba(3,3,3,0.92);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

#comp-panel {
  position:relative; z-index:1;
  width:100%; max-width:520px; max-height:88vh;
  display:flex; flex-direction:column;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:14px;
  overflow:hidden;
}

/* Step wrapper — fills panel height */
.comp-step {
  display:flex; flex-direction:column;
  flex:1; overflow:hidden;
  min-height:0;
}

/* ── En-tête ── */
.comp-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px 0;
  flex-shrink:0;
}
#comp-title {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic; font-weight:300;
  font-size:18px; letter-spacing:0.02em;
  color:rgba(255,255,255,0.82);
}
#comp-back {
  background:none; border:none; cursor:pointer;
  font-size:11px; letter-spacing:0.12em;
  color:rgba(255,255,255,0.38); text-transform:uppercase;
  padding:4px 0; transition:color 0.2s;
}
#comp-back:hover { color:rgba(255,255,255,0.72); }
.comp-x {
  background:none; border:none; cursor:pointer;
  font-size:14px; color:rgba(255,255,255,0.28);
  line-height:1; padding:4px;
  transition:color 0.2s; flex-shrink:0;
}
.comp-x:hover { color:rgba(255,255,255,0.72); }

/* ── Étape 1 — Recherche ── */
#comp-search {
  padding:20px 20px 0;
  flex-shrink:0;
}
#comp-hint-wrap {
  min-height:22px; margin-bottom:6px;
  overflow:hidden;
}
#comp-hint-text {
  display:block;
  font-size:11.5px; letter-spacing:0.08em;
  color:rgba(255,255,255,0.26);
  font-style:italic;
  transition:opacity 0.4s;
}
#comp-hint-text.fading { opacity:0; }

#comp-input-row {
  display:flex; gap:8px; align-items:center;
}
#comp-input {
  flex:1;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:8px;
  color:rgba(255,255,255,0.88);
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-size:13px; font-weight:300;
  padding:10px 14px;
  outline:none;
  transition:border-color 0.2s, background 0.2s;
}
#comp-input::placeholder { color:rgba(255,255,255,0.22); }
#comp-input:focus {
  border-color:rgba(255,255,255,0.22);
  background:rgba(255,255,255,0.07);
}
#comp-submit {
  width:38px; height:38px; flex-shrink:0;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px; cursor:pointer;
  color:rgba(255,255,255,0.72); font-size:16px;
  display:flex; align-items:center; justify-content:center;
  transition:background 0.2s, color 0.2s;
}
#comp-submit:hover {
  background:rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.95);
}

#comp-scope {
  margin-top:9px;
  font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:rgba(255,255,255,0.20);
}

#comp-examples {
  display:flex; flex-wrap:wrap; gap:6px;
  margin-top:12px;
}
.comp-ex {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.09);
  border-radius:20px; cursor:pointer;
  color:rgba(255,255,255,0.48);
  font-size:10.5px; letter-spacing:0.04em;
  font-family:'Inter','Helvetica Neue',sans-serif;
  padding:5px 12px;
  transition:background 0.2s, color 0.2s, border-color 0.2s;
}
.comp-ex:hover {
  background:rgba(255,255,255,0.09);
  border-color:rgba(255,255,255,0.20);
  color:rgba(255,255,255,0.82);
}

/* ── Séparateur ── */
#comp-or {
  display:flex; align-items:center; gap:12px;
  padding:16px 20px 4px;
  flex-shrink:0;
}
#comp-or::before,
#comp-or::after {
  content:''; flex:1;
  border-top:1px solid rgba(255,255,255,0.07);
}
#comp-or span {
  font-size:9.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:rgba(255,255,255,0.22);
  white-space:nowrap;
}

/* ── Liste d'intentions (scrollable) ── */
#comp-intents {
  flex:1; overflow-y:auto;
  padding:4px 20px 20px;
  display:flex; flex-direction:column; gap:4px;
}
#comp-intents::-webkit-scrollbar { width:2px; }
#comp-intents::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.10); border-radius:1px; }

.comp-int {
  background:none;
  border:none; border-bottom:1px solid rgba(255,255,255,0.05);
  cursor:pointer;
  text-align:left;
  color:rgba(255,255,255,0.52);
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic; font-weight:300;
  font-size:14.5px; letter-spacing:0.01em;
  line-height:1.5;
  padding:10px 4px;
  transition:color 0.2s, padding-left 0.2s;
}
.comp-int:hover {
  color:rgba(255,255,255,0.90);
  padding-left:10px;
}
.comp-int-skip {
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-style:normal; font-size:10px;
  letter-spacing:0.14em; text-transform:uppercase;
  color:rgba(255,255,255,0.22);
  border-bottom:none;
  margin-top:4px;
  padding:8px 4px;
}
.comp-int-skip:hover {
  color:rgba(255,255,255,0.55);
  padding-left:4px;
}

/* ── Étape 2 — Format ── */
#comp-s2-intent {
  padding:20px 20px 0;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic; font-weight:300;
  font-size:15px; letter-spacing:0.01em;
  color:rgba(255,255,255,0.42);
  line-height:1.5;
}
#comp-s2-q {
  padding:14px 20px 4px;
  font-size:9.5px; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,0.28);
}
#comp-formats {
  display:flex; flex-direction:column; gap:8px;
  padding:8px 20px 24px;
  overflow-y:auto; flex:1;
}
.comp-fmt {
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px; cursor:pointer;
  padding:14px 18px;
  text-align:left;
  transition:background 0.2s, border-color 0.2s;
}
.comp-fmt:hover {
  background:rgba(255,255,255,0.09);
  border-color:rgba(255,255,255,0.18);
}
.comp-fmt-lb {
  display:block;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic; font-weight:300;
  font-size:17px; letter-spacing:0.01em;
  color:rgba(255,255,255,0.82);
}
.comp-fmt-ds {
  display:block;
  font-size:10px; letter-spacing:0.10em; text-transform:uppercase;
  color:rgba(255,255,255,0.28);
  margin-top:2px;
}
.comp-fmt-any {
  border-style:dashed;
  border-color:rgba(255,255,255,0.06);
}
.comp-fmt-any .comp-fmt-lb { color:rgba(255,255,255,0.42); }

/* Mobile */
@media(max-width:480px){
  #comp-panel { max-height:92vh; border-radius:12px 12px 0 0; }
  #composer-overlay { padding:0; align-items:flex-end; }
  #comp-title { font-size:16px; }
  .comp-int { font-size:13.5px; }
}
