/* =========================================================
   ARCANA — système de design
   Nuit profonde · or patiné · violet mystique · glass
   ========================================================= */
/* polices auto-hébergées (woff2 latin, font-display swap) */
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/woff2/cinzel-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/woff2/cinzel-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/woff2/cinzel-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/woff2/cinzel-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/woff2/cinzel-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/woff2/cinzel-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-400i-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-400i-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-500i-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-500i-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/woff2/cormorant-garamond-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/woff2/jost-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/woff2/jost-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/woff2/jost-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/woff2/jost-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/woff2/jost-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/woff2/jost-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}


:root{
  --bg:#070512;
  --ink:#f4efe6;
  --muted:#9a90b3;
  --muted-2:#8a82a6;
  --gold:#e7c884;
  --gold-bright:#f6dca0;
  --gold-soft:#bfa05f;
  --violet:#9b7be0;
  --line:rgba(231,200,132,.16);
  --line-soft:rgba(255,255,255,.08);
  --glass:rgba(255,255,255,.035);
  --serif:'Cormorant Garamond',serif;
  --sans:'Jost',sans-serif;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
/* cartes non enregistrables sur le site : l'unique export passe par « Enregistrer ma carte » */
.tc-art,.share-preview img{pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.tcard{-webkit-touch-callout:none}
img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
body{
  font-family:var(--sans);color:var(--ink);background:var(--bg);
  min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:.2px}
.serif{font-family:var(--serif)}
img,svg{display:block}

/* ---------- AMBIANCE DE FOND ---------- */
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;filter:blur(64px);mix-blend-mode:screen;opacity:.5}
.aurora .a1{width:55vw;height:55vw;background:radial-gradient(circle,#6f4fc0,transparent 66%);top:-14%;left:-10%}
.aurora .a2{width:48vw;height:48vw;background:radial-gradient(circle,#b78a3e,transparent 66%);top:6%;right:-12%}
.aurora .a3{width:50vw;height:50vw;background:radial-gradient(circle,#2c3a8c,transparent 66%);bottom:-16%;left:14%}
.aurora .a4{width:40vw;height:40vw;background:radial-gradient(circle,#7a3fb0,transparent 66%);bottom:6%;right:6%}
.aurora::after{content:"";position:absolute;inset:0;background:rgba(7,5,18,.5)}

#stars{position:fixed;inset:0;z-index:0;pointer-events:none}
.star{position:absolute;border-radius:50%;background:#fff;opacity:0;animation:tw 5s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.06;transform:scale(.6)}50%{opacity:.85;transform:scale(1)}}

.grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(231,200,132,.05) 1px,transparent 1px);background-size:34px 34px;
  -webkit-mask-image:radial-gradient(circle at 50% 24%,#000,transparent 70%);
  mask-image:radial-gradient(circle at 50% 24%,#000,transparent 70%);animation:gd 60s linear infinite}
@keyframes gd{to{background-position:34px 68px}}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative;z-index:1}

/* ---------- ICONES ---------- */
.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* ---------- NAV ---------- */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(7,5,18,.55);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:18px;height:68px;position:relative}
.nav-in .links{flex:1;justify-content:center}
@media(min-width:1081px){
  /* nav centré ENTRE le logo et le compte (flex:1 au milieu) → écarts égaux */
  nav.links{flex:1;justify-content:center}
  /* B : petite icône discrète devant chaque lien (cohérence avec le mobile) */
  nav.links > a:not(.nav-cta){display:inline-flex;align-items:center;gap:6px}
  nav.links{gap:22px}
  .ndrop{order:1} /* Grimoire (et les autres piliers) avant la Bibliothèque */
  nav.links .nav-ic{display:inline-flex;align-items:center;color:var(--gold-soft);opacity:.85}
  .nav-ic .ico{width:15px;height:15px}
  /* A : zone compte top-right (remplace le bouton unique quand le bloc existe) */
  .nav-in:has(.nav-acct-d) .nav-cta{display:none}
  .nav-in .nav-acct-d{display:flex;align-items:center;gap:10px}
  .acctd-link{background:none;border:0;color:var(--muted);font-family:inherit;font-size:14.5px;cursor:pointer;padding:6px 4px}
  .acctd-link:hover{color:var(--gold-bright)}
  .acctd-cta{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:14px;cursor:pointer;color:#1a1206;background:linear-gradient(135deg,var(--gold-bright),var(--gold-soft));border:0;border-radius:999px;padding:9px 18px}
  .acctd-cta .ico{width:16px;height:16px}
  .acctd-dd{position:relative}
  .acctd-dd::after{content:"";position:absolute;top:100%;left:0;right:0;height:12px}
  .acctd-trig{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:14.5px;cursor:pointer;color:var(--ink);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
  .acctd-trig .ico{width:16px;height:16px}
  .acctd-chev{width:13px;height:13px;transition:transform .2s}
  .acctd-dd:hover .acctd-chev,.acctd-dd.open .acctd-chev,.acctd-dd:focus-within .acctd-chev{transform:rotate(180deg)}
  .acctd-menu{position:absolute;top:100%;right:0;min-width:194px;display:none;flex-direction:column;background:rgba(13,9,26,.98);border:1px solid var(--line);border-radius:14px;padding:8px;margin-top:8px;box-shadow:0 18px 50px rgba(0,0,0,.55);z-index:60}
  .acctd-dd:hover .acctd-menu,.acctd-dd.open .acctd-menu,.acctd-dd:focus-within .acctd-menu{display:flex}
  .acctd-menu a,.acctd-out{display:block;text-align:left;padding:9px 12px;border-radius:9px;font-size:14px;color:var(--muted);background:none;border:0;font-family:inherit;cursor:pointer;width:100%}
  .acctd-menu a:hover,.acctd-out:hover{background:rgba(231,200,132,.08);color:var(--gold-bright)}
  .acctd-out{margin-top:2px;color:var(--gold-soft)}
}
.nav-right{flex:none}
@media(max-width:1080px){.nav-in .links{flex:none;justify-content:flex-start}.nav-right{margin-left:auto}}
.brand{display:flex;align-items:center;gap:11px;font-family:'Cinzel',serif;font-size:21px;font-weight:600;letter-spacing:2.5px}
.brand .gl{color:var(--gold);width:22px;height:22px;filter:drop-shadow(0 0 9px rgba(231,200,132,.55));transform:translateY(-1.5px)}
.brand b{font-weight:600;background:linear-gradient(90deg,var(--gold-soft),var(--gold-bright) 55%,var(--gold-soft));-webkit-background-clip:text;background-clip:text;color:transparent}
nav.links{display:flex;gap:30px;align-items:center}
nav.links a{font-size:14.5px;color:var(--muted);letter-spacing:.4px;transition:color .2s;position:relative;white-space:nowrap}
nav.links a:hover,nav.links a.active{color:var(--gold-bright)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gold-soft);color:var(--gold)!important;padding:9px 17px;border-radius:30px;font-size:13.5px}
.nav-cta:hover{background:var(--gold);color:#1a1206!important}
.nav-cta .ico{width:16px;height:16px}
/* connecté : le bouton devient un avatar rond avec l'initiale */
.nav-cta.is-user{padding:0;border:0;background:none;gap:0}
.nav-cta.is-user:hover{background:none}
.nav-ava{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold-soft));color:#1a1206;
  font-family:var(--serif);font-weight:700;font-size:18px;line-height:1;
  box-shadow:0 0 14px rgba(231,200,132,.22);transition:transform .2s,box-shadow .2s}
.nav-cta.is-user:hover .nav-ava{transform:scale(1.05);box-shadow:0 0 20px rgba(231,200,132,.42)}
.burger{display:none;background:none;border:0;color:var(--gold);cursor:pointer}
.burger .ico{width:26px;height:26px}
.nav-ic{display:none}
.nav-acct{display:none}
.nav-acct-d{display:none}
@media(max-width:1080px){
  nav.links{position:fixed;inset:68px 0 auto 0;flex-direction:column;justify-content:flex-start;background:#070512;padding:24px 22px 40px;gap:19px;transform:translateY(-140%);transition:.3s;align-items:center;min-height:calc(100dvh - 68px);max-height:calc(100dvh - 68px);overflow-y:auto}
  nav.links.open{transform:translateY(0)}
  nav.links{gap:10px}
  nav.links a{font-size:16px}
  /* piliers en boutons pleine largeur, icône du site à gauche */
  .nav-ic{display:inline-flex;align-items:center;flex:none;color:var(--gold-bright)}
  .nav-ic .ico{width:19px;height:19px}
  .links>a:not(.nav-cta){display:flex;align-items:center;gap:12px;width:100%;border:0.5px solid hsla(45,42%,58%,.3);background:rgba(255,255,255,.025);border-radius:12px;padding:13px 16px;color:var(--ink)}
  .links>a:not(.nav-cta).active{border-color:hsla(45,42%,58%,.55);color:var(--gold-bright)}
  /* Grimoire (dernier pilier) avant la Bibliothèque, puis le compte ferme la marche */
  .ndrop{order:1}
  .links .nav-cta{order:2}
  .burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;order:3;margin-left:auto;margin-right:-9px}/* cible tactile 44px (seuil WCAG) ; l'icône reste à 26px, marge négative pour garder l'alignement au bord */
  /* la bibliothèque s'aplatit dans le panneau mobile : un seul bloc dédié plus bas le gère */
  /* le bouton unique est remplacé par le bloc 2 boutons (.nav-acct) en mobile */
  .nav-cta{display:none}
  .nav-acct{order:4;display:flex;flex-direction:column;gap:9px;width:100%;margin-top:22px}
  .naB{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:1px solid var(--gold-soft);background:none;border-radius:12px;padding:13px 16px;font-size:15px;font-family:inherit;color:var(--gold-bright);cursor:pointer;-webkit-appearance:none;appearance:none}
  .naB.primary{border-color:transparent;background:linear-gradient(135deg,var(--gold-bright),var(--gold-soft));color:#1a1206}
  .naB .ico{width:18px;height:18px}
}

/* ---------- BUTTONS ---------- */
.btn{font-family:var(--sans);cursor:pointer;border:0;border-radius:32px;padding:14px 26px;font-size:15px;letter-spacing:.3px;transition:.2s;display:inline-flex;align-items:center;gap:9px}
.btn .ico{width:18px;height:18px}
.btn.primary{background:linear-gradient(135deg,var(--gold-bright),var(--gold-soft));color:#1c1305;font-weight:500;box-shadow:0 10px 34px rgba(231,200,132,.28)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 42px rgba(231,200,132,.4)}
.btn.ghost{background:var(--glass);border:1px solid var(--line);color:var(--ink);backdrop-filter:blur(10px)}
.btn.ghost:hover{border-color:var(--gold-soft);color:var(--gold-bright)}

/* gradient text */
.grad{background:linear-gradient(100deg,var(--gold-bright),#fff 45%,var(--violet) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.gold{color:var(--gold-bright)}

/* badge */
.badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);background:rgba(231,200,132,.08);border:1px solid var(--line);padding:8px 15px;border-radius:30px}
.badge .ico{width:15px;height:15px}

/* ---------- HERO 2 colonnes ---------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:72px 0 64px}
.hero .eyebrow{margin-bottom:22px}
.hero h1{font-size:clamp(40px,5.6vw,68px);letter-spacing:-.5px}
.hero h1 em{font-style:italic}
.hero p.lead{max-width:46ch;margin:22px 0 0;color:var(--muted);font-size:18px}
.hero p.lead b{color:var(--ink)}

/* widget interactif heures */
.picker{margin-top:30px;background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:22px;backdrop-filter:blur(12px)}
.picker .pl{font-size:13.5px;color:var(--muted);margin-bottom:13px;display:flex;align-items:center;gap:8px}
.picker .pl .ico{width:16px;height:16px;color:var(--gold)}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:560px){.doors{grid-template-columns:1fr}}
.door{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:5px;align-items:flex-start;padding:18px 16px 16px;border-radius:14px;border:1px solid var(--line);transition:transform .25s,border-color .25s,box-shadow .25s;
  background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.015))}
.door:hover{border-color:var(--gold-soft);transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 26px rgba(231,200,132,.14)}
.door>*{position:relative;z-index:1}
.door .ico{width:24px;height:24px;color:var(--gold-bright);margin-bottom:5px;filter:drop-shadow(0 0 8px rgba(231,200,132,.45))}
.door b{font-family:var(--serif);font-size:18px;color:var(--ink);font-weight:600;line-height:1.1}
.door span{font-size:12.5px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{font-family:var(--serif);font-size:18px;letter-spacing:1px;color:var(--ink);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:13px;padding:8px 14px;cursor:pointer;transition:.18s;font-variant-numeric:tabular-nums}
.chip:hover{border-color:var(--gold);color:var(--gold-bright);background:rgba(231,200,132,.08);transform:translateY(-2px)}
.chip.more{font-family:var(--sans);font-size:13.5px;color:var(--muted);letter-spacing:.3px}
.hero-cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:22px}
.hero-trust{margin-top:20px;font-size:13.5px;color:var(--muted-2);display:flex;align-items:center;gap:8px}
.hero-trust .dot{width:7px;height:7px;border-radius:50%;background:var(--violet);box-shadow:0 0 9px var(--violet);animation:pulse 2s infinite}
.hero-trust b{color:var(--gold);font-variant-numeric:tabular-nums;font-family:var(--serif);font-size:16px;letter-spacing:1px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-free{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--gold-soft);letter-spacing:.3px}
.hero-free .ico{width:15px;height:15px;color:var(--gold)}
@media(max-width:900px){.hero-free{justify-content:center}}

/* widget heure miroir vivant */
.mirror-widget{margin-top:26px;display:inline-flex;align-items:center;gap:16px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;padding:12px 20px;backdrop-filter:blur(10px);transition:.35s}
.mirror-widget .mw-time{display:flex;align-items:center;gap:10px;flex:none}
.mirror-widget .mw-time .dot{width:8px;height:8px;border-radius:50%;background:var(--violet);box-shadow:0 0 10px var(--violet);animation:pulse 2s infinite}
.mirror-widget .mw-time b{font-family:var(--serif);font-size:26px;color:var(--gold-bright);letter-spacing:2px;font-variant-numeric:tabular-nums;line-height:1}
.mirror-widget .mw-next{font-size:13.5px;color:var(--muted);border-left:1px solid var(--line);padding-left:16px}
.mirror-widget .mw-next b{color:var(--gold-bright);font-variant-numeric:tabular-nums}
.mirror-widget .mw-next a{color:var(--gold-bright);text-decoration:underline}
.mirror-widget.hit{border-color:var(--gold);background:rgba(231,200,132,.08);animation:glowpulse 2s infinite}
.mirror-widget.hit .mw-time .dot{background:var(--gold);box-shadow:0 0 12px var(--gold)}
@keyframes glowpulse{0%,100%{box-shadow:0 0 22px rgba(231,200,132,.18)}50%{box-shadow:0 0 42px rgba(231,200,132,.45)}}
@media(max-width:900px){.mirror-widget{margin-inline:auto}}
@media(max-width:480px){.mirror-widget{flex-direction:column;gap:9px}.mirror-widget .mw-next{border-left:0;padding-left:0;text-align:center}}

/* bandeau de réassurance */
.trust-band{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px;padding:22px;margin:6px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-band span{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--muted)}
.trust-band .ico{width:17px;height:17px;color:var(--gold);flex:none}

/* séparateur céleste */
.divider{display:flex;align-items:center;gap:18px;max-width:460px;margin:14px auto}
.divider span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.divider .ico{width:20px;height:20px;color:var(--gold-soft);opacity:.85;flex:none}

/* apparition au scroll */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}

/* footer enrichi */
.foot-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:42px;margin-bottom:30px}
@media(max-width:720px){.foot-cols{grid-template-columns:1fr;gap:28px}}
.foot-col .foot-h{font-family:var(--sans);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:14px;font-weight:500}
.foot-col>a{display:block;color:var(--muted);font-size:14.5px;margin-bottom:9px;transition:.2s}
.foot-col>a:hover{color:var(--gold-bright)}
.foot-col .soon{display:block;color:var(--muted-2);font-size:14.5px;margin-bottom:9px}
.foot-col p{color:var(--muted);font-size:14px;line-height:1.6;margin:12px 0 0}

/* éventail de cartes (visuel hero) */
.fan{position:relative;height:440px;display:flex;align-items:center;justify-content:center}
.fan .tcard{position:absolute;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.fan .f0{transform:rotate(-15deg) translateX(-96px) translateY(14px) scale(.92);z-index:1}
.fan .f1{transform:rotate(0deg) translateY(-12px);z-index:3}
.fan .f2{transform:rotate(15deg) translateX(96px) translateY(14px) scale(.92);z-index:1}
.fan:hover .f0{transform:rotate(-19deg) translateX(-120px) translateY(8px) scale(.92)}
.fan:hover .f2{transform:rotate(19deg) translateX(120px) translateY(8px) scale(.92)}
.fan .halo{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(155,123,224,.28),transparent 62%);filter:blur(20px);z-index:0;animation:breathe 6s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.95);opacity:.7}50%{transform:scale(1.08);opacity:1}}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:10px;text-align:center;padding:40px 0 36px}
  .hero p.lead{margin-inline:auto}
  .picker{text-align:left}
  .hero-cta,.hero-trust{justify-content:center}
  .fan{order:-1;height:248px;transform:none;margin-bottom:14px}
  .fan .halo{width:210px;height:210px}
  .fan .tcard{width:128px}
  .fan .tcard .gl-wrap .ico{width:44px;height:44px}
  .fan .tcard .nom{font-size:15px}
  .fan .tcard .roman{font-size:13px}
  .fan .f0{transform:rotate(-12deg) translateX(-58px) translateY(10px) scale(.9)}
  .fan .f1{transform:translateY(-6px)}
  .fan .f2{transform:rotate(12deg) translateX(58px) translateY(10px) scale(.9)}
  .fan:hover .f0{transform:rotate(-14deg) translateX(-66px) translateY(6px) scale(.9)}
  .fan:hover .f2{transform:rotate(14deg) translateX(66px) translateY(6px) scale(.9)}
}

/* ---------- TAROT CARD (art SVG) ---------- */
.tcard{position:relative;width:210px;aspect-ratio:11/18.5;border-radius:15px;flex:none;
  background:
    radial-gradient(115% 70% at 50% 8%, hsla(var(--h),55%,32%,.85), transparent 62%),
    linear-gradient(165deg, hsl(var(--h),40%,15%), #0a0714 78%);
  border:1px solid hsla(var(--h),55%,58%,.42);
  box-shadow:0 18px 48px rgba(0,0,0,.55), inset 0 0 34px hsla(var(--h),55%,42%,.2);
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:16px 12px;overflow:hidden}
.tcard::before{content:"";position:absolute;inset:7px;border:1px solid hsla(var(--h),45%,62%,.34);border-radius:10px;pointer-events:none}
/* --- carte avec illustration IA sertie dans notre cadre fixe --- */
.tcard.has-art{padding:0;background:#0a0714}
.tcard.has-art .tc-art{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);object-fit:cover;border-radius:10px;z-index:0}
.tcard.has-art .tc-scrim{position:absolute;inset:7px;border-radius:10px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg, rgba(7,4,15,.80) 0%, rgba(8,5,18,.20) 12%, rgba(8,5,18,0) 28%, rgba(8,5,18,0) 56%, rgba(8,5,18,.32) 76%, rgba(7,4,15,.93) 100%)}
.tcard.has-art{box-shadow:0 20px 52px rgba(0,0,0,.62), inset 0 0 0 1px hsla(var(--h),50%,55%,.3)}
/* double filet doré (extérieur via ::before déjà inset 7px, intérieur via tc-frame) */
.tcard.has-art::before{inset:5px;border:1.5px solid var(--gold-soft);border-radius:11px;box-shadow:0 0 0 1px rgba(0,0,0,.5)}
.tcard.has-art .tc-frame{position:absolute;inset:10px 10px 22px;border:1px solid hsla(45,55%,72%,.5);border-radius:7px;z-index:2;pointer-events:none}
.tcard.sm.has-art .tc-frame{inset:10px 10px 17px}
.tcard.lg.has-art .tc-frame{inset:10px 10px 25px}
/* signature gravée dans la gouttière basse (comme sur la carte téléchargée) */
.tcard.has-art .tc-brand{position:absolute;bottom:7px;left:0;right:0;text-align:center;z-index:3;
  font-family:var(--sans);font-size:6.5px;letter-spacing:1.6px;color:rgba(246,220,160,.6);pointer-events:none}
.tcard.sm.has-art .tc-brand{font-size:5px;letter-spacing:1.1px;bottom:5.5px}
.tcard.lg.has-art .tc-brand{font-size:8px;letter-spacing:2px;bottom:7.5px}
.tcard.has-art .tc-frame .orn{position:absolute;display:block;width:30px;height:30px;color:var(--gold-bright);filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.tcard.has-art .tc-frame .orn .orn-svg{width:100%;height:100%;display:block}
.tc-frame .orn.tl{top:-2px;left:-2px}
.tc-frame .orn.tr{top:-2px;right:-2px;transform:scaleX(-1)}
.tc-frame .orn.bl{bottom:-2px;left:-2px;transform:scaleY(-1)}
.tc-frame .orn.br{bottom:-2px;right:-2px;transform:scale(-1)}
/* numéro (haut) + nom (bas) en texte nu posé sur le fondu, sans pastille */
.tcard.has-art .roman{position:absolute;top:13px;left:0;right:0;text-align:center;z-index:3;
  font-family:'Cinzel',serif;letter-spacing:3px;text-indent:3px;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;
  color:var(--gold-bright);text-shadow:0 1px 5px rgba(0,0,0,.92),0 0 12px rgba(0,0,0,.6)}
.tcard.has-art .roman::after{display:none}
.tcard.has-art .nom{position:absolute;bottom:27px;left:0;right:0;text-align:center;z-index:3;white-space:nowrap;letter-spacing:.5px;
  font-family:'Cinzel',serif;font-weight:500;
  color:var(--gold-bright);text-shadow:0 1px 7px rgba(0,0,0,.96),0 0 16px rgba(0,0,0,.7)}
.tcard.has-art .nom::before{display:none}
.tcard.sm.has-art .nom{font-size:10px;bottom:21px}
.tcard.sm.has-art .roman{font-size:10px;letter-spacing:1.5px;text-indent:1.5px}
.tcard.lg.has-art .nom{font-size:17px;bottom:31px}
.tcard.lg.has-art .roman{font-size:14px;letter-spacing:4px;text-indent:4px}
.tcard.has-art .rev-tag{position:absolute;top:34px;left:50%;transform:translateX(-50%);bottom:auto;z-index:3;width:max-content;
  background:rgba(20,12,36,.8);border:1px solid rgba(155,123,224,.5);border-radius:999px;padding:2px 9px;font-size:8.5px;letter-spacing:1.5px;color:#cdb4f6}
/* carte renversée : TOUT tourne (image + nom + numéro), seule la pastille reste lisible */
.tcard.rev.has-art{transform:rotate(180deg)}
.tcard.rev.has-art .rev-tag{transform:translateX(-50%) rotate(180deg)}
/* tailles des fleurons selon le format de carte */
.tcard.sm.has-art .tc-frame .orn{width:22px;height:22px}
.tcard.lg.has-art .tc-frame .orn{width:38px;height:38px}
.tcard .crn{position:absolute;width:14px;height:14px;border:1px solid hsla(var(--h),50%,65%,.5);opacity:.7}
.tcard .crn.tl{top:11px;left:11px;border-right:0;border-bottom:0}
.tcard .crn.tr{top:11px;right:11px;border-left:0;border-bottom:0}
.tcard .crn.bl{bottom:11px;left:11px;border-right:0;border-top:0}
.tcard .crn.br{bottom:11px;right:11px;border-left:0;border-top:0}
.tcard .stf{position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:radial-gradient(1px 1px at 22% 28%,#fff,transparent),radial-gradient(1px 1px at 72% 58%,#fff,transparent),radial-gradient(1px 1px at 42% 82%,#fff,transparent),radial-gradient(1px 1px at 84% 24%,#fff,transparent),radial-gradient(1px 1px at 14% 64%,#fff,transparent)}
.tcard .roman{font-family:var(--serif);font-size:15px;letter-spacing:4px;color:var(--gold-bright);opacity:.95;z-index:1}
.tcard .gl-wrap{flex:1;display:flex;align-items:center;justify-content:center;z-index:1}
.tcard .gl-wrap .ico{width:64px;height:64px;color:var(--gold-bright);stroke-width:1.2;filter:drop-shadow(0 3px 16px hsla(var(--h),70%,55%,.55))}
.tcard .nom{font-family:var(--serif);font-size:20px;text-align:center;color:#fff;line-height:1.05;z-index:1;letter-spacing:.3px}
/* carte renversée */
.tcard.rev .gl-wrap .ico{transform:rotate(180deg)}
.tcard .rev-tag{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--violet);opacity:.95;z-index:1;margin-top:2px}
.tcard.lg .rev-tag{font-size:11px}

.tcard.sm{width:142px}
.tcard.sm .gl-wrap .ico{width:46px;height:46px}
.tcard.sm .nom{font-size:16px}
.tcard .nom.nlong{font-size:17px;letter-spacing:.2px}
.tcard .nom.nxl{font-size:14.5px;letter-spacing:.1px}
.tcard.sm .nom.nlong{font-size:13px}
.tcard.sm .nom.nxl{font-size:11.5px}
.tcard.sm.has-art .nom.nlong{font-size:9px;letter-spacing:1.6px}
.tcard.sm.has-art .nom.nxl{font-size:8px;letter-spacing:1.2px}
.tcard.lg{width:268px}
.tcard.lg .gl-wrap .ico{width:84px;height:84px}
.tcard.lg .nom{font-size:24px}

/* dos de carte */
.tcard.back{background:#0e0a1e;border-color:var(--gold-soft);cursor:pointer;justify-content:center;align-items:center;padding:0;overflow:hidden}
.tcard.back .back-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tcard.back .motif{color:var(--gold);opacity:.9;filter:drop-shadow(0 0 14px rgba(231,200,132,.5))}
.tcard.back .motif .ico{width:54px;height:54px;stroke-width:1}


/* flip */
.flip{perspective:1300px;aspect-ratio:11/18.5}
.flip-in{position:relative;width:100%;height:100%;transition:transform .85s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}
.flip.flipped .flip-in{transform:rotateY(180deg)}
.flip .face{position:absolute;inset:0;backface-visibility:hidden}
.flip .face .tcard{width:100%;height:100%}
.flip .face.front{transform:rotateY(180deg)}

/* ---------- SECTIONS ---------- */
body{touch-action:pan-y pinch-zoom}
section{padding:64px 0;position:relative;z-index:1}
main section:first-child, #app section:first-child{padding-top:26px}
.sec-head{text-align:center;max-width:62ch;margin:0 auto 46px}
.sec-head .badge{margin-bottom:16px}
.sec-head h2{font-size:clamp(31px,4.6vw,48px)}
.sec-head p{color:var(--muted);margin-top:14px;font-size:17px}
.lede{max-width:68ch;margin:0 auto 38px;text-align:center;color:var(--muted);font-size:16.5px;line-height:1.7}
.lede b{color:var(--gold-bright);font-weight:500}

/* grids */
.grid{display:grid;gap:20px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid.cols-3,.grid.cols-4,.grid.cols-2{grid-template-columns:1fr}}

/* panel (tirages) */
.panel{display:block;background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:26px;transition:.22s;position:relative;overflow:hidden;backdrop-filter:blur(10px)}
.panel:hover{border-color:var(--gold-soft);transform:translateY(-4px);background:rgba(255,255,255,.055)}
.panel .pico{width:48px;height:48px;border-radius:14px;background:rgba(231,200,132,.1);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold-bright);margin-bottom:16px}
.panel .pico .ico{width:26px;height:26px}
.panel h3{font-size:23px;margin-bottom:8px}
.panel .meta{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:12px}
.panel p{color:var(--muted);font-size:15px}
.panel .arrow{color:var(--gold);margin-top:16px;font-size:14px;display:inline-flex;align-items:center;gap:7px}
.panel .arrow .ico{width:16px;height:16px}

/* cartes de tirage (style propre) */
.tirage-card{display:block;position:relative;border-radius:20px;padding:22px 22px 20px;overflow:hidden;backdrop-filter:blur(10px);transition:transform .25s,border-color .25s,box-shadow .25s;
  background:linear-gradient(170deg, hsla(var(--h),40%,15%,.5), var(--glass));
  border:1px solid var(--line)}
.tirage-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 50% 0%, rgba(86,52,120,.16), transparent 62%);pointer-events:none}
.tirage-card:hover{transform:translateY(-5px);border-color:hsla(45,52%,62%,.55);box-shadow:0 16px 42px rgba(0,0,0,.42), 0 0 30px rgba(231,200,132,.12)}
.tir-list{display:flex;flex-direction:column;gap:20px;max-width:860px;margin:0 auto}
.tir-row{display:flex;align-items:center;gap:38px;padding:28px 36px;border:1px solid var(--line-soft);border-radius:24px;position:relative;overflow:hidden;
  background:rgba(255,255,255,.018);backdrop-filter:blur(10px);transition:transform .3s,border-color .3s,box-shadow .3s;color:inherit}
.tir-row::before{content:"";position:absolute;inset:0;background:radial-gradient(95% 130% at var(--gx,18%) 50%, rgba(86,52,120,.17), transparent 58%);pointer-events:none}
.tir-row.alt{flex-direction:row-reverse;--gx:82%}
.tir-row:hover{transform:translateY(-4px);border-color:hsla(45,52%,62%,.5);box-shadow:0 18px 46px rgba(0,0,0,.45), 0 0 34px rgba(231,200,132,.1)}
.tir-row.is-premium{border-color:hsla(45,48%,55%,.3)}
.tr-art{flex:none;width:218px;height:208px;position:relative;z-index:1}
.tr-art > img{position:absolute;left:50%;top:50%;border-radius:10px;object-fit:cover;backface-visibility:hidden}
.tr-back{width:104px;height:175px;border:1px solid hsla(45,40%,58%,.55);background:#0e0a1e;filter:brightness(1.25);
  box-shadow:0 14px 26px rgba(0,0,0,.5);transition:transform .45s cubic-bezier(.3,.7,.3,1)}
.tr-back.b1{transform:translate(-50%,-50%) translateX(-42px) rotate(-15deg)}
.tr-back.b2{transform:translate(-50%,-50%) translateX(40px) rotate(13deg)}
.tr-face{position:absolute;left:50%;top:50%;width:118px;height:198px;z-index:2;border-radius:12px;
  transform:translate(-50%,-50%) rotate(-3deg);
  box-shadow:0 20px 38px rgba(0,0,0,.6), 0 0 26px rgba(242,196,110,.22);transition:transform .45s cubic-bezier(.3,.7,.3,1),box-shadow .45s}
.tr-face .tcard{width:100%;height:100%}
.tr-face .tcard .nom{letter-spacing:1.3px}
.tr-face .tcard .nom.nlong{font-size:8.5px;letter-spacing:1.1px}
.tr-face .tcard .nom.nxl{font-size:7.5px;letter-spacing:.9px}
.tir-row:hover .tr-back.b1{transform:translate(-50%,-50%) translateX(-58px) rotate(-21deg)}
.tir-row:hover .tr-back.b2{transform:translate(-50%,-50%) translateX(56px) rotate(19deg)}
.tir-row:hover .tr-face{transform:translate(-50%,-54%) rotate(-1.5deg);box-shadow:0 26px 46px rgba(0,0,0,.65), 0 0 36px rgba(242,196,110,.38)}
.tr-body{flex:1;min-width:0;position:relative;z-index:1}
.tr-body h3{font-family:'Cinzel',var(--serif);font-weight:500;font-size:22px;letter-spacing:.4px;margin-bottom:9px;line-height:1.25;
  background:linear-gradient(100deg,var(--gold-bright),#fff 46%,var(--violet) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;width:fit-content}
@media(max-width:760px){.tr-body h3{margin-left:auto;margin-right:auto;font-size:21px}}
.tr-body p{color:var(--muted);font-size:15px;line-height:1.6;max-width:520px}
.tr-pos{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:13px;font-family:var(--sans);font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-soft)}
.tr-pos i{color:hsla(45,55%,65%,.6);font-style:normal;font-size:14px;line-height:1}
.tr-pos .trp{white-space:nowrap;display:inline-flex;align-items:center;gap:9px}
@media(max-width:760px){
  .tir-row{flex-direction:column;gap:10px;padding:24px 22px;text-align:center}
  .tir-row.alt{flex-direction:column}
  .tir-row::before{--gx:50%}
  .tr-art{width:200px;height:178px;transform:scale(.88)}
  .tr-body p{margin:0 auto}
  .tr-pos{justify-content:center}
}
.tc-tag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:9px;position:relative;z-index:1}
.tc-tag .ico{width:13px;height:13px}
.tc-tag .tc-n{color:var(--muted-2)}
.tirage-card h3{font-size:22px;margin-bottom:7px;position:relative;z-index:1}
.tirage-card p{color:var(--muted);font-size:14.5px;line-height:1.5;position:relative;z-index:1}
.tc-cta{display:inline-flex;align-items:center;gap:8px;margin-top:18px;position:relative;z-index:1;
  background:linear-gradient(120deg,#b98c43,#e7c884 55%,#f4e3b8);color:#241704;font-weight:600;font-size:14px;
  padding:11px 24px;border-radius:30px;box-shadow:0 6px 22px rgba(231,200,132,.22);transition:transform .2s,box-shadow .2s}
.tc-cta:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(231,200,132,.32)}
.tc-cta .ico{width:16px;height:16px;transition:transform .2s}
.tirage-card:hover .tc-cta .ico{transform:translateX(4px)}
.tirage-card.is-premium{border-color:hsla(45,50%,55%,.34)}
.tirage-card.is-premium .tc-tag{color:var(--gold-bright)}

/* hour chips grid */
.hour-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}
@media(max-width:760px){.hour-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:420px){.hour-grid{grid-template-columns:repeat(2,1fr)}}
.hour-chip{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 10px 14px;border-radius:16px;border:1px solid var(--line);transition:.22s;cursor:pointer;backdrop-filter:blur(8px);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.008))}
.hour-chip::before{content:"";position:absolute;inset:0;background:radial-gradient(78% 60% at 50% 120%, hsla(var(--h),55%,48%,.16), transparent 62%);pointer-events:none}
.hour-chip>*{position:relative;z-index:1}
.hour-chip:hover{border-color:var(--gold-soft);transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.34)}
.hour-chip .hc-ic{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:radial-gradient(circle, hsla(var(--h),55%,42%,.32), transparent 72%);border:1px solid hsla(var(--h),55%,58%,.34);color:hsla(var(--h),78%,82%,.95);transition:.2s}
.hour-chip:hover .hc-ic{border-color:hsla(var(--h),62%,66%,.6)}
.hour-chip .hc-ic .ico{width:18px;height:18px}
.hour-chip .hc-time{display:flex;flex-direction:column;align-items:center;line-height:1;margin-top:6px;padding:2px 0}
.hour-chip .h{font-family:var(--serif);font-size:29px;letter-spacing:2px;font-variant-numeric:tabular-nums;line-height:1.08;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#caa45a);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(231,200,132,.25))}
.hour-chip:hover .h{filter:drop-shadow(0 0 22px rgba(231,200,132,.5))}
.hour-chip .h-mir{font-family:var(--serif);font-size:29px;letter-spacing:2px;font-variant-numeric:tabular-nums;line-height:1;
  background:linear-gradient(180deg,#e7c884,#caa45a);-webkit-background-clip:text;background-clip:text;color:transparent;
  transform:scaleY(-1);opacity:.24;-webkit-mask-image:linear-gradient(#000,transparent 62%);mask-image:linear-gradient(#000,transparent 62%)}
.hour-chip .lbl{font-size:12px;color:var(--muted);text-align:center;line-height:1.25;margin-top:9px}

/* ---------- READING / detail ---------- */
.reading{display:grid;grid-template-columns:280px 1fr;gap:50px;align-items:start}
@media(max-width:840px){.reading{grid-template-columns:1fr;justify-items:center;text-align:center;gap:34px}}
.reading .rblock{padding:22px 0;border-bottom:1px solid var(--line)}
.reading .rblock:last-of-type{border-bottom:0;padding-bottom:4px}
.heure-body .rblock{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin-bottom:0;backdrop-filter:blur(6px)}
.reading .rblock h4,.heure-body .rblock h4{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;letter-spacing:.2px;text-transform:none;color:var(--gold-bright);margin-bottom:11px;display:flex;align-items:center;gap:12px}
.reading .rblock h4 .ico,.heure-body .rblock h4 .ico{width:30px;height:30px;padding:6px;border-radius:9px;background:rgba(231,200,132,.1);border:1px solid var(--line);color:var(--gold);flex:none;box-sizing:border-box}
@media(max-width:840px){.reading .rblock h4{justify-content:center}}
.reading .rblock p,.heure-body .rblock p{color:var(--ink);opacity:.93;font-size:16.5px;line-height:1.72}
.rblock p .hl,.lede .hl{color:var(--gold-bright);font-weight:500}

/* fiche heure : médaillon de l'heure en hero */
.heure-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:36px;text-align:left;max-width:860px;margin:10px auto 0;padding:28px 38px;border-radius:28px;
  background:linear-gradient(165deg, hsla(var(--h),46%,23%,.42), var(--glass));
  border:1px solid hsla(var(--h),45%,56%,.3);
  box-shadow:0 22px 60px rgba(0,0,0,.34), inset 0 1px 0 hsla(var(--h),60%,72%,.12)}
.heure-hero .time-orb{margin:0;flex:none}
.heure-hero .hh-content{flex:1;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center}
@media(min-width:761px){
  .heure-hero .time-orb{flex:0 0 250px}
}
.seen-wrap .btn{padding:11px 22px;font-size:14px}
.seen-wrap .btn .ico{width:16px;height:16px}
.heure-hero h1{font-family:var(--serif);font-size:clamp(21px,2.3vw,27px);line-height:1.16;margin-bottom:10px;text-transform:uppercase;letter-spacing:.6px;word-break:keep-all;overflow-wrap:normal;hyphens:none;text-wrap:balance;
  background:linear-gradient(100deg,var(--gold-bright),#fff 46%,var(--violet) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 24px hsla(var(--h),60%,55%,.32))}
.heure-hero .ange{color:var(--muted);font-size:15px}
.heure-hero .ange b{color:var(--gold-bright)}
.heure-eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:15px}
.heure-eyebrow::before,.heure-eyebrow::after{content:"";width:30px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft))}
.heure-eyebrow::after{background:linear-gradient(90deg,var(--gold-soft),transparent)}
.heure-eyebrow .ico{width:15px;height:15px}
.time-orb{position:relative;width:240px;height:240px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}
.time-orb .glow{position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle, hsla(var(--h),60%,46%,.3), transparent 62%);filter:blur(20px);animation:breathe 5s ease-in-out infinite}
.time-orb .orb-ring{position:absolute;inset:22px;border-radius:50%;border:1px solid hsla(var(--h),45%,60%,.2)}
.time-orb .orb-sweep{position:absolute;inset:22px;border-radius:50%;
  background:conic-gradient(from 0deg, transparent 205deg, hsla(var(--h),82%,72%,.5) 320deg, #fff7e6 358deg, transparent 360deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation:spin 4.5s linear infinite}
.time-orb .orb-star{position:absolute;top:50%;left:50%;width:0;height:0;animation:spin var(--d,12s) linear infinite var(--delay,0s)}
.time-orb .orb-star::before{content:"";position:absolute;top:calc(var(--r,100px) * -1);left:calc(var(--size,4px) / -2);width:var(--size,4px);height:var(--size,4px);border-radius:50%;background:var(--gold-bright);box-shadow:0 0 9px var(--gold-bright)}
.time-orb .s1{--r:80px;--d:8s;--delay:-1s;--size:3px}
.time-orb .s2{--r:92px;--d:13s;--delay:-6s;--size:4px}
.time-orb .s3{--r:104px;--d:17s;--delay:-9s;--size:5px}
.time-orb .s4{--r:86px;--d:10s;--delay:-3s;--size:4px}
.time-orb .s5{--r:98px;--d:15s;--delay:-12s;--size:3px}
.time-orb .s6{--r:110px;--d:21s;--delay:-5s;--size:4px}

/* bloc ange gardien */
.ange-block{display:flex;align-items:flex-start;gap:18px;background:linear-gradient(150deg,rgba(155,123,224,.14),var(--glass));border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-bottom:4px}
.ange-block .ab-ic{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle,rgba(155,123,224,.32),transparent 72%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--violet);flex:none}
.ange-block .ab-ic .ico{width:24px;height:24px}
.ange-block .ab-l{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.ange-block h3{font-family:var(--serif);font-size:23px;color:var(--gold-bright);margin-bottom:7px}
.ange-block p{font-size:15px;color:var(--muted);line-height:1.62}
@media(max-width:520px){.ange-block{flex-direction:column;align-items:center;text-align:center}}
.time-orb .th{position:relative;z-index:2;font-family:var(--serif);font-size:52px;letter-spacing:3px;font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#caa45a);-webkit-background-clip:text;background-clip:text;color:transparent;animation:thpulse 4s ease-in-out infinite}
@keyframes thpulse{0%,100%{filter:drop-shadow(0 0 16px rgba(231,200,132,.25))}50%{filter:drop-shadow(0 0 30px rgba(231,200,132,.55))}}
.heure-body{max-width:860px;margin:30px auto 0}
.facet-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.facet-grid .full{grid-column:1 / -1}
.ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.ref-grid>*{margin:0!important}
.heure-hero .seen-wrap{margin-top:18px}
.heure-hero .seen-count{justify-content:center}
.heure-related{max-width:860px;margin:50px auto 0}
.heure-related .hour-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:680px){
  .facet-grid,.ref-grid{grid-template-columns:1fr}
  .heure-related .hour-grid{grid-template-columns:repeat(2,1fr)}
  .heure-hero{flex-direction:column;text-align:center;gap:2px;padding:12px 20px 20px}
  .heure-hero .time-orb{margin:0 auto 2px;width:190px;height:190px}
  .time-orb .th{font-size:42px}
  .heure-hero .seen-wrap{margin-top:16px}
  .heure-hero .seen-count{justify-content:center}
  .time-orb .s1{--r:64px}.time-orb .s2{--r:74px}.time-orb .s3{--r:84px}
  .time-orb .s4{--r:68px}.time-orb .s5{--r:78px}.time-orb .s6{--r:88px}
}
.heure-card-ref{display:flex;align-items:center;gap:20px;background:linear-gradient(150deg,rgba(155,123,224,.12),var(--glass));border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:30px 0 22px;text-decoration:none;transition:.2s}
.heure-card-ref:hover{border-color:var(--gold-soft)}
.heure-card-ref .hcr-l{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:4px}
.heure-card-ref h4{font-family:var(--serif);font-size:21px;margin-bottom:6px}
.heure-card-ref .hcr-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold-bright);font-size:14px}
.heure-card-ref .hcr-link .ico{width:15px;height:15px}
.heure-card-ref .hcr-card{flex:none;display:block}
.heure-card-ref .tcard{width:104px}
.heure-card-ref .tcard .gl-wrap .ico{width:34px;height:34px}
.heure-card-ref .tcard .nom{font-size:13px}
.heure-card-ref .tcard .roman{font-size:12px}
@media(max-width:520px){.heure-card-ref{flex-direction:column;text-align:center}}

/* référence ange (sous la carte) */
.heure-ange-ref{display:flex;align-items:center;gap:20px;background:linear-gradient(150deg,rgba(155,123,224,.14),var(--glass));border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:14px 0 22px;transition:.2s}
.heure-ange-ref:hover{border-color:var(--gold-soft)}
.heure-ange-ref .ar-ic{width:88px;height:88px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(155,123,224,.3),transparent 72%);border:1px solid var(--line);color:var(--violet)}
.heure-ange-ref .ar-ic .ico{width:38px;height:38px}
.heure-ange-ref .ar-l{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:4px}
.heure-ange-ref h4{font-family:var(--serif);font-size:21px;margin-bottom:6px}
.heure-ange-ref .ar-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold-bright);font-size:14px}
.heure-ange-ref .ar-link .ico{width:15px;height:15px}
@media(max-width:520px){.heure-ange-ref{flex-direction:column;text-align:center}}
.heure-hero .ange a{color:inherit}
.heure-hero .ange a:hover b{text-decoration:underline}

/* page ange gardien */
.ange-hero{text-align:center;max-width:640px;margin:10px auto 40px}
.ange-medallion{width:110px;height:110px;margin:0 auto 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;
  background:radial-gradient(circle,rgba(155,123,224,.32),transparent 70%);border:1px solid var(--line);color:var(--violet)}
.ange-medallion::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px dashed rgba(155,123,224,.26);animation:spin 30s linear infinite}
.ange-medallion .ico{width:48px;height:48px}
.ange-hero .badge{margin-bottom:14px}
.ange-hero h1{font-family:var(--serif);font-size:clamp(34px,5vw,52px);margin-bottom:14px}
.reading .rtitle{font-size:clamp(31px,4.6vw,46px);margin-bottom:8px}
.reading .ange{color:var(--muted);font-size:15px;margin-bottom:24px}
.reading .ange b{color:var(--gold-bright)}
.callout{text-align:center;background:rgba(231,200,132,.06);border:1px solid hsla(45,55%,60%,.28);border-radius:16px;padding:22px 30px;font-family:var(--serif);font-size:22px;font-style:italic;color:var(--gold-bright);margin-top:16px}

/* draw stage */
.stage{display:flex;flex-direction:column;align-items:center;gap:28px;overflow-y:clip}
.draw-row{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}
.hidden{display:none!important}
.pos{margin-top:13px;color:var(--gold-soft);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase}

/* tirage : question → mélange → étalement → choix */
.qbox{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:560px;width:100%;text-align:center}
.qbox .qlabel{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold-bright)}
.qbox .qlabel span{color:var(--muted-2);font-style:normal;font-family:var(--sans);font-size:12.5px}
.qbox .qlabel .ico{width:18px;height:18px;color:var(--gold)}
.qbox input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:15px 18px;color:var(--ink);font-family:var(--sans);font-size:15.5px;outline:none;text-align:center;transition:.2s}
.qbox input::placeholder{color:var(--muted-2)}
.qbox input:focus{border-color:var(--gold);background:rgba(231,200,132,.06)}
.qbox .qhint{font-size:13px;color:var(--muted-2)}
/* invocation : pose ta question */
.invok-wrap{max-width:560px;width:100%}
.invok-head{display:flex;align-items:center;gap:16px;margin-bottom:15px;white-space:nowrap;
  font-family:var(--sans);font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)}
.invok-head::before,.invok-head::after{content:"";flex:1;height:1px}
.invok-head::before{background:linear-gradient(90deg,transparent,var(--line))}
.invok-head::after{background:linear-gradient(90deg,var(--line),transparent)}
.invok{position:relative;width:100%;
  border:1px solid hsla(45,45%,62%,.32);border-radius:20px;padding:26px 30px;text-align:center;
  background:linear-gradient(165deg, rgba(231,200,132,.05), rgba(255,255,255,.012))}
.invok-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:15px}
.invok input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;
  padding:10px 6px 12px;color:var(--ink);font-family:var(--serif);font-style:italic;font-size:19px;text-align:center;outline:none;transition:border-color .25s}
.invok input::placeholder{color:var(--muted-2);font-size:16.5px}
.invok input:focus{border-bottom-color:var(--gold)}
.invok-hint{font-size:12.5px;color:var(--muted-2)}
.invok .btn{margin-top:2px}
.invok-sugg{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.sugg{font-family:var(--sans);font-size:12px;color:var(--muted);background:rgba(255,255,255,.035);border:1px solid var(--line-soft);border-radius:30px;padding:6px 13px;cursor:pointer;transition:.2s}
.sugg:hover{color:var(--gold-bright);border-color:var(--gold-soft);background:rgba(231,200,132,.07)}
.invok.error{animation:invokShake .45s ease}
.invok.error input{border-bottom-color:#d98a8a}
.invok.error .invok-hint{color:#d9a3a3}
.invok.asked .invok-hint{color:var(--gold-soft);font-style:italic}
@keyframes invokShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}55%{transform:translateX(6px)}80%{transform:translateX(-3px)}}
/* remélanger */
.reshuffle{font-size:13.5px;padding:10px 20px;margin-top:-6px}
/* la voix de la voyante */
.oracle{background:linear-gradient(150deg, rgba(231,200,132,.06), rgba(255,255,255,.012) 60%);border:1px solid var(--line);border-radius:18px;padding:24px 26px;margin-bottom:26px}
.oracle-advice{margin:-12px 0 32px}
.oracle-advice .oa-t{font-style:normal;font-family:var(--sans);font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:5px}
.oracle p{font-family:var(--sans);font-size:15px;line-height:1.8;color:var(--ink);opacity:.92;margin-bottom:13px}
.oracle .o-nom{font-family:var(--serif);font-size:1.16em}
.oracle p:last-child{margin-bottom:0}
.oracle .o-t{display:flex;align-items:center;gap:9px;font-family:var(--sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:20px 0 8px}
.oracle .o-t::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.oracle .o-t .lsec-orn{font-size:11px}
.oracle .o-t:first-child{margin-top:0}
/* la même langue que la fiche : noms en or, renversée en violet */
.oracle .o-nom{color:var(--gold-bright);font-weight:600}
.oracle .o-rev{color:#b79bf0}
/* lettrine d'ouverture, façon grimoire */
.oracle > p:first-of-type::first-letter{font-family:var(--serif);font-size:46px;line-height:.78;float:left;color:var(--gold-bright);padding:6px 10px 10px 0}
.q-echo{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--gold-bright);text-align:center;margin-bottom:4px}

.fd-m{display:flex;color:var(--gold);opacity:.85;filter:drop-shadow(0 0 10px rgba(231,200,132,.45))}
.fd-m .ico{width:30px;height:30px;stroke-width:1}

/* mélange */
.shuffle{position:relative;width:130px;height:218px;margin:14px auto}
.shuffle .sh-card{position:absolute;inset:0;border-radius:12px;overflow:hidden;border:1px solid var(--gold-soft);box-shadow:0 12px 30px rgba(0,0,0,.5);animation:shuffle 1.35s ease-in-out infinite;animation-delay:calc(var(--i)*.08s)}
.shuffle .sh-card img{width:100%;height:100%;object-fit:cover;display:block}

@keyframes shuffle{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-50px) rotate(-10deg)}50%{transform:translateX(0) rotate(0)}75%{transform:translateX(50px) rotate(10deg)}}

/* étalement (deck face cachée) */
.spread{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px;max-width:820px;margin:14px auto 0;padding-bottom:14px}
.sp-card{flex:none;width:84px;aspect-ratio:2/3;border-radius:11px;cursor:pointer;padding:0;border:1px solid hsla(45,40%,58%,.45);background:#0e0a1e;overflow:hidden;position:relative;
  transform:rotate(calc(var(--o)*2.6deg)) translateY(calc(var(--ab)*var(--ab)*3.5px));transform-origin:bottom center;
  transition:transform .25s,box-shadow .25s,border-color .25s,opacity .35s;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.sp-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}

.sp-card:hover{transform:rotate(calc(var(--o)*2.6deg)) translateY(calc(var(--ab)*var(--ab)*3.5px - 16px));box-shadow:0 16px 34px rgba(231,200,132,.25);border-color:var(--gold)}
.sp-card.used{opacity:.18;transform:scale(.9);pointer-events:none}
@media(max-width:560px){.sp-card{width:21.5%;transform:none}.sp-card:hover{transform:translateY(-10px)}}
.spread.done{opacity:0;transform:translateY(14px);transition:opacity .55s,transform .55s;pointer-events:none}

/* emplacements choisis */
.chosen{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;margin-bottom:6px}
.slot{display:flex;flex-direction:column;align-items:center;gap:10px;width:104px}
.slot-card{width:100%;aspect-ratio:11/18.5}
.slot-ph{position:relative;width:100%;height:100%;border:1px dashed hsla(45,45%,60%,.4);border-radius:12px;background:radial-gradient(80% 60% at 50% 40%, rgba(231,200,132,.05), rgba(255,255,255,.01))}
.slot-ph::after{content:"✦";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:hsla(45,55%,70%,.35);font-size:15px}
.slot-lbl{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft);text-align:center}
.slot.filled .slot-card{animation:slotPop .45s cubic-bezier(.2,.9,.3,1)}
@keyframes slotPop{0%{transform:scale(.8);opacity:.4}100%{transform:scale(1);opacity:1}}
.pick-hint{color:var(--muted);font-size:15px}
/* ===== mélange 3D : table en perspective, coupe + riffle + ruban ===== */
.table3d{perspective:1150px;perspective-origin:50% 18%;width:min(620px,94vw);height:300px;display:flex;align-items:center;justify-content:center;margin-top:-4px;overflow:clip}
.felt3d{position:relative;width:520px;height:372px;transform:rotateX(56deg);transform-style:preserve-3d;border-radius:50%;
  background:radial-gradient(58% 58% at 50% 46%, #321a3c, #1a0e24 68%, rgba(13,8,20,0) 100%);
  box-shadow:inset 0 0 90px rgba(0,0,0,.6)}
.felt3d::before{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid rgba(231,200,132,.16)}
.felt-glow{position:absolute;top:38%;left:50%;width:300px;height:300px;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle, rgba(242,176,80,.30), rgba(230,120,60,.08) 50%, transparent 70%);filter:blur(26px);animation:flicker 4.5s ease-in-out infinite}
.deck3d{position:absolute;top:50%;left:50%;width:104px;height:166px;margin:-83px 0 0 -52px;transform-style:preserve-3d}
.c3{position:absolute;inset:0;z-index:var(--z);transform-style:preserve-3d;animation:shuffle3d 5.3s cubic-bezier(.5,.08,.34,1) var(--d) both}
.c3 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid rgba(205,171,110,.55);display:block;backface-visibility:hidden}
.c3::after{content:"";position:absolute;inset:4px -2px -6px;border-radius:12px;background:rgba(0,0,0,.5);filter:blur(8px);transform:translateZ(-2px)}
@keyframes shuffle3d{
  0%{transform:translate3d(0,0,0)}
  7%{transform:translate3d(0,0,10px)}
  15%{transform:translate3d(var(--cx),0,52px) rotateZ(var(--cr))}
  25%{transform:translate3d(var(--cx),0,2px) rotateZ(var(--cr))}
  36%{transform:translate3d(0,0,calc(34px + var(--lift))) rotateZ(calc(var(--cr)*-0.5)) rotateX(8deg)}
  46%{transform:translate3d(0,0,2px) rotateZ(0)}
  56%{transform:translate3d(0,0,calc(16px + var(--lift))) rotateZ(calc(var(--cr)*0.4))}
  66%{transform:translate3d(0,0,1px) rotateZ(0)}
  80%{transform:translate3d(var(--fx),var(--fy,34px),6px) rotateZ(var(--fr))}
  100%{transform:translate3d(var(--fx),var(--fy,34px),6px) rotateZ(var(--fr))}
}
.shuffle-note{color:var(--muted);font-size:14.5px;animation:hintpulse 2s ease-in-out infinite;margin-top:8px}
@media(max-width:560px){.shuffle-note{min-height:44px}}
/* la séance : cartes posées sur le tapis, prêtes à être tirées */
.c3.ready{cursor:pointer}
.c3.ready img{transition:filter .22s}
.c3.ready:hover img{filter:brightness(1.35) drop-shadow(0 0 14px rgba(231,200,132,.5))}
.c3.gone{pointer-events:none}
.table3d.dimmed .c3{opacity:.28;transition:opacity .9s}
.table3d.dimmed .felt-glow{opacity:.4;transition:opacity .9s}
.under-felt{margin-top:-12px}
/* la carte qui vole de la table vers son emplacement */
.fly-card{position:fixed;z-index:9999;border-radius:10px;border:1px solid rgba(205,171,110,.6);object-fit:cover;pointer-events:none;
  box-shadow:0 20px 44px rgba(0,0,0,.6);transition:left .62s cubic-bezier(.4,.08,.3,1),top .62s cubic-bezier(.4,.08,.3,1),width .62s,height .62s}

@media(max-width:560px){.table3d{height:260px}.felt3d{width:400px;height:300px}.deck3d{width:84px;height:134px;margin:-67px 0 0 -42px}}

/* synthèse du tirage en croix */
.read-card.synthese{border-color:hsla(45,55%,60%,.4);background:linear-gradient(120deg, rgba(231,200,132,.07), rgba(255,255,255,.015))}
.rc-calc{font-size:13px;line-height:1.6;color:var(--gold-soft);margin-bottom:8px;font-style:italic;font-family:var(--serif);font-size:14.5px}

/* lecture du tirage */
.read-head{text-align:center;margin:38px 0 24px}
.read-q{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold-bright);margin-top:10px}
.read-title{display:flex;align-items:center;gap:16px;font-family:var(--sans);font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:500}
.read-title::before,.read-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line))}
.read-title::after{background:linear-gradient(90deg,var(--line),transparent)}
.read-card{display:flex;gap:18px;align-items:center;background:rgba(255,255,255,.025);border:1px solid var(--line-soft);border-radius:16px;padding:18px;margin-bottom:14px;color:inherit;transition:transform .2s,border-color .2s,background .2s}
.read-card:hover{transform:translateY(-3px);border-color:hsla(45,50%,62%,.45);background:rgba(255,255,255,.04)}
.rc-body{display:block}
.rc-pos,.rc-nom,.rc-txt,.rc-calc{display:block}
.read-card.is-rev{border-color:rgba(155,123,224,.3)}
.rc-thumb{position:relative;flex:none;width:74px;border-radius:9px;overflow:hidden;border:1px solid hsla(45,45%,62%,.45);box-shadow:0 8px 18px rgba(0,0,0,.45)}
.rc-thumb img{display:block;width:100%;height:auto}
.read-card.is-rev .rc-thumb img{transform:rotate(180deg)}
.rc-rev{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(20,12,36,.85);border:1px solid rgba(155,123,224,.5);color:#cdb4f6;font-size:11px;display:flex;align-items:center;justify-content:center}
.rc-body{min-width:0;flex:1}
.rc-pos{font-family:var(--sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:3px}
.rc-nom{font-family:var(--serif);font-size:21px;color:var(--gold-bright);margin-bottom:6px}
.rc-revtag{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#b79bf0;font-family:var(--sans)}
.rc-txt{font-size:14.5px;line-height:1.65;color:var(--ink);opacity:.9;margin-bottom:9px}
.rc-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gold);}
.rc-link .ico{width:14px;height:14px;transition:transform .2s}
.rc-link:hover .ico{transform:translateX(3px)}
.read-actions{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}
@media(max-width:560px){
  .read-actions{flex-direction:column;gap:11px}
  .read-actions .btn{width:100%;max-width:300px;justify-content:center}
}
@media(max-width:520px){.read-card{gap:13px;padding:14px}.rc-thumb{width:60px}.rc-nom{font-size:18px}}
@media(max-width:560px){.slot{width:100px}}
/* tirages à beaucoup de cartes : tout se resserre */
.chosen.many{gap:12px;max-width:760px}
.chosen.many .slot{width:88px;gap:8px}
.chosen.many .slot-lbl{font-size:10px;letter-spacing:1px}
.chosen.many .rev-tag{font-size:7px;letter-spacing:.6px;padding:3px 7px}
.spread.many .sp-card{width:64px}
.spread.many{max-width:760px}
@media(max-width:560px){.chosen.many{gap:8px}.chosen.many .slot{width:58px}.chosen.many .tc-brand{font-size:4px;letter-spacing:.8px;bottom:4.5px}.chosen.many .slot-lbl{font-size:8px;letter-spacing:.6px}.chosen.many .rev-tag{font-size:6px;padding:2px 5px}.spread.many .sp-card{width:17%}}

/* bloc promo numérologie (accueil) */
.numero-promo{position:relative;overflow:hidden;display:grid;grid-template-columns:230px 1fr;gap:46px;align-items:center;max-width:860px;margin:0 auto;
  background:linear-gradient(135deg,rgba(155,123,224,.18),rgba(231,200,132,.07),var(--glass));border:1px solid var(--line);border-radius:26px;padding:42px 46px;backdrop-filter:blur(12px)}
.numero-promo>*{position:relative;z-index:1}
.np-planet{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none;animation:spin var(--dur,12s) linear infinite var(--d,0s)}
.np-planet::before{content:"";position:absolute;top:calc(var(--r) * -1);left:calc(var(--size) / -2);width:var(--size);height:var(--size);border-radius:50%;background:var(--col);box-shadow:0 0 8px var(--col)}
.np-orbit-ring{position:absolute;top:50%;left:50%;border:1px solid rgba(231,200,132,.07);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
@media(max-width:760px){.numero-promo{grid-template-columns:1fr;justify-items:center;text-align:center;gap:28px;padding:34px 26px}}
.np-visual{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;flex:none;justify-self:center}
.np-visual .glow{position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(231,200,132,.3),transparent 62%);filter:blur(16px);animation:breathe 5s ease-in-out infinite}
.np-visual .ring{position:absolute;inset:0;border-radius:50%;border:1px dashed hsla(45,55%,62%,.28);animation:spin 18s linear infinite}
.np-visual .ring.r2{inset:16px;border-color:rgba(155,123,224,.32);animation:spin 11s linear infinite reverse}
.np-visual .num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:92px;font-weight:600;line-height:1;z-index:2;
  background:linear-gradient(135deg,var(--gold-bright),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;animation:npfloat 4.5s ease-in-out infinite}
@keyframes npfloat{0%,100%{transform:translateY(0);filter:drop-shadow(0 0 18px rgba(231,200,132,.2))}50%{transform:translateY(-6px);filter:drop-shadow(0 0 30px rgba(231,200,132,.45))}}
.np-body h3{font-size:22px;margin-bottom:16px}
.np-body h2{font-size:clamp(26px,3.4vw,38px);margin:14px 0 12px}
.np-body p{color:var(--muted);font-size:16px;max-width:54ch}
.np-feats{display:grid;grid-template-columns:1fr 1fr;gap:11px 18px;margin:20px 0 26px;max-width:430px}
.np-feats div{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--ink)}
.np-feats .fic{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:rgba(231,200,132,.1);border:1px solid var(--line);color:var(--gold-bright);flex:none}
.np-feats .fic .ico{width:16px;height:16px}
@media(max-width:760px){.np-feats{margin-inline:auto}}
@media(max-width:430px){.np-feats{grid-template-columns:1fr}}

/* premium */
.premium{position:relative;background:linear-gradient(150deg,rgba(155,123,224,.16),rgba(231,200,132,.07),var(--glass));border:1px solid var(--line);border-radius:26px;padding:48px 40px;text-align:center;overflow:hidden;backdrop-filter:blur(12px)}
.premium h2{font-size:36px}
.premium p{color:var(--muted);max-width:52ch;margin:14px auto 26px}
.pill-list{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
.pill-list span{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:30px;padding:10px 17px;font-size:14px;color:var(--ink);background:rgba(255,255,255,.03)}
.pill-list .ico{width:18px;height:18px;color:var(--gold)}

/* ---------- NUMÉROLOGIE ---------- */
.nform{max-width:540px;margin:0 auto;background:var(--glass);border:1px solid var(--line);border-radius:22px;padding:32px;backdrop-filter:blur(12px)}
.field{margin-bottom:18px}
.field label{display:flex;align-items:center;gap:9px;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:9px}
.field label .ico{width:16px;height:16px}
.field input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink);font-family:var(--sans);font-size:15.5px;outline:none;transition:.2s}
.field input::placeholder{color:var(--muted-2)}
.field input:focus{border-color:var(--gold);background:rgba(231,200,132,.06)}
.field input[type=date],.field input[type=time]{color-scheme:dark}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.field-row{grid-template-columns:1fr}}

/* overlay rituel de calcul */
.ncast{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;
  background:radial-gradient(circle at 50% 42%,#160f2c,#070512 78%);opacity:0;animation:fu .4s forwards}
.ncast.out{animation:castOut .5s forwards}
@keyframes castOut{to{opacity:0;visibility:hidden}}
.cast-sigil{position:relative;width:230px;height:230px;display:flex;align-items:center;justify-content:center}
.cast-sigil .glow{position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(231,200,132,.32),transparent 62%);filter:blur(20px);animation:breathe 3s ease-in-out infinite}
.cast-sigil .orbit{position:absolute;inset:0;width:230px;height:230px}
.cast-sigil .orbit circle{fill:none;stroke:rgba(231,200,132,.35);stroke-width:1;stroke-dasharray:6 12;transform-origin:center;animation:spin 7s linear infinite}
.cast-sigil .orbit.o2 circle{stroke:rgba(155,123,224,.4);stroke-dasharray:3 9;animation:spin 4.5s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.cast-num{font-family:var(--serif);font-size:110px;font-weight:600;line-height:1;z-index:1;
  background:linear-gradient(135deg,var(--gold-bright),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 44px rgba(231,200,132,.3)}
.cast-num.locked{animation:lock .7s cubic-bezier(.2,.9,.3,1)}
@keyframes lock{0%{transform:scale(1.45);filter:blur(4px)}55%{transform:scale(.92)}100%{transform:scale(1);filter:blur(0)}}
.cast-status{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--gold-bright);letter-spacing:.3px;text-align:center;padding:0 24px}
.cast-dots{display:flex;gap:9px}
.cast-dots i{width:8px;height:8px;border-radius:50%;background:var(--gold-soft);animation:cd 1.1s ease-in-out infinite}
.cast-dots i:nth-child(2){animation-delay:.18s}
.cast-dots i:nth-child(3){animation-delay:.36s}
@keyframes cd{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}
.nform .btn{width:100%;justify-content:center;margin-top:6px}
.nform .nnote{font-size:12px;color:var(--muted-2);text-align:center;margin-top:14px;line-height:1.5}

/* sigil = grand nombre */
.num-feature{display:grid;grid-template-columns:240px 1fr;gap:46px;align-items:center;margin-bottom:48px}
@media(max-width:820px){.num-feature{grid-template-columns:1fr;justify-items:center;text-align:center;gap:30px}}
.sigil{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;flex:none}
.sigil .ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line)}
.sigil .ring.r2{inset:14px;border-style:dashed;border-color:rgba(231,200,132,.22)}
.sigil .glow{position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,rgba(231,200,132,.3),transparent 62%);filter:blur(16px);animation:breathe 5s ease-in-out infinite}
.sigil .num{font-family:var(--serif);font-size:96px;font-weight:600;line-height:1;background:linear-gradient(135deg,var(--gold-bright),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(231,200,132,.25);z-index:1}
.num-feature .nlabel{font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:8px}
.num-feature h2{font-size:clamp(30px,4.4vw,44px)}
.num-feature .nmots{color:var(--muted);margin:8px 0 16px;font-size:15px}
.num-feature .nmots b{color:var(--gold-bright)}
.num-feature p{color:var(--ink);opacity:.92;font-size:16.5px;max-width:54ch}

.num-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:42px}
@media(max-width:680px){.num-grid{grid-template-columns:1fr}}
.ncard{display:flex;gap:18px;align-items:center;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:20px 22px;backdrop-filter:blur(8px)}
.ncard .nn{font-family:var(--serif);font-size:46px;line-height:1;color:var(--gold-bright);flex:none;width:56px;text-align:center;text-shadow:0 0 22px rgba(231,200,132,.3)}
.ncard .nbody .nt{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:4px}
.ncard .nbody h4{font-size:20px;margin-bottom:5px}
.ncard .nbody p{font-size:14px;color:var(--muted)}

/* force & défi */
.rblock h4{display:flex;align-items:center;gap:9px}
.traits{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.trait{display:flex;gap:14px;align-items:flex-start;background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-align:left}
.trait .ti{width:36px;height:36px;border-radius:11px;background:rgba(231,200,132,.1);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold-bright);flex:none}
.trait .ti .ico{width:18px;height:18px}
.trait b{display:block;font-family:var(--serif);font-size:17px;color:var(--gold-bright);margin-bottom:2px}
.trait p{font-size:14.5px;color:var(--muted)}

/* sous-titres de section dans le thème */
.nsub{display:flex;align-items:center;gap:11px;font-size:22px;margin:38px 0 18px;color:var(--ink)}
.nsub .ico{width:22px;height:22px;color:var(--gold-bright)}
.nsub span{font-family:var(--sans);font-size:14px;color:var(--muted);font-weight:400}

/* grille personnelle 3×3 */
.grille-wrap{max-width:420px;margin:0 auto}
.grille{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gcell{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:14px;background:var(--glass);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.gcell .gn{position:absolute;top:8px;left:11px;font-size:12px;color:var(--muted-2)}
.gcell .gc{font-family:var(--serif);font-size:26px;letter-spacing:3px;color:var(--gold-bright);line-height:1}
.gcell.absent{border-style:dashed;opacity:.55}
.gcell.absent .gc{color:var(--muted-2);letter-spacing:0}
.gcell.dom{border-color:var(--gold);background:rgba(231,200,132,.09);box-shadow:0 0 22px rgba(231,200,132,.12)}
.grille-leg{text-align:center;color:var(--muted);font-size:13.5px;margin-top:16px;line-height:1.5}
.grille-leg b{color:var(--gold-bright);font-weight:500}

.num-mirror{display:flex;align-items:center;gap:26px;background:linear-gradient(150deg,rgba(155,123,224,.14),var(--glass));border:1px solid var(--line);border-radius:22px;padding:26px;margin-bottom:20px}
@media(max-width:560px){.num-mirror{flex-direction:column;text-align:center}}
.num-mirror .nm-txt h3{font-size:24px;margin-bottom:6px}
.num-mirror .nm-txt p{color:var(--muted);font-size:15px}

/* bouton "je viens de la voir" + suivi */
.seen-wrap{margin-top:30px}
.btn.done{animation:pop .4s ease}
@keyframes pop{0%{transform:scale(1)}42%{transform:scale(1.06)}100%{transform:scale(1)}}
.seen-count{margin-top:13px;font-size:14px;color:var(--muted);display:flex;align-items:center;gap:7px;min-height:20px}
.seen-count .ico{width:15px;height:15px;color:var(--gold)}
.seen-count b{color:var(--gold-bright)}
.seen-count a{color:var(--gold-bright);text-decoration:underline}
@media(max-width:840px){.seen-count{justify-content:center}.seen-wrap{text-align:center}}

.heures-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px 0 4px}
.suivi-teaser{display:inline-flex;align-items:center;gap:9px;background:var(--glass);border:1px solid var(--line);border-radius:30px;padding:11px 18px;font-size:14px;color:var(--muted);transition:.2s;backdrop-filter:blur(8px)}
.suivi-teaser:hover{border-color:var(--gold-soft);color:var(--gold-bright)}
.suivi-teaser b{color:var(--gold-bright)}
.suivi-teaser .ico{width:16px;height:16px;color:var(--gold)}
@media(max-width:560px){.heures-top{justify-content:center}.heures-top .mirror-widget{margin:0}}

.suivi-stats{display:grid;grid-template-columns:1fr 1fr 1.7fr;gap:18px;margin-bottom:12px}
@media(max-width:720px){.suivi-stats{grid-template-columns:1fr 1fr}.ss-fav{grid-column:1/-1}}
@media(max-width:430px){.suivi-stats{grid-template-columns:1fr}.ss-fav{grid-column:auto}}
.ss-card{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;backdrop-filter:blur(8px)}
.ss-n{font-family:var(--serif);font-size:52px;line-height:1;color:var(--gold-bright);text-shadow:0 0 22px rgba(231,200,132,.3)}
.ss-l{font-size:13px;color:var(--muted);margin-top:6px}
.ss-fav{flex-direction:row;align-items:center;gap:18px;text-align:left;background:linear-gradient(150deg,rgba(155,123,224,.14),var(--glass));transition:.2s}
.ss-fav:hover{border-color:var(--gold-soft)}
.ss-fav-h{font-family:var(--serif);font-size:30px;color:var(--gold-bright);letter-spacing:2px;margin:3px 0}

.suivi-rank{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.sr-row{display:flex;align-items:center;gap:14px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--glass);transition:.2s}
.sr-row:hover{border-color:var(--gold-soft);transform:translateX(3px)}
.sr-time{font-family:var(--serif);font-size:19px;color:var(--gold-bright);letter-spacing:1px;width:64px;flex:none}
.sr-bar{flex:1;height:8px;border-radius:6px;background:rgba(255,255,255,.05);overflow:hidden}
.sr-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--violet),var(--gold))}
.sr-c{font-size:14px;color:var(--muted);width:24px;text-align:right;flex:none}

.suivi-timeline{display:flex;flex-direction:column}
.tl-row{display:flex;align-items:center;gap:14px;padding:11px 4px;border-bottom:1px solid var(--line)}
.tl-time{font-family:var(--serif);font-size:17px;color:var(--gold-bright);letter-spacing:1px;width:62px;flex:none}
.tl-lbl{flex:1;font-size:14px;color:var(--ink)}
.tl-ago{font-size:13px;color:var(--muted-2)}

/* back link (a.back : ne pas matcher .face.back/.tcard.back du flip) */
a.back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-bottom:26px;cursor:pointer;transition:.2s}
a.back:hover{color:var(--gold-bright)}
a.back .ico{width:17px;height:17px}

/* footer */
footer{border-top:1px solid var(--line);margin-top:48px;padding:40px 0;color:var(--muted);font-size:14px;position:relative;z-index:1}
.foot-in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
footer .links a{color:var(--muted)}
footer .links a:hover{color:var(--gold-bright)}
footer .disc{max-width:64ch;font-size:12.5px;opacity:.65;margin-top:16px;line-height:1.5}

/* anims */
.fade-up{opacity:0;transform:translateY(18px);animation:fu .6s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes fu{to{opacity:1;transform:none}}
/* apparition de toute la page à l'arrivée (le contenu est recréé à chaque navigation) */
@keyframes appRise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
main>section{animation:appRise .55s cubic-bezier(.2,.7,.3,1) both}
@media(prefers-reduced-motion:reduce){main>section{animation:none}}
.hero .eyebrow{animation:fu .6s .05s both}
.hero h1{animation:fu .7s .15s both}
.hero .lead{animation:fu .7s .28s both}
.hero .picker{animation:fu .7s .4s both}
.hero .hero-cta{animation:fu .7s .52s both}
.fan{animation:fu .9s .3s both}

.view{display:none}
.view.active{display:block;animation:fu .5s}

/* ===== pages statiques heure miroir : gros titres en dégradé ===== */
.heure-body .rblock h2{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,2.8vw,26px);line-height:1.12;letter-spacing:.2px;text-transform:none;color:var(--gold-bright);margin-bottom:13px;display:flex;align-items:center;gap:12px}
.heure-body .rblock h2 .ico{width:32px;height:32px;padding:7px;border-radius:9px;background:rgba(231,200,132,.1);border:1px solid var(--line);color:var(--gold);flex:none;box-sizing:border-box}
.heure-body .rblock h2 .gt{display:inline}
.heure-card-ref h3,.heure-ange-ref h3{font-family:var(--serif);font-size:21px;margin-bottom:5px}
.heure-card-ref .hcr-desc,.heure-ange-ref .ar-desc{font-size:13.5px;color:var(--muted);line-height:1.5;margin:0 0 9px}
/* texte des sections : aéré, sans emphase jaune */
.heure-body .rblock p{margin:0}
.heure-body .rblock p + p{margin-top:.62em}
.gold-link{color:var(--gold-bright);font-weight:500;text-decoration:none}
.gold-link:hover{text-decoration:underline}

/* ===== carte image + partage ===== */
.share-card{position:relative;overflow:visible;max-width:680px;margin:40px auto 0;display:flex;align-items:center;gap:40px;text-align:left;
  background:none;border:0;border-radius:22px;padding:24px 40px}
/* halo derrière la carte */
.share-card::before{content:"";position:absolute;left:40px;top:50%;width:280px;height:280px;transform:translateY(-50%);border-radius:50%;
  background:radial-gradient(circle, hsla(265,60%,55%,.4), transparent 70%);filter:blur(34px);pointer-events:none;z-index:0}
.share-preview{flex:none;position:relative;z-index:1;padding:4px}
.share-preview img{width:210px;max-width:100%;border-radius:15px;border:1px solid hsla(45,55%,72%,.32);
  box-shadow:0 24px 55px rgba(0,0,0,.6), 0 2px 0 rgba(255,255,255,.05) inset;
  transform:rotate(-3deg);transition:transform .4s cubic-bezier(.2,.7,.3,1);display:block}
.share-card:hover .share-preview img{transform:rotate(0) scale(1.03)}
.share-body{flex:1;min-width:0;position:relative;z-index:1}
.share-card .share-h{justify-content:flex-start;display:flex;align-items:center;gap:11px;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(23px,3vw,28px);margin-bottom:5px;color:var(--gold-bright)}
.share-card .share-h .ico{width:25px;height:25px;color:var(--gold)}
.share-card .share-sub{color:var(--muted);font-size:14px;margin-bottom:24px;text-wrap:balance}
.share-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.share-actions .btn.primary{font-size:15px;padding:13px 24px}
.share-actions .btn.primary .ico{width:18px;height:18px;vertical-align:-3px;margin-right:5px}
.share-or{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted-2);margin-top:8px}
.share-btns{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-start}
@media(max-width:680px){.share-card{flex-direction:column;text-align:center;gap:22px;padding:28px 22px;background:linear-gradient(160deg,rgba(155,123,224,.12),rgba(231,200,132,.05));border:1px solid var(--line);overflow:hidden}.share-card::before{left:50%;top:34%;transform:translate(-50%,-50%)}.share-card .share-h{justify-content:center}.share-actions{align-items:center}.share-btns{justify-content:center}.share-card .share-sub{max-width:none}.share-preview img{width:190px;transform:rotate(-3deg)}}
.share-btn{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  background:var(--glass);border:1px solid var(--line);color:var(--ink);transition:transform .18s,border-color .18s,background .18s;backdrop-filter:blur(8px)}
.share-btn .ico{width:18px;height:18px}
.share-btn:hover{transform:translateY(-2px);border-color:var(--gold-soft);background:rgba(231,200,132,.1);color:var(--gold-bright)}
.share-btn.ok{border-color:var(--gold);color:var(--gold-bright)}
/* verrou de scroll quand le menu mobile est ouvert (évite le double-scroll iPhone) */
body:has(nav.links.open){overflow:hidden}
/* texte réservé aux lecteurs d'écran / crawlers (h1 d'accueil) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== FAQ accordéon ===== */
.faq{max-width:860px;margin:34px auto 0}
.faq-title{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:24px;color:var(--ink);margin-bottom:16px}
.faq-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.faq-title .ico{width:24px;height:24px;color:var(--gold)}
.faq-item{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;transition:border-color .2s}
.faq-item[open]{border-color:var(--gold-soft);background:rgba(231,200,132,.05)}
.faq-q{list-style:none;cursor:pointer;padding:16px 50px 16px 20px;position:relative;font-family:var(--serif);font-size:18px;color:var(--gold-bright);font-style:italic}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:24px;font-style:normal;color:var(--gold);transition:transform .25s}
.faq-item[open] .faq-q::after{content:"−";transform:translateY(-50%) rotate(180deg)}
.faq-a{padding:0 20px 18px;color:var(--ink);opacity:.9;font-size:16px;line-height:1.7}
@media(max-width:680px){.share-row{flex-direction:column;gap:12px}.faq-q{font-size:16.5px}}

/* ===== Heures : onglets + carrousel ===== */
/* segmented control (style Oublivion) : un conteneur, 2 segments */
.htabs{display:flex;width:fit-content;max-width:100%;margin:8px auto 22px;gap:5px;padding:5px;border-radius:40px;
  background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(8px)}
.htab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;padding:11px 22px;
  border-radius:30px;cursor:pointer;background:transparent;border:0;color:var(--muted);
  font-family:var(--sans);font-size:14.5px;letter-spacing:.3px;transition:color .2s,background .2s}
.htab .ico{width:16px;height:16px}
.htab .htab-n{font-size:11.5px;padding:1px 7px;border-radius:20px;background:rgba(231,200,132,.12);color:var(--gold)}
.htab:hover{color:var(--ink)}
.htab.active{color:#1a1330;background:linear-gradient(180deg,var(--gold-bright),var(--gold));font-weight:600;box-shadow:0 4px 14px rgba(231,200,132,.22)}
.htab.active .htab-n{background:rgba(0,0,0,.16);color:#1a1330}
@media(max-width:680px){.htabs{width:100%}.htab{padding:11px 8px;font-size:13px;gap:6px}.htab .ico{display:none}}

.carbox{position:relative}
.carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;scrollbar-width:none;-ms-overflow-style:none}
.carousel::-webkit-scrollbar{display:none}
.carousel[hidden]{display:none}
.hcard{flex:0 0 auto;width:168px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;
  padding:22px 16px 16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(170deg,hsla(var(--h),45%,40%,.16),var(--glass));
  transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}
.hcard:hover{transform:translateY(-4px);border-color:var(--gold-soft);box-shadow:0 16px 38px rgba(0,0,0,.4)}
.hcard-ic{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:13px;color:hsl(var(--h),60%,78%);
  background:radial-gradient(circle,hsla(var(--h),55%,55%,.28),transparent 72%);border:1px solid var(--line)}
.hcard-ic .ico{width:26px;height:26px}
.hcard-t{position:relative;font-family:var(--serif);font-size:30px;letter-spacing:1px;color:var(--gold-bright);line-height:1}
.hcard-t .h-mir{display:none}
.hcard-l{font-family:var(--serif);font-style:italic;font-size:15.5px;color:var(--ink);text-align:center;line-height:1.25;min-height:2.5em;display:flex;align-items:center}
.hcard-go{display:inline-flex;align-items:center;gap:5px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-soft)}
.hcard-go .ico{width:13px;height:13px}
.carnav{position:absolute;top:38%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;background:rgba(18,12,34,.85);border:1px solid var(--line);color:var(--gold-bright);backdrop-filter:blur(8px);transition:.2s}
.carnav:hover{border-color:var(--gold-soft);background:rgba(28,20,48,.95)}
.carnav .ico{width:18px;height:18px}
.carnav.prev{left:-14px}
.carnav.next{right:-14px}
.hcar-tip{text-align:center;color:var(--muted-2);font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}
.hcar-tip .ico{width:15px;height:15px;opacity:.7}
@media(max-width:780px){.carnav{display:none}.carousel{padding-left:2px}.hcard{width:150px}}

/* ===== Fiche lame (arcane) — hero banger ===== */
.lame-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:50px;max-width:860px;margin:12px auto 30px;padding:48px 52px;border-radius:28px;
  background:radial-gradient(130% 130% at 24% 32%, hsla(var(--h),55%,34%,.36), transparent 60%), linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,0));
  border:1px solid var(--line)}
.lame-roman{position:absolute;right:2%;top:50%;transform:translateY(-50%);font-family:var(--serif);font-weight:600;font-size:360px;line-height:.8;
  color:hsla(var(--h),60%,78%,.07);pointer-events:none;z-index:0;letter-spacing:-12px;white-space:nowrap}
.lame-cardwrap{position:relative;flex:none;z-index:1;display:flex;align-items:center;justify-content:center}
.lame-glow{position:absolute;inset:-26px;border-radius:46% 46% 50% 50%;background:radial-gradient(circle,hsla(var(--h),62%,56%,.5),transparent 70%);filter:blur(34px);z-index:-1}
.lame-cardwrap .tcard{animation:lfloat 6s ease-in-out infinite;box-shadow:0 30px 72px rgba(0,0,0,.6)}
.lame-cardwrap:hover .tcard{animation-play-state:paused;transform:translateY(-14px) rotate(-2deg) scale(1.03)}
@keyframes lfloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-16px) rotate(-2deg)}}
.lame-spark{position:absolute;top:50%;left:50%;width:0;height:0;animation:spin var(--d,16s) linear infinite var(--delay,0s);z-index:2}
.lame-spark::before{content:"";position:absolute;top:calc(var(--r,150px)*-1);left:-2px;width:4px;height:4px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 9px var(--gold-bright)}
.lame-spark.s1{--r:140px;--d:14s;--delay:-2s}.lame-spark.s2{--r:165px;--d:19s;--delay:-9s}
.lame-spark.s3{--r:150px;--d:23s;--delay:-5s}.lame-spark.s4{--r:175px;--d:17s;--delay:-13s}
.lame-head{flex:1;min-width:0;position:relative;z-index:1}
.lame-head h1{font-family:var(--serif);font-size:clamp(40px,5.4vw,62px);line-height:1.04;margin:8px 0 16px;
  background:linear-gradient(100deg,var(--gold-bright),#fff 46%,hsl(var(--h),62%,80%));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.lame-mots{display:flex;gap:0;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.motchip{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);background:none;border:0;padding:0}
.motchip:not(:last-child)::after{content:"✦";font-size:8px;vertical-align:2px;margin:0 11px;color:var(--gold-soft);opacity:.65}
.lame-essence{color:var(--ink);opacity:.92;font-size:17px;line-height:1.6;max-width:44ch;margin-bottom:22px}
.lame-hero .seen-wrap .btn{padding:12px 22px}
@media(max-width:780px){.lame-hero{flex-direction:column;text-align:center;padding:34px 22px;gap:30px}.lame-mots{justify-content:center}.lame-essence{margin-inline:auto}.lame-roman{display:none}.lame-head .seen-wrap{justify-content:center;display:flex}}

/* dual endroit / renversé */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:860px;margin:0 auto 14px}
.dcol{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px;padding:20px 24px}
.dcol.down{background:linear-gradient(180deg,hsla(280,40%,40%,.12),rgba(255,255,255,.02))}
.dcol.down h2 .ico{transform:rotate(180deg)}
.dcol h2{font-family:var(--serif);font-style:italic;font-weight:600;font-size:23px;margin-bottom:10px;display:flex;align-items:center;gap:9px;color:var(--gold-bright)}
.dcol h2 .ico{width:18px;height:18px;color:var(--gold)}
.dcol p{color:var(--ink);opacity:.9;line-height:1.72;font-size:16px}
@media(max-width:680px){.dual{grid-template-columns:1fr}}

/* nav arcane préc/suiv */
.lame-nav{display:flex;justify-content:space-between;gap:14px;max-width:860px;margin:42px auto 0}
.lnav{flex:1;display:flex;align-items:center;gap:13px;border-radius:16px;padding:14px 18px;color:var(--ink);font-family:var(--serif);font-size:17px;transition:transform .2s,border-color .2s,background .2s;
  background:linear-gradient(120deg, rgba(231,200,132,.10), rgba(255,255,255,.015));border:1px solid var(--line)}
.lnav.next{justify-content:flex-end;text-align:right}
.lnav{flex-direction:column;align-items:stretch;gap:10px}
.lnav-k{font-family:var(--sans);font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted-2);white-space:nowrap}
.lnav.next .lnav-k{text-align:right}
.lnav-row{display:flex;align-items:center;gap:13px;min-width:0}
.lnav.next .lnav-row{justify-content:flex-end}
.lnav-nom{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;min-width:0}
.lnav-t{display:flex;flex-direction:column;min-width:0}
.lnav-t small{font-family:var(--sans);font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted-2);margin-bottom:2px}
.lnav-ic{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:11px;
  color:var(--gold-bright);background:radial-gradient(circle, rgba(231,200,132,.22), transparent 72%);border:1px solid hsla(45,55%,62%,.32)}
.lnav-ic .ico{width:22px;height:22px;display:block}
.lnav:hover{transform:translateY(-3px);border-color:hsla(45,55%,62%,.5)}
.lnav>.ico{width:17px;height:17px;color:var(--gold-soft);flex:none}
@media(max-width:560px){.lnav-t small{display:none}.lnav-k{display:none}.lnav{gap:0}.lnav{font-size:15px;padding:12px 14px;gap:10px}}

/* fiche lame : facettes en carrousel sur mobile */
@media(max-width:680px){
  .lame-facets{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:2px 2px 14px;scrollbar-width:none;-ms-overflow-style:none}
  .lame-facets::-webkit-scrollbar{display:none}
  .lame-facets .rblock{flex:0 0 85%;scroll-snap-align:center}
}

/* ===== Fiche lame v2 — lecture éditoriale (carte sticky + reading) ===== */
.lame2{max-width:860px;margin:0 auto}
.lame2-grid{display:grid;grid-template-columns:344px 1fr;gap:58px;margin-top:8px;align-items:start}
.lame2-aside{position:sticky;top:88px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;
  background:radial-gradient(120% 75% at 50% 16%, hsla(var(--h),52%,34%,.30), transparent 62%);border:1px solid var(--line);border-radius:24px;padding:36px 28px 30px}
.lame2-aside .lame-cardwrap{margin-bottom:6px}
.la-roman{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-soft)}
.la-name{font-family:'Cinzel',var(--serif);font-weight:500;font-size:clamp(28px,3.3vw,40px);line-height:1.14;letter-spacing:.5px;
  background:linear-gradient(100deg,var(--gold-bright),#fff 46%,var(--violet) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;width:fit-content}
.lame2-aside .lame-mots{justify-content:center}
.lame2-aside .btn{margin-top:6px}

.lame2-read{padding-top:6px;min-width:0}
.lame-eyebrow2{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px;display:flex;align-items:center;gap:14px}
.lame-eyebrow2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold-soft),transparent)}
.lame-lead{font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.5;color:var(--ink);margin-bottom:38px}
.lame-sec{margin-bottom:36px}
.lsec-t{display:flex;align-items:center;gap:11px;font-family:var(--sans);font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.lsec-t::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.lsec-t .ico{width:16px;height:16px}
.lsec-orn{font-size:13px;line-height:1;color:var(--gold-bright);opacity:.85;flex:none}
/* endroit / renversé en passages bordés */
.lame-duo{display:flex;flex-direction:column;gap:18px}
.lduo{padding:4px 0 4px 20px;border-left:2px solid}
.lduo.up{border-color:var(--gold)}
.lduo.down{border-color:var(--violet)}
.ldlbl{display:inline-flex;align-items:center;gap:7px;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold-bright);margin-bottom:6px}
.lduo.down .ldlbl{color:#b79bf0}
.lduo.down .ldlbl .ico{transform:rotate(180deg);width:15px;height:15px}
.lduo p{color:var(--ink);opacity:.9;line-height:1.7;font-size:16px}
/* domaines en liste fine */
.lame-line{display:flex;gap:15px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.lame-line:last-child{border-bottom:0}
.ll-ic{width:36px;height:36px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(231,200,132,.1);border:1px solid var(--line);color:var(--gold)}
.ll-ic .ico{width:19px;height:19px}
.lame-line>div{color:var(--ink);opacity:.92;line-height:1.65;font-size:15.5px}
.lame-line b{font-family:var(--serif);font-style:italic;font-weight:600;font-size:17.5px;color:var(--gold-bright);margin-right:3px}
/* domaines en grille de cartes (scannable, plus de mur de texte) */
.lame-doms{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:2px}
.lame-dom{background:rgba(255,255,255,.025);border:1px solid var(--line-soft);border-radius:14px;padding:15px 17px}
.lame-dom .dh{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.lame-dom .ll-ic{width:32px;height:32px;flex:none;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(231,200,132,.1);border:1px solid var(--line);color:var(--gold)}
.lame-dom .ll-ic .ico{width:17px;height:17px}
.lame-dom b{font-family:var(--serif);font-style:italic;font-weight:600;font-size:17px;color:var(--gold-bright)}
.lame-dom .ld-txt{display:block;color:var(--ink);opacity:.88;line-height:1.68;font-size:14.5px}
@media(max-width:560px){.lame-doms{grid-template-columns:1fr}}
/* note de sens repositionnée sous la carte */
.lame3-stage .corr-note{position:relative;z-index:1;text-align:center;font-size:11.5px;color:var(--muted-2);margin:11px 0 0;letter-spacing:.2px}
.lame3-stage .corr-note #corrNote{color:var(--gold-soft)}
/* conseil */
.lame-advice{display:flex;gap:16px;align-items:center;background:rgba(231,200,132,.06);border:1px solid hsla(45,55%,60%,.28);border-radius:16px;padding:20px 24px;margin-bottom:36px}
.lame-advice>.ico{width:24px;height:24px;color:var(--gold);flex:none}
.lame-advice p{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold-bright);line-height:1.5}
/* heures de la lame en pastilles */
.lame-hours{display:flex;flex-direction:column;gap:11px}
.lh-chip{display:flex;align-items:center;gap:13px;width:100%;border-radius:14px;padding:13px 16px;color:var(--ink);font-size:15px;transition:transform .2s,border-color .2s,background .2s;
  background:linear-gradient(120deg, hsla(var(--h),48%,42%,.20), rgba(255,255,255,.02));border:1px solid hsla(var(--h),50%,58%,.32)}
.lh-chip .lh-ic{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:10px;
  color:hsl(var(--h),60%,80%);background:radial-gradient(circle, hsla(var(--h),55%,52%,.3), transparent 72%);border:1px solid hsla(var(--h),50%,58%,.3)}
.lh-chip .lh-ic .ico{width:20px;height:20px}
.lh-chip b{font-family:var(--serif);font-size:19px;color:var(--gold-bright);letter-spacing:.5px}
.lh-chip .lh-t{flex:1;color:var(--ink);opacity:.9;font-family:var(--serif);font-style:italic;font-size:15.5px}
.lh-chip>.ico{width:16px;height:16px;color:var(--gold-soft);flex:none}
.lh-chip:hover{transform:translateX(4px);border-color:hsla(var(--h),55%,62%,.6);background:linear-gradient(120deg, hsla(var(--h),50%,46%,.30), rgba(255,255,255,.03))}
@media(max-width:820px){
  .lame2-grid{grid-template-columns:1fr;gap:26px}
  .lame2-aside{position:static;background:radial-gradient(120% 60% at 50% 10%, hsla(var(--h),52%,34%,.28), transparent 62%);padding:30px 20px}
  .lame-lead{font-size:21px}
}

/* ===== Fiche lame v3 — table de voyance (velours + bougie + flip) ===== */
.lame3{max-width:860px;margin:0 auto}
.lame3-grid{display:grid;grid-template-columns:380px 1fr;gap:54px;margin-top:8px;align-items:start}
/* le tapis de tirage */
.lame3-stage{position:sticky;top:84px;display:flex;flex-direction:column;align-items:center;gap:18px;padding:40px 30px 34px;border-radius:22px;
  overflow:clip; /* contient la carte pendant la rotation (sinon débordement horizontal mobile) */
  background:radial-gradient(120% 85% at 50% 30%, #2c1633, #160b1d 72%);
  border:1px solid rgba(231,200,132,.18);box-shadow:inset 0 0 80px rgba(0,0,0,.55), 0 24px 60px rgba(0,0,0,.5)}
.velvet-corner{position:absolute;width:22px;height:22px;border:1.5px solid var(--gold-soft);opacity:.55;pointer-events:none}
.velvet-corner.tl{top:16px;left:16px;border-right:0;border-bottom:0}
.velvet-corner.tr{top:16px;right:16px;border-left:0;border-bottom:0}
.velvet-corner.bl{bottom:16px;left:16px;border-right:0;border-top:0}
.velvet-corner.br{bottom:16px;right:16px;border-left:0;border-top:0}
.candle-glow{position:absolute;top:34%;left:50%;width:360px;height:360px;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle, rgba(242,176,80,.42), rgba(230,120,60,.12) 45%, transparent 68%);filter:blur(28px);animation:flicker 4.5s ease-in-out infinite;z-index:0}
@keyframes flicker{0%,100%{opacity:.75;transform:translate(-50%,-50%) scale(1)}45%{opacity:1;transform:translate(-50%,-51%) scale(1.05)}70%{opacity:.85;transform:translate(-50%,-50%) scale(1.02)}}
/* la carte qui se retourne */
.flipcard{position:relative;z-index:1;width:268px;height:451px}
.fc-inner{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.fc-face{display:flex;align-items:center;justify-content:center}
.flipcard.upside .fc-inner{transform:rotate(180deg)}
.flip-hint{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.5px;color:var(--gold-soft);animation:hintpulse 2.4s ease-in-out infinite}
.flip-hint .ico{width:15px;height:15px}
@keyframes hintpulse{0%,100%{opacity:.55}50%{opacity:1}}
.sens-toggle{position:relative;z-index:1;display:flex;gap:5px;padding:4px;border-radius:30px;background:rgba(0,0,0,.3);border:1px solid var(--line)}
.sens-toggle button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:24px;border:0;background:transparent;color:var(--muted);font-family:var(--sans);font-size:13px;cursor:pointer;transition:.2s}
.sens-toggle button .ico{width:14px;height:14px;transform:rotate(180deg)}
.sens-toggle button.active{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#1a1330;font-weight:600}

/* colonne lecture v3 */
.lame3-read{padding-top:6px;min-width:0}
/* ligne meta : eyebrow à gauche, mots-clés à droite, puis le grand titre seul */
.la-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:9px;
  padding-bottom:10px;border-bottom:1px solid var(--line-soft)}
.la-top .lame-mots{margin:0}
.la-top .la-roman{font-size:11.5px;letter-spacing:2px}
.la-top .motchip{font-size:11.5px;letter-spacing:2px}
.la-top .motchip:not(:last-child)::after{margin:0 8px}
.lame3-read .la-name{margin-bottom:20px}
.sens-text{font-size:15.5px;line-height:1.75;color:var(--ink);opacity:.9}
.sens-sec .lame-symbole{margin-bottom:12px}
/* CTA tirage + bloc sans heures + partage lame */
.lame-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 36px}
@media(max-width:600px){.lame-cta{flex-direction:column}.lame-cta .btn{width:100%;justify-content:center}}
.lame-nohours{font-size:15px;line-height:1.7;color:var(--ink);opacity:.88}
.lame-nohours .gold-link{white-space:nowrap}
.lame-share{margin-bottom:36px}
.hub-foot{max-width:860px;margin:56px auto 0;padding-top:30px;text-align:center;position:relative}
.hub-foot::before{content:"✦";position:absolute;top:0;left:50%;transform:translateX(-50%);color:var(--gold-bright);font-size:15px}
.hub-foot p{font-family:var(--serif);font-size:17.5px;line-height:1.8;color:var(--ink)}
.hub-foot .gold-link{font-weight:600}
/* les liens du pied de section sont dorés et clairement cliquables (.hub-foot est tantôt un <p>, tantôt un conteneur) */
.hub-foot a{color:var(--gold-bright);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(231,200,132,.35);transition:border-color .2s}
.hub-foot a:hover{border-color:var(--gold-bright)}
.share-btn .bico{width:18px;height:18px;fill:currentColor;stroke:none;display:block}
.share-toast{display:block;margin-top:12px;font-size:12.5px;color:var(--gold-bright);letter-spacing:.3px}
.share-toast[hidden]{display:none}
/* nav précédent/suivant : médaillon = mini-carte du deck */
.lnav-ic.lnav-mini{width:36px;height:54px;border-radius:7px;overflow:hidden;padding:0;
  background:#0a0714;border:1px solid hsla(45,55%,62%,.4);box-shadow:0 4px 12px rgba(0,0,0,.45)}
.lnav-ic.lnav-mini img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.lnav:hover .lnav-mini{border-color:var(--gold)}

/* ===== mode renversé : la fiche bascule en violet ===== */
.lame3 .la-name,.lame3 .lsec-t,.lame3 .lsec-orn,.lame3 .motchip,.lame3 .lame-advice,.lame3 .la-roman{transition:color .5s,border-color .5s,background .5s}
.lame3.rev-mode .la-name{background:linear-gradient(100deg,#cdb4f6,#fff 46%,var(--gold-bright) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.lame3.rev-mode .lsec-t{color:var(--violet)}
.lame3.rev-mode .lsec-orn{color:#b79bf0}
.lame3.rev-mode .la-roman{color:#9b87c9}
.lame3.rev-mode .motchip{color:#b79bf0}
.lame3.rev-mode .motchip:not(:last-child)::after{color:#7f6ab0}
.lame3.rev-mode .lame-advice{border-color:hsla(262,55%,62%,.4);background:rgba(155,123,224,.07)}
.lame3.rev-mode .lame-advice>.ico{color:#b79bf0}
.lame3.rev-mode .lame-advice p{color:#d8c8fb}
.lame3.rev-mode .lame-dom b{color:#cdb4f6}
.lame3.rev-mode .lame-dom .ll-ic{color:#b79bf0;border-color:rgba(155,123,224,.3);background:rgba(155,123,224,.1)}
.lame3.rev-mode .lame-corr b{color:#cdb4f6}
.lame3.rev-mode .sens-toggle button.active{background:linear-gradient(180deg,#cdb4f6,var(--violet));color:#1a1330}
.lame3.rev-mode .lame3-stage .corr-note #corrNote{color:#b79bf0}

/* en-tête mobile : titre au-dessus de la carte (2 lignes : titre + mots-clés,
   l'eyebrow est masqué car le numéro + Tarot de Marseille sont déjà sur la carte) */
.lame3-mhead{display:none;text-align:center}
.lame3-mhead .la-roman{display:none}
.lame3-mhead .la-name{width:fit-content;margin:0 auto 7px}
.lame3-mhead .lame-mots{justify-content:center;margin-bottom:10px}
@media(max-width:820px){
  .lame3-grid{grid-template-columns:1fr;gap:26px}
  .lame3-mhead{display:block}
  .lame3-read>.la-top,.lame3-read>.la-name{display:none}
  .lame3-stage{position:static}
}

/* fiche lame v3 : correspondances + symbole */
.lame-corr{display:flex;gap:10px;margin:0 0 26px;flex-wrap:wrap}
.lame-corr span{position:relative;overflow:hidden;flex:1;min-width:120px;display:flex;flex-direction:column;gap:3px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:13px;padding:11px 15px}
.lame-corr small,.lame-corr b{position:relative;z-index:1}
.lame-corr small{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted-2)}
.lame-corr b{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--gold-bright)}
.lame-corr .corr-hint{font-style:normal;font-size:11px;line-height:1.35;color:var(--muted);margin-top:1px}
@media(max-width:600px){.lame-corr{flex-direction:column;gap:9px}.lame-corr span{width:100%;min-width:0;flex:none}}
.lame-symbole{color:var(--ink);opacity:.9;font-size:15.5px;line-height:1.75}

/* ===== Liste tarot — galerie des arcanes ===== */
.arc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:860px;margin:0 auto;justify-items:center}
.arc-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:6px;border-radius:18px;transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.arc-cell .arc-glow{position:absolute;inset:8px;border-radius:16px;background:radial-gradient(circle, hsla(var(--h),60%,55%,0), transparent 70%);transition:.35s;z-index:0;pointer-events:none}
.arc-cell .tcard{position:relative;z-index:1;transition:box-shadow .3s}
.arc-cell:hover{transform:translateY(-9px)}
.arc-cell:hover .arc-glow{background:radial-gradient(circle, hsla(var(--h),62%,55%,.5), transparent 70%);filter:blur(22px)}
.arc-cell:hover .tcard{box-shadow:0 20px 46px rgba(0,0,0,.55)}
@media(max-width:680px){.arc-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
.corr-note{font-size:12.5px;color:var(--muted-2);margin:-14px 0 26px;line-height:1.5}
.corr-note .ico{width:13px;height:13px;color:var(--gold-soft);vertical-align:-2px;margin-right:4px}
.corr-note b{color:#b79bf0}

/* fix : toggle masqué tant que la carte n'est pas révélée */
.sens-toggle[hidden]{display:none}

/* design de carte : médaillon ornemental autour du symbole */
.tcard .gl-wrap{position:relative}
.tcard .gl-wrap::before,.tcard .gl-wrap::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
.tcard .gl-wrap::before{width:116px;height:116px;border:1px solid hsla(var(--h),52%,70%,.5);background:radial-gradient(circle, hsla(var(--h),55%,50%,.22), transparent 70%);box-shadow:inset 0 0 24px hsla(var(--h),55%,52%,.3)}
.tcard .gl-wrap::after{width:146px;height:146px;border:1px dashed hsla(var(--h),46%,68%,.26)}
.tcard .gl-wrap .ico{position:relative;z-index:1}
.tcard.sm .gl-wrap::before{width:82px;height:82px}.tcard.sm .gl-wrap::after{width:104px;height:104px}
.tcard.lg .gl-wrap::before{width:150px;height:150px}.tcard.lg .gl-wrap::after{width:188px;height:188px}
/* petits fleurons haut/bas */
.tcard .roman::after{content:"❖";display:block;font-size:7px;color:hsla(var(--h),50%,72%,.7);margin-top:3px;letter-spacing:0}

/* animations DANS la carte de la fiche (révélée) */
@keyframes ringspin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes medbreath{0%,100%{opacity:.88;box-shadow:inset 0 0 22px hsla(var(--h),55%,52%,.28)}50%{opacity:1;box-shadow:inset 0 0 36px hsla(var(--h),58%,56%,.45)}}
@keyframes glyphpulse{0%,100%{filter:drop-shadow(0 3px 16px hsla(var(--h),70%,55%,.5))}50%{filter:drop-shadow(0 3px 28px hsla(var(--h),78%,62%,.9))}}
@keyframes twinkle{0%,100%{opacity:.32}50%{opacity:.62}}
.lame3 .fc-front .gl-wrap::after{animation:ringspin 46s linear infinite}
.lame3 .fc-front .gl-wrap::before{animation:medbreath 5s ease-in-out infinite}
.lame3 .fc-front .gl-wrap .ico{animation:glyphpulse 5s ease-in-out infinite}
.lame3 .fc-front .stf{animation:twinkle 4.5s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.lame3 .fc-front .gl-wrap::after,.lame3 .fc-front .gl-wrap::before,.lame3 .fc-front .gl-wrap .ico,.lame3 .fc-front .stf{animation:none}}
.sens-toggle .ti{font-size:15px;display:inline-block;line-height:1}

/* rituel carte du jour */
.invok-rituel{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink);opacity:.9;line-height:1.65;max-width:420px}
/* reduced motion : pas de ballet 3D */
.table3d.rm .c3{animation:none !important}
@media(prefers-reduced-motion:reduce){.c3{animation-duration:.01s !important}}
/* badge social sur les rangées */
.tr-badge{display:inline-flex;align-items:center;margin-left:10px;padding:3px 10px;border-radius:999px;border:1px solid hsla(45,50%,58%,.4);
  background:rgba(231,200,132,.08);color:var(--gold-bright);font-size:10px;letter-spacing:1.2px}
/* porte Arkarma+ */
.plus-gate{max-width:560px;width:100%;text-align:center;border:1px solid hsla(45,48%,58%,.4);border-radius:22px;padding:38px 34px;
  background:linear-gradient(165deg, rgba(231,200,132,.07), rgba(255,255,255,.012))}
.plus-gate .pg-orn{display:flex;justify-content:center;color:var(--gold-bright);font-size:22px;margin-bottom:12px}
.plus-gate .pg-orn .ico{width:26px;height:26px}
.plus-gate h3{font-size:24px;margin-bottom:10px}
.plus-gate p{color:var(--muted);font-size:15px;line-height:1.65}
.pg-form{display:flex;gap:10px;justify-content:center;margin:18px 0 6px;flex-wrap:wrap}
.pg-form input{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:11px 14px;color:var(--ink);min-width:220px;font-size:14.5px}
.pg-form input:focus{outline:none;border-color:hsla(45,50%,60%,.55)}
.pg-ok{color:var(--gold-bright);font-size:15px;margin:16px 0 4px}
.pg-alt{margin-top:10px;font-size:13.5px !important}
/* lectures gardées (Mon suivi) */
.kept-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.kept-row{display:flex;gap:16px;align-items:baseline;padding:14px 18px;border:1px solid var(--line-soft);border-radius:14px;
  background:rgba(255,255,255,.02);color:inherit;transition:border-color .2s,transform .2s}
.kept-row:hover{border-color:hsla(45,50%,60%,.45);transform:translateY(-2px)}
.kr-date{flex:none;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-2);min-width:74px}
.kr-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.kr-nom{font-family:var(--serif);font-size:17px;color:var(--gold-bright);font-weight:500}
.kr-q{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink);opacity:.85}
.kr-cards{font-size:12px;letter-spacing:.6px;color:var(--muted)}

/* hub + fiches tirages statiques */
.tir-group{margin-bottom:38px;max-width:860px;margin-left:auto;margin-right:auto}
.tir-sec{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--sans);font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:7px}
.tir-sec::before{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line))}
.tir-sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.tir-sub{color:var(--muted-2);font-size:14px;margin-bottom:18px;text-align:center}
.tirage-fiche{max-width:860px;margin:0 auto}
.bc{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted-2);padding:22px 0 30px}
.bc a{color:var(--muted)} .bc a:hover{color:var(--gold-bright)} .bc b{color:var(--ink);font-weight:500}
.tf-p{color:var(--ink);opacity:.9;font-size:15.5px;line-height:1.8;margin-bottom:14px;font-family:var(--sans)}
.tf-pos{margin:10px 0 30px 22px;display:flex;flex-direction:column;gap:13px}
.tf-pos li{font-family:var(--serif);font-size:17px;color:var(--gold-bright)}
.tf-faq{margin-bottom:18px}
.tirage-fiche .lsec-t{margin-top:48px}
.tirage-fiche .faq{margin-top:48px}
.tirage-fiche .tir-hero{margin-bottom:44px !important}

/* modale Arkarma+ */
.pmodal{position:fixed;inset:0;z-index:300;display:none}
.pmodal.open{display:block}
.pm-back{position:absolute;inset:0;background:rgba(7,5,18,.78);backdrop-filter:blur(6px)}
.pm-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,92vw);max-height:88vh;overflow:auto;
  background:linear-gradient(165deg, #16102a, #0c0818);border:1px solid hsla(45,52%,60%,.45);border-radius:24px;padding:36px 34px;text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.6), 0 0 60px rgba(231,200,132,.08)}
.pm-x{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--muted);font-size:26px;cursor:pointer;line-height:1}
.pm-x:hover{color:var(--gold-bright)}
.pm-star{display:flex;justify-content:center}
.pm-star .ico{width:30px;height:30px;color:var(--gold-bright)}
.pm-card h3{font-size:30px;margin:8px 0 10px}
.pm-sub{color:var(--muted);font-size:15px;line-height:1.65;margin-bottom:18px}
.pm-list{list-style:none;text-align:left;margin:0 auto 18px;max-width:330px;display:flex;flex-direction:column;gap:10px}
.pm-list li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink)}
.pm-list .ico{width:14px;height:14px;color:var(--gold);flex:none}
.pm-price{font-family:var(--serif);font-size:24px;color:var(--gold-bright);margin-bottom:16px}
.pm-price span{font-size:15px;color:var(--muted)}
.pm-alt{margin-top:14px;font-size:13px;color:var(--muted-2)}
.tr-badge .ico{width:11px;height:11px;margin-right:5px}

/* badge compact en ligne de fil d'ariane */
.bc-badge{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;
  border:1px solid hsla(45,50%,58%,.42);background:rgba(231,200,132,.07);color:var(--gold-bright);
  font-family:var(--sans);font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;white-space:nowrap}
.bc-badge .ico{width:11px;height:11px}
.bc{flex-wrap:wrap}
.page-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 18px}
.tf-note{font-size:13px;color:var(--gold-soft);margin-top:10px}
.tf-note .ico{width:11px;height:11px;vertical-align:-1.5px;margin-right:5px}

/* la rangée vitrine sur la fiche tirage : pas de titre/pitch en double */
.tir-hero .tr-body{display:none}

.tir-hero .tr-body{text-align:center}
.tir-hero .tir-row{align-items:center}
@media(max-width:760px){
  .tir-row .tc-tag{flex-wrap:wrap;justify-content:center;row-gap:0}
  .tir-row .tr-badge{margin:9px auto 0;flex-basis:auto;order:5}
  .tir-row .tc-tag{row-gap:0}
  .tir-row .tc-tag::after{content:"";flex-basis:100%;order:4;height:0}
  .bc{font-size:12px}
}

/* titre dégradé des pages tirages (façon accueil), plus présent sur mobile */
.grad-t{background:linear-gradient(100deg,var(--gold-bright),#fff 46%,var(--violet) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  width:fit-content;margin-left:auto;margin-right:auto}
.grad-t{font-family:'Cinzel',var(--serif);font-weight:500;letter-spacing:.5px}
.blog-article .sec-head h1.grad-t{font-size:clamp(25px,3.4vw,33px);line-height:1.24}
@media(max-width:560px){.blog-article .sec-head h1.grad-t{font-size:24px}}
.sec-head h1.grad-t,.sec-head h2.grad-t{font-size:clamp(34px,5.6vw,46px);line-height:1.18}
@media(max-width:560px){.sec-head h1.grad-t,.sec-head h2.grad-t{font-size:31px}}

/* ===== heures miroirs v2 : horloge vivante + grille chronologique ===== */
.hh-hero{text-align:center;margin:0 0 40px}
.hh-now{font-family:var(--serif);font-weight:600;font-size:clamp(64px,15vw,104px);line-height:1;letter-spacing:2px;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  width:fit-content;margin:0 auto}
.hh-sec{font-size:.38em;letter-spacing:1px;opacity:.75}
.hh-next{margin-top:12px;color:var(--muted);font-size:15.5px}
.hh-next b{font-family:var(--serif);font-size:18px}
.hh-hero.live .hh-now{animation:hhpulse 1.6s ease-in-out infinite}
@keyframes hhpulse{0%,100%{filter:drop-shadow(0 0 12px rgba(231,200,132,.25))}50%{filter:drop-shadow(0 0 34px rgba(231,200,132,.6))}}
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.hcell{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:20px 12px 16px;
  border:1px solid var(--line-soft);border-radius:18px;background:rgba(255,255,255,.02);color:inherit;overflow:hidden;
  transition:transform .25s,border-color .25s,box-shadow .25s}
.hcell::before{content:"";position:absolute;inset:0;background:radial-gradient(110% 60% at 50% 0%, hsla(var(--h),55%,42%,.14), transparent 60%);pointer-events:none}
.hcell:hover{transform:translateY(-4px);border-color:hsla(45,52%,62%,.5);box-shadow:0 14px 36px rgba(0,0,0,.4), 0 0 24px rgba(231,200,132,.08)}
.hc-card{width:86px;flex:none;position:relative;z-index:1;transition:transform .3s}
.hcell:hover .hc-card{transform:translateY(-3px) rotate(-2deg)}
.hc-card .tcard{width:100%;height:auto}
.hc-card .tcard .nom,.hc-card .tc-brand{display:none}
.hc-time{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1;margin-top:3px;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hc-titre{font-size:12.5px;color:var(--muted);text-align:center;line-height:1.35;min-height:34px;display:flex;align-items:center}
.hc-ange{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-soft)}
.hc-inv{position:absolute;top:10px;right:10px;z-index:2;font-size:8.5px;letter-spacing:1px;text-transform:uppercase;color:#b79bf0;
  border:1px solid rgba(160,120,230,.35);border-radius:999px;padding:3px 8px;background:rgba(120,80,200,.14)}
@media(max-width:560px){
  .hgrid{grid-template-columns:repeat(2,1fr);gap:11px}
  .hc-card{width:74px}
  .hc-time{font-size:26px}
}

/* la lame gouvernante veille sur le hero de l'heure */
.hh-lame{flex:0 0 250px;display:flex;justify-content:center;position:relative;z-index:1;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.55))}
.hh-lame .tcard{width:118px;transform:rotate(4deg);transition:transform .35s}
.hh-lame:hover .tcard{transform:rotate(1deg) translateY(-6px)}
@media(max-width:1019px){.hh-lame{display:none}}

/* ===== pilier anges : médaillons ronds (jamais confondus avec les cartes) ===== */
.amed{display:inline-flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:50%;overflow:hidden;flex:none;
  border:1.5px solid hsla(45,52%,62%,.55);background:radial-gradient(75% 75% at 50% 38%, #2c1a44, #140c24);
  box-shadow:0 10px 26px rgba(0,0,0,.45), inset 0 0 22px rgba(0,0,0,.4), 0 0 18px rgba(231,200,132,.1)}
.amed img{width:100%;height:100%;object-fit:cover}
.amed .ico{width:34px;height:34px;color:var(--gold-soft)}
.amed.lg{width:148px;height:148px;border-width:2px;margin:0 auto;display:flex}
.amed.lg .ico{width:54px;height:54px}
.ange-hero{text-align:center;max-width:660px;margin:18px auto 0}
.ange-hero .lede{margin-top:10px}
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;max-width:860px;margin:0 auto}
.acell{display:flex;flex-direction:column;align-items:center;gap:9px;padding:24px 14px 20px;text-align:center;
  border:1px solid var(--line-soft);border-radius:18px;background:rgba(255,255,255,.02);color:inherit;
  transition:transform .25s,border-color .25s,box-shadow .25s}
.acell:hover{transform:translateY(-4px);border-color:hsla(45,52%,62%,.5);box-shadow:0 14px 36px rgba(0,0,0,.4)}
.ac-nom{font-family:var(--serif);font-size:21px;font-weight:600;
  background:linear-gradient(100deg,var(--gold-bright),#fff 46%,var(--violet) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ac-mots{font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-soft)}
.ac-heures{font-family:var(--serif);font-size:14px;color:var(--muted)}
.alames{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.alames .tcard{width:118px}
.alames .hh-lame{flex:none;width:auto;display:block}
@media(max-width:560px){.agrid{grid-template-columns:repeat(2,1fr)}.amed{width:78px;height:78px}}

/* légende sous les cartes de la galerie */
.arc-cap{display:block;text-align:center;margin-top:11px;font-family:var(--serif);font-size:15px;color:var(--muted)}
.arc-cap b{font-family:'Cinzel',var(--serif);font-weight:500;color:var(--gold-soft);letter-spacing:1px}
.arc-cell:hover .arc-cap{color:var(--ink)}

/* le sceau de l'ange du moment sous la lecture */
.oracle-ange{display:flex;align-items:center;justify-content:center;gap:13px;margin:-12px 0 32px}
.oracle-ange .oa-med{width:50px;height:50px;border-width:1px}
.oracle-ange p{font-family:var(--serif);font-style:italic;font-size:15.5px;color:var(--muted);margin:0}
.oracle-ange .gold-link{font-style:normal;font-weight:600}

/* hero ange v2 : portrait en majesté */
.amed.xl{width:230px;height:230px;border-width:2px;flex:0 0 250px;box-shadow:0 18px 44px rgba(0,0,0,.55), inset 0 0 30px rgba(0,0,0,.35), 0 0 34px rgba(231,200,132,.14)}
.ange-hero2 .amed.xl{display:flex;margin:0}
.ange-hero2{--h:268}
@media(max-width:760px){
  .amed.xl{width:170px;height:170px;flex:none;margin:0 auto}
}
/* portrait sur la carte ange des fiches heures */
.ar-med{width:88px;height:88px;flex:none}

/* identité de l'ange (façon correspondances d'arcane) */
.a-ident{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;max-width:860px;margin:26px auto 0}
.a-ident span{flex:1;min-width:170px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 16px;
  border:1px solid var(--line-soft);border-radius:14px;background:rgba(255,255,255,.02);text-align:center}
.a-ident b{font-family:var(--serif);font-size:17px;color:var(--gold-bright);font-weight:600}
.a-ident i{font-style:normal;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted-2)}
/* liste des 72 anges de naissance */
.a72-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:9px;max-width:860px;margin:0 auto}
.a72-row{display:grid;grid-template-columns:34px 110px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:baseline;
  padding:11px 16px;border:1px solid var(--line-soft);border-radius:13px;background:rgba(255,255,255,.018);color:inherit;
  transition:border-color .2s,transform .2s}
.a72-row:hover{border-color:hsla(45,52%,62%,.45);transform:translateY(-2px)}
.a72-n{grid-row:1/3;font-family:'Cinzel',var(--serif);font-size:15px;color:var(--gold-soft);align-self:center}
.a72-nom{font-family:var(--serif);font-size:17.5px;font-weight:600;color:var(--ink)}
.a72-per{font-size:12.5px;color:var(--gold-soft)}
.a72-vertu{grid-column:2/4;font-size:12.5px;color:var(--muted)}
@media(max-width:560px){.a72-list{grid-template-columns:1fr}}

/* placeholder digne pour les anges sans portrait */
.amed-ph{position:relative}
.amed-ph::before{content:"";position:absolute;inset:14%;border-radius:50%;border:1px dashed rgba(231,200,132,.3)}
.amed.xl.amed-ph .ico{width:74px;height:74px;color:hsla(45,45%,62%,.6)}

/* carte « ange de naissance » */
.natifs-block{max-width:860px;margin:40px auto 0;padding:28px 38px 26px;text-align:center;
  border:1px solid hsla(45,48%,58%,.38);border-radius:22px;
  background:linear-gradient(165deg, rgba(231,200,132,.06), rgba(255,255,255,.012))}
.nb-in{display:flex;align-items:center;gap:34px;text-align:left}
.nb-in .nb-dates{flex:none;margin:0}
.nb-in .nb-txt{flex:1;margin:0;max-width:none}
.nb-in .btn{flex:none}
@media(max-width:760px){
  .nb-in{flex-direction:column;gap:14px;text-align:center}
}
.nb-dates{font-family:var(--serif);font-weight:600;font-size:clamp(26px,4vw,34px);line-height:1.2;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  width:fit-content;margin:0 auto 10px}
.nb-txt{color:var(--muted);font-size:14.5px;line-height:1.65;max-width:420px;margin:0 auto}

/* les heures de l'ange : centrées, dimension fixe */
.ange-heures{margin:44px auto 0;max-width:860px}
.ah-cells{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.ah-cells .hcell{width:172px;flex:none}

/* ===== la carte d'identité angélique (Registre des 72) ===== */
.ange-id{max-width:860px;margin:18px auto 0;border:1px solid hsla(45,48%,58%,.42);border-radius:26px;overflow:hidden;position:relative;
  background:linear-gradient(150deg, rgba(86,52,120,.22), rgba(20,12,36,.55) 55%, rgba(10,7,22,.4));
  box-shadow:0 24px 60px rgba(0,0,0,.45), inset 0 0 60px rgba(0,0,0,.25)}
.aid-head{display:flex;justify-content:space-between;align-items:center;padding:13px 54px;border-bottom:1px solid rgba(231,200,132,.22);
  font-family:var(--sans);font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold-soft)}
.aid-num{font-family:'Cinzel',var(--serif);font-size:14px;letter-spacing:2px;color:var(--gold-bright)}
.aid-body{display:flex;align-items:center;gap:38px;padding:32px 38px 30px}
.aid-body .amed.xl{flex:none}
.aid-right{flex:1;min-width:0}
.aid-right h1{font-size:clamp(30px,4.2vw,40px);margin-left:0}
.aid-sig{font-family:var(--serif);font-style:italic;font-size:17.5px;color:var(--muted);margin-top:6px}
.aid-table{margin-top:18px;display:flex;flex-direction:column;gap:8px;max-width:520px}
.aid-row{display:flex;gap:16px;align-items:baseline;border-bottom:1px dashed rgba(231,200,132,.16);padding-bottom:8px}
.aid-row b{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-soft);min-width:96px;flex:none}
.aid-row span{font-family:var(--serif);font-size:16.5px;color:var(--ink)}
@media(max-width:760px){
  .aid-body{flex-direction:column;gap:20px;padding:26px 22px;text-align:center}
  .aid-right h1{margin:0 auto}
  .aid-sig{text-align:center}
  .aid-right .tr-pos{justify-content:center}
  .aid-table{width:100%;max-width:none}
  .aid-row{flex-direction:column;gap:2px;align-items:flex-start;text-align:left}
  .aid-row b{min-width:0}
  .aid-sub{max-width:none}
}

.aid-sub{display:block;font-family:var(--sans);font-style:normal;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.55;max-width:380px}

.anav-med{width:46px;height:46px;border-width:1px;flex:none}
.anav-med .ico{width:20px;height:20px}

/* ===== le médaillon vivant : orbites, étoiles, halo ===== */
.amed-orbit{position:relative;flex:0 0 250px;width:250px;height:250px;display:flex;align-items:center;justify-content:center}
.amed-orbit .amed.xl{flex:none;position:relative;z-index:2}
.ao-halo{position:absolute;inset:-12px;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle, rgba(242,196,110,.22), rgba(155,123,224,.08) 55%, transparent 72%);
  filter:blur(14px);animation:aohalo 5.5s ease-in-out infinite}
@keyframes aohalo{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}
.ao-ring{position:absolute;border-radius:50%;pointer-events:none;z-index:1}
.ao-ring.r1{inset:-9px;border:1px dashed rgba(231,200,132,.34);animation:spin 42s linear infinite}
.ao-ring.r2{inset:-20px;border:1px solid rgba(155,123,224,.16);animation:spinrev 64s linear infinite}
@keyframes spinrev{to{transform:rotate(-360deg)}}
.ao-stars{position:absolute;inset:-20px;animation:spin 26s linear infinite;pointer-events:none;z-index:1}
.ao-star{position:absolute;top:50%;left:50%;width:0;height:0;transform:rotate(var(--a,0deg))}
.ao-star::before{content:"";position:absolute;top:-145px;left:calc(var(--s,4px)/-2);width:var(--s,4px);height:var(--s,4px);
  border-radius:50%;background:var(--gold-bright);box-shadow:0 0 8px var(--gold-bright)}
@media(prefers-reduced-motion:reduce){.ao-ring,.ao-stars,.ao-halo{animation:none}}
@media(max-width:760px){
  .amed-orbit{flex:none;width:200px;height:200px;margin:0 auto}
  .ao-star::before{top:-112px}
}
/* fleurons d'angle de la carte d'identité */
.aid-frame .orn{position:absolute;display:block;width:34px;height:34px;color:hsla(45,52%,62%,.55);z-index:3;pointer-events:none}
.aid-frame .orn .orn-svg{width:100%;height:100%;display:block}
.aid-frame .orn.tl{top:7px;left:7px}
.aid-frame .orn.tr{top:7px;right:7px;transform:scaleX(-1)}
.aid-frame .orn.bl{bottom:7px;left:7px;transform:scaleY(-1)}
.aid-frame .orn.br{bottom:7px;right:7px;transform:scale(-1)}

.aid-link{display:inline-flex;align-items:center;gap:5px}
.aid-link .ico{width:11px;height:11px;flex:none;transition:transform .2s}
.aid-link:hover .ico{transform:translateX(3px)}

.aid-foot{padding:15px 54px;border-top:1px solid rgba(231,200,132,.22);text-align:center;
  font-family:var(--serif);font-style:italic;font-size:18px;color:var(--gold-soft);letter-spacing:.3px;line-height:1.55}
@media(max-width:760px){.aid-foot{padding:14px 52px;font-size:15.5px;line-height:1.6}}

/* ===== registre numérologique ===== */
.num-id .num-sigil{display:flex;align-items:center;justify-content:center;background:radial-gradient(75% 75% at 50% 38%, #2c1a44, #140c24)}
.num-id .num-sigil b{font-family:'Cinzel',var(--serif);font-weight:600;font-size:104px;line-height:1;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.5))}
.aid-n{font-family:'Cinzel',var(--serif);font-style:normal;font-weight:600;font-size:19px;color:var(--gold-bright);margin-right:8px}
.num-id .aid-table{max-width:560px}
/* la révélation : nombre en Cinzel doré */
.cast-num{font-family:'Cinzel',var(--serif) !important;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* ange de naissance dans le thème */
.nb-ange{font-family:var(--serif);font-size:22px;font-weight:600;
  background:linear-gradient(100deg,var(--gold-bright),#fff 46%,var(--violet) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.natifs-block .nb-in .amed img{width:100%;height:100%;object-fit:cover}

/* ===== le sceau numérologique (identité du pilier) ===== */
.sceau-stage{display:flex;flex-direction:column;align-items:center;margin:6px auto 34px}
.sceau{width:min(340px,78vw);height:auto;overflow:visible}
.sc-outer{fill:none;stroke:rgba(231,200,132,.14);stroke-width:1}
.sc-ring{fill:none;stroke:rgba(231,200,132,.3);stroke-width:1;stroke-dasharray:3 7}
.sc-poly{fill:rgba(231,200,132,.05);stroke:hsla(45,62%,66%,.85);stroke-width:1.6;stroke-linejoin:round;
  stroke-dasharray:1400;stroke-dashoffset:1400;animation:scdraw 2.6s .3s cubic-bezier(.4,0,.2,1) forwards;
  filter:drop-shadow(0 0 6px rgba(231,200,132,.45))}
@keyframes scdraw{to{stroke-dashoffset:0}}
.sc-dot{fill:rgba(231,200,132,.28)}
.sc-dot.on{fill:#e7c884;filter:drop-shadow(0 0 5px rgba(231,200,132,.8));animation:scdot 2.8s ease-in-out infinite}
@keyframes scdot{0%,100%{opacity:1}50%{opacity:.55}}
.sc-n{font-family:'Cinzel',serif;font-size:13px;fill:rgba(243,238,255,.34);text-anchor:middle}
.sc-n.on{fill:var(--gold-bright)}
.sc-core{font-family:'Cinzel',serif;font-weight:600;font-size:46px;fill:#e7c884;text-anchor:middle;
  filter:drop-shadow(0 0 14px rgba(231,200,132,.5))}
.sceau-leg{margin-top:10px;font-size:13.5px;color:var(--muted);text-align:center;max-width:420px}
@media (prefers-reduced-motion: reduce){.sc-poly{animation:none;stroke-dashoffset:0}.sc-dot.on{animation:none}}
/* la voie : compat dynamique */
.nv-compat{margin-top:14px;padding:12px 16px;border-left:2px solid hsla(45,48%,58%,.5);border-radius:0 12px 12px 0;
  background:rgba(231,200,132,.05);font-size:15px;color:var(--gold-soft);font-style:italic}
/* les nombres du nom */
.nnom-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.nnom-row{display:flex;gap:18px;align-items:flex-start;padding:15px 6px;border-bottom:1px dashed rgba(231,200,132,.16)}
.nnom-row:last-child{border-bottom:none}
.nnom-row .aid-n{font-size:24px;min-width:34px;text-align:center;margin:0}
.nnom-row b{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:3px}
.nnom-row p{margin:0;font-size:15.5px;color:var(--ink);line-height:1.65}
/* lecture de la grille */
.grille-lecture{max-width:640px;margin:20px auto 0;display:flex;flex-direction:column;gap:10px}
.gl-row{display:flex;gap:14px;align-items:flex-start;padding:13px 16px;border-radius:14px;
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}
.gl-row .aid-n{font-size:21px;min-width:26px;text-align:center;margin:0}
.gl-row.dom{border-color:hsla(45,48%,58%,.34)}
.gl-row.abs .aid-n{color:var(--muted)}
.gl-row p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink)}
.gl-row p b{color:var(--gold-soft)}
@media(max-width:760px){.sceau{width:min(300px,84vw)}.nnom-row{gap:13px}}

/* nature des lettres */
.nnature{max-width:860px;margin:22px auto 0;padding:20px 24px;border-radius:16px;
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}
.nnat-bars{display:flex;flex-direction:column;gap:9px}
.nnat-bar{display:flex;align-items:center;gap:12px}
.nb-lbl{width:84px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);text-align:right}
.nb-track{flex:1;height:7px;border-radius:99px;background:rgba(255,255,255,.05);overflow:hidden}
.nb-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,hsla(45,52%,52%,.65),#e7c884);
  transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.nb-pct{width:38px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.nnat-leg{margin:14px 0 0;font-size:14.5px;color:var(--ink);line-height:1.6}
.nnat-leg b{color:var(--gold-bright)}
/* année personnelle */
.nannee-card{max-width:860px;margin:0 auto;display:flex;gap:22px;align-items:flex-start;
  padding:26px 28px;border-radius:20px;border:1px solid hsla(45,48%,58%,.34);
  background:linear-gradient(165deg, rgba(231,200,132,.06), rgba(255,255,255,.012))}
.na-n{font-size:54px !important;min-width:64px;text-align:center;line-height:1;margin-top:2px}
.na-t{display:block;font-family:var(--serif);font-size:20px;color:var(--gold-bright);margin-bottom:8px}
.nannee-card p{margin:0;font-size:15.5px;line-height:1.7;color:var(--ink)}
.na-poss{margin-top:10px !important;color:var(--gold-soft) !important;font-style:italic;font-size:14.5px !important}
@media(max-width:760px){.nannee-card{flex-direction:column;align-items:center;text-align:center;gap:10px}.nb-lbl{width:74px}}

/* sélecteur de genre */
.gsel{display:flex;gap:10px}
.gopt{flex:1;cursor:pointer}
.gopt input{position:absolute;opacity:0}
.gopt span{display:block;text-align:center;padding:11px;border-radius:12px;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.02);color:var(--muted);font-size:14.5px;transition:all .2s}
.gopt input:checked+span{border-color:hsla(45,48%,58%,.55);color:var(--gold-bright);background:rgba(231,200,132,.07)}
.gnote{margin:7px 0 0;font-size:12px;color:var(--muted);font-style:italic}
/* listes du profil synthétique */
.nlist{margin:0;padding:0;list-style:none}
.nlist li{position:relative;padding:5px 0 5px 18px;font-size:15px;line-height:1.55;color:var(--ink)}
.nlist li::before{content:'·';position:absolute;left:4px;color:var(--gold-soft);font-weight:700}
/* cycles annuels */
.ncycles{max-width:860px;margin:18px auto 0}
.nc-intro{font-size:14.5px;color:var(--muted);text-align:center;margin:0 0 14px}
.nc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nc-cell{position:relative;padding:18px 16px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.018);text-align:center}
.nc-cell.now{border-color:hsla(45,48%,58%,.5);background:linear-gradient(165deg, rgba(231,200,132,.07), rgba(255,255,255,.01))}
.nc-now{position:absolute;top:-9px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);background:var(--bg,#14101f);padding:1px 10px;border-radius:99px;border:1px solid hsla(45,48%,58%,.4)}
.nc-dates{display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.nc-cell .aid-n{display:block;font-size:30px;margin:0 0 4px}
.nc-cell b{display:block;font-family:var(--serif);font-size:16.5px;color:var(--gold-soft);font-style:italic;margin-bottom:7px}
.nc-cell p{margin:0;font-size:13px;line-height:1.55;color:var(--muted);text-align:left}
@media(max-width:760px){.nc-grid{grid-template-columns:1fr}.nc-cell p{text-align:center}}

.field label .opt{font-style:italic;font-size:11px;letter-spacing:.02em;text-transform:none;color:var(--muted);margin-left:6px;font-weight:400}

/* synthèse chips sous le sceau */
.nchips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.nchip{display:flex;align-items:center;gap:9px;padding:8px 16px 8px 11px;border-radius:99px;
  border:1px solid hsla(45,48%,58%,.3);background:rgba(231,200,132,.05)}
.nchip em{font-style:normal;font-family:'Cinzel',serif;font-weight:600;font-size:21px;line-height:1;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nchip b{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);font-weight:600}
/* chapitres du thème */
.nchap{display:flex;align-items:center;gap:16px;max-width:920px;margin:58px auto 30px}
.nchap i{flex:1;height:1px;background:linear-gradient(90deg,transparent,hsla(45,48%,58%,.35));}
.nchap i:last-child{background:linear-gradient(90deg,hsla(45,48%,58%,.35),transparent)}
.nchap-n{font-family:'Cinzel',serif;font-size:14px;color:var(--gold-bright);border:1px solid hsla(45,48%,58%,.4);
  border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex:none}
.nchap-t{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--gold-soft);white-space:nowrap}
@media(max-width:760px){.nchap{margin:44px auto 24px}.nchip em{font-size:18px}}

/* sommaire des chapitres */
.nsommaire{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;margin-top:14px}
.nsommaire a{font-size:13px;letter-spacing:.06em;color:var(--muted);cursor:pointer;
  border-bottom:1px dashed rgba(231,200,132,.25);padding-bottom:2px;transition:color .2s}
.nsommaire a:hover{color:var(--gold-bright)}
/* la Figure du chemin (héros mission) */
.nfig{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 auto 22px}
.nfig img{width:168px;height:168px;border-radius:22px;object-fit:cover;display:block;
  border:1px solid hsla(45,52%,62%,.55);outline:1px solid hsla(45,40%,45%,.25);outline-offset:5px;
  box-shadow:0 10px 40px rgba(0,0,0,.55), 0 0 34px rgba(231,200,132,.13)}
.nfig-t{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--gold-soft)}
@media(max-width:760px){.nfig img{width:140px;height:140px}}

/* ===== les cartes-figures des nombres ===== */
.fcard{position:relative;width:100%;aspect-ratio:1;border-radius:16px;overflow:hidden;
  border:1px solid hsla(45,52%,62%,.5);background:#171028;
  box-shadow:0 10px 34px rgba(0,0,0,.5)}
.fcard .fc-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fcard .tc-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,6,18,.28),transparent 30%,transparent 58%,rgba(10,6,18,.82))}
.fcard .roman{position:absolute;top:8px;left:0;right:0;text-align:center;font-family:'Cinzel',serif;font-size:15px;color:hsla(45,62%,72%,.95);letter-spacing:.1em;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.fcard .fc-nom{position:absolute;bottom:20px;left:6px;right:6px;text-align:center;font-family:'Cinzel',serif;font-weight:600;font-size:15.5px;color:#f3eadc;letter-spacing:.05em;text-shadow:0 1px 8px rgba(0,0,0,.85)}
.fcard .tc-brand{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:.26em;color:hsla(45,40%,70%,.5)}
.fcard .tc-frame{position:absolute;inset:5px;border:1px solid hsla(45,42%,62%,.4);border-radius:11px;pointer-events:none}
.fcard .tc-frame .orn{position:absolute;width:30px;height:30px;color:hsla(45,52%,66%,.6)}
.fcard .tc-frame .orn .orn-svg{width:100%;height:100%}
.fcard .tc-frame .orn.tl{top:2px;left:2px}.fcard .tc-frame .orn.tr{top:2px;right:2px;transform:scaleX(-1)}
.fcard .tc-frame .orn.bl{bottom:2px;left:2px;transform:scaleY(-1)}.fcard .tc-frame .orn.br{bottom:2px;right:2px;transform:scale(-1)}
/* grille hub */
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:860px;margin:0 auto}
.fcell{display:flex;flex-direction:column;gap:9px;text-decoration:none;transition:transform .25s}
.fcell:hover{transform:translateY(-5px)}
.fcell-m{text-align:center;font-size:12px;color:var(--muted);letter-spacing:.03em}
@media(max-width:900px){.fgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.fgrid{grid-template-columns:repeat(2,1fr);gap:13px}}
/* héro fiche nombre */
.nfiche-hero{display:flex;gap:38px;align-items:center;max-width:860px;margin:18px auto 0}
.nfiche-hero .fh-card{flex:0 0 270px}
.nfiche-hero .fh-txt h1{margin:10px 0 6px;font-size:clamp(34px,5vw,52px)}
.nfiche-hero .fh-mots{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 12px}
.nfiche-hero .fh-sens{font-size:16.5px;line-height:1.7;color:var(--ink);margin:0}
@media(max-width:760px){.nfiche-hero{flex-direction:column;gap:20px;text-align:center}.nfiche-hero .fh-card{flex:none;width:230px}}

/* hero du thème : sceau + figure face à face */
.ntheme-hero{display:flex;justify-content:center;align-items:stretch;gap:54px;max-width:860px;margin:6px auto 10px}
.ntheme-hero .sceau-stage{flex:0 1 380px;justify-content:center}
.nth-fig{flex:0 0 250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.nth-fig .fcard{width:250px;display:block;text-decoration:none;transition:transform .25s}
.nth-fig .fcard:hover{transform:translateY(-4px)}
@media(max-width:760px){
  .ntheme-hero{flex-direction:column;align-items:center;gap:26px}
  .nth-fig{flex:none}
  .nth-fig .fcard{width:215px}
}
/* sous-titres de chapitre */
.nchap-t{display:flex;flex-direction:column;align-items:center;line-height:1.25}
.nchap-t small{font-family:var(--sans);font-style:normal;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
/* chapitre III : lame et ange face à face */
.ncomp{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1060px;margin:26px auto 0;align-items:stretch}
.ncomp .num-mirror,.ncomp .natifs-block{height:100%;box-sizing:border-box}
.ncomp .nb-in{flex-direction:column;text-align:center;gap:12px}
@media(max-width:980px){.ncomp{grid-template-columns:1fr;max-width:760px}}

/* ===== le thème-document : un seul panneau hero ===== */
.ntheme-doc{position:relative;max-width:960px;margin:0 auto 34px;padding:34px 30px 26px;
  border:1px solid hsla(45,42%,58%,.3);border-radius:24px;
  background:linear-gradient(170deg, rgba(231,200,132,.045), rgba(255,255,255,.012) 38%, rgba(124,92,255,.04));
  box-shadow:0 18px 60px rgba(0,0,0,.42)}
.ntheme-doc .aid-frame{position:absolute;inset:7px;pointer-events:none;border:1px solid hsla(45,38%,58%,.16);border-radius:18px}
.ntheme-doc .aid-frame .orn{position:absolute;width:34px;height:34px;color:hsla(45,52%,62%,.5)}
.ntheme-doc .aid-frame .orn .orn-svg{width:100%;height:100%}
.ntheme-doc .aid-frame .orn.tl{top:3px;left:3px}.ntheme-doc .aid-frame .orn.tr{top:3px;right:3px;transform:scaleX(-1)}
.ntheme-doc .aid-frame .orn.bl{bottom:3px;left:3px;transform:scaleY(-1)}.ntheme-doc .aid-frame .orn.br{bottom:3px;right:3px;transform:scale(-1)}
.ntd-head{text-align:center;margin-bottom:8px}
.ntd-head h2{margin:14px 0 0;font-size:clamp(30px,4.6vw,44px)}
.ntd-foot{border-top:1px dashed rgba(231,200,132,.22);margin-top:22px;padding-top:20px;
  display:flex;flex-direction:column;align-items:center}
.ntheme-doc .ntheme-hero{margin:18px auto 0}
.ntheme-doc .sceau{width:min(310px,72vw)}
@media(max-width:760px){.ntheme-doc{padding:24px 14px 20px;border-radius:20px}}
/* ===== les chapitres en panneaux unifiés ===== */
.nsec{display:block;max-width:1000px;margin:26px auto;padding:6px 26px 30px;
  border:1px solid rgba(255,255,255,.065);border-radius:24px;
  background:rgba(255,255,255,.014)}
.nsec .nchap{margin:24px auto 26px;max-width:none}
.nsec .heure-body,.nsec .nnoms,.nsec .nvoie{margin-left:auto;margin-right:auto}
@media(max-width:760px){.nsec{padding:2px 12px 22px;margin:18px auto;border-radius:18px}}

/* ===== harmonisation du thème : un seul langage texte/couleur ===== */
/* les deux compagnons du chap III : même habit or, liseré tcard neutralisé */
.nm-theme{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;
  background:linear-gradient(165deg, rgba(231,200,132,.06), rgba(255,255,255,.012));
  border:1px solid hsla(45,48%,58%,.3)}
.nm-theme .nm-row{display:flex;align-items:center;gap:22px;flex:1}
.nm-theme .invok-head{justify-content:center}
.ncomp .natifs-block{border:1px solid hsla(45,48%,58%,.3)}
.ncomp .tcard{border-color:hsla(45,50%,58%,.45);box-shadow:0 14px 38px rgba(0,0,0,.5)}
.ncomp .tcard::before{border-color:hsla(45,42%,62%,.3)}
@media(max-width:560px){.nm-theme .nm-row{flex-direction:column;text-align:center;gap:14px}}
/* titres de bloc : UN format (serif 20px or clair) */
.nm-theme .nm-txt h3, .nannee-card .na-t, .ncomp .nb-ange{
  font-family:var(--serif);font-weight:600;font-size:20px;color:var(--gold-bright);letter-spacing:.2px}
.nm-theme .nm-txt h3{margin:0 0 7px}
/* paragraphes de bloc : UN format (ink 15.5px / 1.7) */
.nm-theme .nm-txt p, .ncomp .nb-txt, .nannee-card p, .nc-cell p, .gl-row p{
  color:var(--ink);font-size:15px;line-height:1.7}
.nm-theme .nm-txt .gold-link{display:inline-block;margin-top:8px;font-size:14.5px}
/* légendes : muted 13.5 partout */
.sceau-leg,.nc-intro,.gnote{font-size:13.5px;color:var(--muted)}
/* cellules cycles : titres italiques unifiés gold-soft */
.nc-cell b{color:var(--gold-soft)}

/* fix : le verbe des initiales reste inline (la règle .nnom-row b est pour les labels) */
.nnom-row p b{display:inline;font-size:inherit;letter-spacing:normal;text-transform:none;margin:0;color:var(--gold-bright);font-weight:600}
/* lame : respiration entre carte et texte */
.nm-theme .nm-row{gap:32px;padding:6px 8px}
.nm-theme{padding:26px 30px}
/* hero : légendes alignées en bas, carte agrandie */
.ntheme-hero{align-items:stretch}
.ntheme-hero .sceau-stage,.ntheme-hero .nth-fig{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.ntheme-hero .sceau-leg{margin-top:auto;padding-top:10px}
.nth-fig{flex:0 0 272px}
.nth-fig .fcard{width:272px}
@media(max-width:760px){.nth-fig{flex:none}.nth-fig .fcard{width:225px}.ntheme-hero .sceau-leg{margin-top:8px}}

/* ===== le grimoire (blog) ===== */
.blog-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.blog-card{display:block;padding:26px 30px;border-radius:20px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.018);transition:transform .25s,border-color .25s}
.blog-card:hover{transform:translateY(-3px);border-color:hsla(45,48%,58%,.4)}
.bc-date{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.blog-card h2{font-size:25px;margin:8px 0 8px;color:var(--ink)}
.blog-card p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 10px}
.blog-article{max-width:860px;margin:0 auto}
.blog-body p{font-size:16.5px;line-height:1.85;color:var(--ink);margin:0 0 18px}
.blog-body p b{color:var(--gold-soft)}
.blog-body a{color:var(--gold-bright);border-bottom:1px dashed hsla(45,48%,58%,.4)}
.blog-body .tir-sec{margin:34px 0 16px}
.blog-body .oracle-p{font-size:18px;line-height:1.9}
.blog-body .lettrine{float:left;font-family:var(--serif);font-size:54px;line-height:.85;color:var(--gold-bright);padding:4px 10px 0 0}

/* ===== le livre feuilletable du grimoire ===== */
.gbook-stage{display:flex;flex-direction:column;align-items:center;margin:8px auto 10px;perspective:1600px}
.gbook{position:relative;width:min(720px,92vw);height:430px;display:flex;
  transform-style:preserve-3d;transform:rotateX(6deg)}
.gb-spine{position:absolute;left:50%;top:6px;bottom:6px;width:2px;transform:translateX(-1px);
  background:linear-gradient(180deg,transparent,hsla(45,42%,55%,.4),transparent);z-index:3}
.gb-page{flex:1;border:1px solid hsla(45,40%,55%,.32);padding:34px 34px 30px;position:relative;overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(231,200,132,.05), transparent 55%),
    linear-gradient(170deg, #1e1733, #140f22 80%)}
.gb-page::before{content:"";position:absolute;inset:9px;border:1px solid hsla(45,38%,58%,.18);border-radius:6px;pointer-events:none}
.gb-left{border-radius:14px 3px 3px 14px;border-right:none;
  box-shadow:inset -26px 0 34px -22px rgba(0,0,0,.65), 0 18px 50px rgba(0,0,0,.45);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.gb-right{border-radius:3px 14px 14px 3px;border-left:none;
  box-shadow:inset 26px 0 34px -22px rgba(0,0,0,.65), 0 18px 50px rgba(0,0,0,.45);
  display:flex;flex-direction:column;justify-content:center;gap:12px}
.gb-right::after{content:"";position:absolute;top:0;bottom:0;right:0;width:5px;border-radius:0 14px 14px 0;
  background:linear-gradient(180deg,hsla(45,52%,62%,.5),hsla(45,40%,45%,.25),hsla(45,52%,62%,.5))}
.gb-orn{font-size:26px;color:var(--gold-bright);opacity:.85}
.gb-exlibris{font-family:'Cinzel',serif;font-size:23px;letter-spacing:.12em;margin:0;
  background:linear-gradient(180deg,#fcebbf,#caa45a);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.gb-motto{font-family:var(--serif);font-style:italic;font-size:15.5px;color:var(--muted);margin:0;line-height:1.6}
.gb-right h2{font-family:var(--serif);font-size:26px;line-height:1.2;color:var(--ink);margin:0}
.gb-right p{font-size:14.5px;line-height:1.7;color:var(--muted);margin:0}
.gb-lire{align-self:flex-start;margin-top:6px}
.gb-folio{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-family:'Cinzel',serif;font-size:12px;color:hsla(45,40%,65%,.55)}
/* la page volante */
.gb-flip{position:absolute;top:0;bottom:0;left:50%;right:0;transform-origin:left center;
  transform-style:preserve-3d;display:none;z-index:5;will-change:transform;transition:none}
.gb-flip.on{display:block}
.gb-flip.anim{transition:transform .85s cubic-bezier(.45,.05,.3,1)}
.gb-flip-front,.gb-flip-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border:1px solid hsla(45,40%,55%,.32);padding:34px 34px 30px;display:flex;flex-direction:column;justify-content:center;gap:12px;
  background:linear-gradient(170deg, #1e1733, #140f22 80%)}
.gb-flip-front{border-radius:3px 14px 14px 3px}
.gb-flip-front h2{font-family:var(--serif);font-size:26px;line-height:1.2;color:var(--ink);margin:0}
.gb-flip-front p{font-size:14.5px;color:var(--muted);margin:0;line-height:1.7}
.gb-flip-front .gb-lire{pointer-events:none}
.gb-flip-back{transform:rotateY(180deg);border-radius:14px 3px 3px 14px;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(231,200,132,.04), transparent 55%),
    linear-gradient(190deg, #1c1530, #130e20 80%)}
.gb-ctrl{display:flex;align-items:center;gap:18px;margin-top:52px}
.gb-btn{width:42px;height:42px;border-radius:50%;border:1px solid hsla(45,48%,58%,.45);background:rgba(231,200,132,.06);
  color:var(--gold-bright);font-size:17px;cursor:pointer;transition:all .2s}
.gb-btn:hover{background:rgba(231,200,132,.14)}
.gb-count{font-family:'Cinzel',serif;font-size:13px;color:var(--gold-soft);letter-spacing:.1em;min-width:54px;text-align:center}
@media(max-width:760px){
  .gbook{height:400px}
  .gb-left,.gb-spine{display:none}
  .gb-right{border-radius:14px;border-left:1px solid hsla(45,40%,55%,.32);box-shadow:0 18px 50px rgba(0,0,0,.45)}
  .gb-flip{left:0}
  .gb-page{padding:26px 24px 26px}
}
@media (prefers-reduced-motion: reduce){.gb-flip{transition:none}}

/* ===== la couverture du grimoire ===== */
.gb-cover{position:absolute;top:-4px;bottom:-4px;left:50%;right:-4px;z-index:8;
  transform-origin:left center;transform-style:preserve-3d;will-change:transform;
  transition:transform 1.4s cubic-bezier(.5,.05,.25,1), top 1.4s cubic-bezier(.5,.05,.25,1), bottom 1.4s cubic-bezier(.5,.05,.25,1), right 1.4s cubic-bezier(.5,.05,.25,1)}
.gbook-stage.open .gb-cover{top:0;bottom:0;right:0}
.gbook-stage.open .gb-cover{transform:rotateY(-180deg)}
.gb-cover-face,.gb-cover-inside{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:4px 16px 16px 4px}
.gb-cover-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  border:1px solid hsla(45,45%,55%,.5);
  background:
    radial-gradient(130% 100% at 30% 0%, rgba(124,92,255,.12), transparent 50%),
    radial-gradient(120% 120% at 50% 115%, rgba(231,200,132,.08), transparent 55%),
    linear-gradient(160deg, #221a3c, #110c20 70%);
  box-shadow:0 24px 70px rgba(0,0,0,.6), inset 0 0 60px rgba(0,0,0,.45)}
.gb-cover-face::before{content:"";position:absolute;inset:12px;border:1px solid hsla(45,42%,60%,.35);border-radius:10px;pointer-events:none}
.gb-cover-face::after{content:"";position:absolute;top:0;bottom:0;right:0;width:7px;border-radius:0 16px 16px 0;
  background:linear-gradient(180deg,hsla(45,55%,62%,.6),hsla(45,42%,42%,.3),hsla(45,55%,62%,.6))}
.gbc-frame{position:absolute;inset:12px;pointer-events:none}
.gbc-frame .orn{position:absolute;width:36px;height:36px;color:hsla(45,52%,62%,.6)}
.gbc-frame .orn .orn-svg{width:100%;height:100%}
.gbc-frame .orn.tl{top:4px;left:4px}.gbc-frame .orn.tr{top:4px;right:4px;transform:scaleX(-1)}
.gbc-frame .orn.bl{bottom:4px;left:4px;transform:scaleY(-1)}.gbc-frame .orn.br{bottom:4px;right:4px;transform:scale(-1)}
.gbc-orn{font-size:19px;color:var(--gold-bright);opacity:.9;text-shadow:0 0 14px rgba(231,200,132,.5)}
.gbc-title{font-family:'Cinzel',serif;font-weight:600;font-size:33px;line-height:1.25;letter-spacing:.1em;text-align:center;margin:0;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#b8954e);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
.gbc-sub{font-family:var(--serif);font-style:italic;font-size:15px;color:hsla(45,35%,72%,.75);margin:0;letter-spacing:.04em}
.gb-cover-inside{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;
  border:1px solid hsla(45,40%,55%,.32);border-radius:14px 3px 3px 14px;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(231,200,132,.05), transparent 55%),
    linear-gradient(190deg, #1c1530, #130e20 80%);
  box-shadow:inset -26px 0 34px -22px rgba(0,0,0,.65)}
/* fermé : les pages intérieures restent invisibles (seule la couverture existe) */
.gbook-stage:not(.open) .gb-page,.gbook-stage:not(.open) .gb-spine{opacity:0}
.gb-page,.gb-spine{transition:opacity .7s .45s}
.gbook-stage.open .gb-page,.gbook-stage.open .gb-spine{opacity:1}
/* le livre fermé est centré, il glisse en s'ouvrant */
.gbook{transition:transform 1.4s cubic-bezier(.5,.05,.25,1)}
.gbook-stage:not(.open) .gbook{transform:rotateX(6deg) translateX(-25%)}
.gbook-stage.open .gbook{transform:rotateX(6deg) translateX(0)}
.gb-ctrl{opacity:0;transition:opacity .6s .9s}
.gbook-stage.open .gb-ctrl{opacity:1}
@media(max-width:760px){
  .gb-cover{left:0;right:0;border-radius:16px}
  .gb-cover-face{border-radius:16px}
  .gbook-stage:not(.open) .gbook{transform:rotateX(6deg)}
  .gbook-stage.open .gbook{transform:rotateX(6deg)}
}
/* ===== l'article : une page de grimoire ===== */
.grim-page{position:relative;max-width:860px;margin:14px auto 0;padding:48px 54px 40px;border-radius:18px;
  border:1px solid hsla(45,40%,55%,.32);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(231,200,132,.05), transparent 55%),
    linear-gradient(170deg, #1d1632, #130e20 80%);
  box-shadow:0 24px 70px rgba(0,0,0,.5), inset 0 0 80px rgba(0,0,0,.3)}
.grim-page::before{content:"";position:absolute;inset:11px;border:1px solid hsla(45,38%,58%,.18);border-radius:11px;pointer-events:none}
.gp-frame{position:absolute;inset:11px;pointer-events:none;z-index:1}
.gp-frame .orn{position:absolute;width:34px;height:34px;color:hsla(45,52%,62%,.5)}
.gp-frame .orn .orn-svg{width:100%;height:100%}
.gp-frame .orn.tl{top:3px;left:3px}.gp-frame .orn.tr{top:3px;right:3px;transform:scaleX(-1)}
.gp-frame .orn.bl{bottom:3px;left:3px;transform:scaleY(-1)}.gp-frame .orn.br{bottom:3px;right:3px;transform:scale(-1)}
.gp-fin{text-align:center;margin-top:30px;font-size:14px;color:hsla(45,45%,62%,.65);letter-spacing:.3em}
@media(max-width:760px){.grim-page{padding:32px 22px 28px;margin-inline:4px}}

/* ===== le livre en vrai 3D ===== */
.gbook-stage{perspective:1500px}
.gb-tilt{position:relative;transform-style:preserve-3d;will-change:transform}
.gbook{transform-style:preserve-3d}
/* la cassure en V d'un livre ouvert */
.gbook-stage.open .gb-left{transform:rotateY(7deg);transform-origin:right center}
.gbook-stage.open .gb-right{transform:rotateY(-7deg);transform-origin:left center}
.gb-left,.gb-right{transition:opacity .7s .45s, transform 1.2s cubic-bezier(.5,.05,.25,1)}
/* l'épaisseur : la pile de pages sous chaque moitié */
.gbook-stage.open .gb-left{box-shadow:inset -26px 0 34px -22px rgba(0,0,0,.65), 0 18px 50px rgba(0,0,0,.45),
  -3px 4px 0 -1px #271e44, -6px 8px 0 -2px #221a3c, -9px 12px 0 -3px #1c1532, -12px 16px 0 -4px #161028}
.gbook-stage.open .gb-right{box-shadow:inset 26px 0 34px -22px rgba(0,0,0,.65), 0 18px 50px rgba(0,0,0,.45),
  3px 4px 0 -1px #271e44, 6px 8px 0 -2px #221a3c, 9px 12px 0 -3px #1c1532, 12px 16px 0 -4px #161028}
/* l'ombre au sol */
.gb-floor{position:absolute;left:4%;right:4%;bottom:-44px;height:54px;border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.5), transparent 72%);
  filter:blur(10px);transform:none;transition:left 1.4s,right 1.4s,opacity 1.4s;pointer-events:none}
.gbook-stage:not(.open) .gb-floor{left:28%;right:6%}
/* la page volante projette son ombre en tournant (sur les FACES : un filter sur le plan 3D aplatirait la scène et révélerait le recto en miroir, bug Safari) */
.gb-flip.anim .gb-flip-front{box-shadow:-18px 12px 26px rgba(0,0,0,.4)}
.gb-flip.anim .gb-flip-back{box-shadow:18px 12px 26px rgba(0,0,0,.4)}
.gb-flip-front::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg, rgba(0,0,0,.38), transparent 26%)}
.gb-flip-back::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(270deg, rgba(0,0,0,.38), transparent 26%)}
/* la couverture épouse le V en s'ouvrant */
.gbook-stage.open .gb-cover{transform:rotateY(-173deg)}
/* la lumière qui balaie la page de dessous pendant le flip */
.gb-right::before{z-index:2}
@media(pointer:coarse){.gb-tilt{transform:none !important}}

/* amour des heures : couple / célibataire */
.duo-amour{display:grid;grid-template-columns:1fr 1fr;gap:8px 34px;margin-top:4px}
.da-lbl{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:6px;font-weight:600}
.da-col p{margin:0;font-size:15px;line-height:1.7;color:var(--ink)}
@media(max-width:680px){.duo-amour{grid-template-columns:1fr;gap:18px}}

/* ===== menu Bibliothèque ===== */
.ndrop{position:relative}
.ndrop-btn{display:flex;align-items:center;gap:5px;background:none;border:0;cursor:pointer;
  font-family:var(--sans);font-size:14.5px;color:var(--muted);padding:0;transition:color .2s}
.ndrop-btn:hover,.ndrop-btn.active{color:var(--gold-bright)}
.ndrop-btn .chev{width:13px;height:13px;transition:transform .25s}
.ndrop:hover .chev,.ndrop:focus-within .chev{transform:rotate(180deg)}
.ndrop-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:14px;display:none;z-index:60}
.ndrop:hover .ndrop-menu,.ndrop:focus-within .ndrop-menu,.ndrop.open .ndrop-menu{display:block}
.ndrop.open .chev{transform:rotate(180deg)}
/* accessibilité : on neutralise toutes les animations/transitions en boucle pour qui préfère moins de mouvement (WCAG 2.3.3/2.2.2) */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
.ndrop-menu-in,.ndrop-menu>a{display:block}
.ndrop-menu{min-width:188px}
.ndrop-menu a{display:block;padding:9px 14px;border-radius:10px;white-space:nowrap;font-size:14.5px;color:var(--muted)}
.ndrop-menu a:hover{background:rgba(231,200,132,.08);color:var(--gold-bright)}
.ndrop-menu a.active{color:var(--gold-bright)}
.ndrop-menu::before{content:"";position:absolute;inset:14px 0 0;background:rgba(9,6,19,.97);
  border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.55);z-index:-1}
/* burger : la bibliothèque s'aplatit dans le menu mobile.
   On NEUTRALISE le :hover/:focus-within (sur mobile le hover « colle » au tap et
   relançait le dropdown absolu, faisant disparaître les 4 entrées de la liste). */
@media(max-width:1080px){
  .ndrop{display:flex;flex-direction:column;align-items:stretch;gap:7px;width:100%;margin-top:22px}
  /* le bouton devient un discret intitulé de section */
  .ndrop-btn{display:flex;justify-content:center;align-items:center;pointer-events:none;color:var(--muted);font-size:10.5px;letter-spacing:2px;padding:0;opacity:.8}
  .ndrop-btn .chev{display:none}
  .ndrop-menu,
  .ndrop:hover .ndrop-menu,
  .ndrop:focus-within .ndrop-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:static;width:100%;min-width:0;left:auto;transform:none}
  .ndrop-menu::before{display:none}
  /* petits boutons discrets, 2 par ligne */
  .ndrop-menu a{display:flex;align-items:center;justify-content:center;gap:7px;border:0.5px solid hsla(45,42%,58%,.22);background:rgba(255,255,255,.02);border-radius:10px;padding:9px 6px;font-size:13px;color:var(--muted)}
  .ndrop-menu a:hover,.ndrop-menu a:active{background:rgba(231,200,132,.06);color:var(--gold-bright)}
  .ndrop-menu .nd-glyph{margin-right:0;color:var(--gold-soft);font-size:13px;flex:none}
}

/* glyphes du menu bibliothèque */
.nd-glyph{font-style:normal;display:inline-block;width:22px;color:hsla(45,52%,62%,.75);font-size:13px}
@media(max-width:1080px){.nd-glyph{display:none}}

/* ===== espace compte ===== */
.compte-id{max-width:680px;margin:0 auto;display:flex;align-items:center;gap:22px;padding:26px 30px;
  border-radius:20px;border:1px solid hsla(45,48%,58%,.3);
  background:linear-gradient(165deg, rgba(231,200,132,.06), rgba(255,255,255,.012))}
.ci-avatar{width:74px;height:74px;border-radius:50%;border:2px solid hsla(45,52%,62%,.55);object-fit:cover}
.ci-info{flex:1;display:flex;flex-direction:column;gap:3px}
.ci-info b{font-family:var(--serif);font-size:22px;color:var(--gold-bright)}
.ci-info span{font-size:13.5px;color:var(--muted)}
.ci-statut{margin-top:5px;font-size:12px !important;letter-spacing:.08em;text-transform:uppercase}
.ci-statut.on{color:var(--gold-bright) !important}
.ci-actions{display:flex;flex-direction:column;gap:9px}
.ci-actions .btn{font-size:13.5px;padding:9px 16px}
@media(max-width:680px){.compte-id{flex-direction:column;text-align:center}.ci-actions{flex-direction:row;flex-wrap:wrap;justify-content:center}}
/* ===== la lecture d'ensemble ===== */
.ens-tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#1d1530;background:linear-gradient(135deg,#f4dca4,#e7c884);
  border-radius:99px;padding:3px 10px;margin-left:10px;vertical-align:2px}
.ens-block{max-width:860px;margin:0 auto;padding:26px 30px;border-radius:20px;
  border:1px solid hsla(45,48%,58%,.34);position:relative;overflow:hidden;
  background:linear-gradient(165deg, rgba(231,200,132,.05), rgba(124,92,255,.05))}
.ens-block p{font-size:15.5px;line-height:1.75;color:var(--ink);margin:0 0 13px}
.ens-block p:last-child{margin-bottom:0}
.ens-block .ens-empty{color:var(--muted)}
.ens-block .ens-empty a{color:var(--gold-bright);border-bottom:1px dashed hsla(45,48%,58%,.4)}
.ens-fil{padding:14px 18px;border-left:2px solid hsla(45,48%,58%,.5);border-radius:0 12px 12px 0;
  background:rgba(231,200,132,.06);font-style:italic;color:var(--gold-soft) !important}
/* lecture d'ensemble enrichie */
.ens-rich .ens-gauge{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid hsla(45,48%,58%,.28);background:hsla(45,48%,58%,.05);margin-bottom:4px}
.eg-segs{display:flex;gap:5px;flex:none;margin-top:5px}
.eg-seg{width:9px;height:24px;border-radius:3px;background:rgba(255,255,255,.1)}
.eg-seg.on{background:linear-gradient(180deg,var(--gold-bright),var(--gold-soft))}
.eg-txt{font-size:14.5px;color:var(--muted);line-height:1.5}
.eg-txt b{color:var(--gold-bright);font-family:var(--serif);font-size:1.1rem}
.eg-txt span{display:block;margin-top:3px;font-size:13.5px;color:var(--muted)}
.ens-sec{margin-top:22px}
.ens-h{display:flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 10px}
.ens-h .ico{width:15px;height:15px;flex:none}
.ens-dombar{height:9px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;margin-bottom:11px}
.ens-dombar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold-soft),var(--gold-bright))}
.ens-symb{display:flex;gap:18px;align-items:center}
.ens-symb-card{flex:0 0 74px;width:74px;display:block}
.ens-symb-card .tcard{width:74px}
.ens-rich .ens-fil{margin-top:22px}
.ens-block.locked{min-height:330px}
.ens-block.locked .ens-blur{filter:blur(7px);user-select:none;pointer-events:none;opacity:.8}
.ens-cta{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  background:radial-gradient(80% 80% at 50% 50%, rgba(13,9,24,.6), rgba(13,9,24,.9));padding:20px;text-align:center}
.ens-seal{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid hsla(45,52%,60%,.55);color:var(--gold-bright);font-size:19px;margin-bottom:6px;
  background:radial-gradient(60% 60% at 50% 40%, rgba(231,200,132,.16), transparent);
  box-shadow:0 0 26px rgba(231,200,132,.25), inset 0 0 14px rgba(231,200,132,.12);
  animation:aohalo 4.5s ease-in-out infinite}
.ens-cta-t{font-family:var(--serif);font-weight:600;font-size:23px;
  background:linear-gradient(180deg,#fcebbf,#e7c884 60%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ens-cta p{color:var(--muted);font-size:14.5px;max-width:340px;margin:0 0 10px;line-height:1.6}
.ens-price{font-size:12px;letter-spacing:.06em;color:var(--muted-2,#857b9e);margin-top:4px}
@media (prefers-reduced-motion: reduce){.ens-seal{animation:none}}


/* ===== les forfaits ===== */
.plans{display:grid;grid-template-columns:1fr 1.12fr;gap:22px;max-width:840px;margin:8px auto 10px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:22px;padding:40px 34px 32px;border-radius:26px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.015);transition:transform .3s, box-shadow .3s}
.plan.plus{border:1px solid hsla(45,52%,60%,.55);
  background:
    radial-gradient(110% 60% at 50% -8%, rgba(231,200,132,.14), transparent 60%),
    linear-gradient(168deg, rgba(231,200,132,.04), rgba(124,92,255,.06));
  box-shadow:0 28px 80px rgba(0,0,0,.5), 0 0 50px rgba(231,200,132,.09)}
.plan.plus:hover{transform:translateY(-4px);box-shadow:0 34px 90px rgba(0,0,0,.55), 0 0 60px rgba(231,200,132,.14)}
.plan-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#1d1530;
  background:linear-gradient(135deg,#f4dca4,#e7c884 55%,#caa45a);border-radius:99px;padding:6px 20px;
  box-shadow:0 6px 22px rgba(231,200,132,.3)}
.plan-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px}
.plan-head::after{content:'✦';margin-top:14px;font-size:11px;color:hsla(45,48%,62%,.55);
  width:100%;display:flex;align-items:center;justify-content:center;gap:14px}
.plan-name{font-family:'Cinzel',serif;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.plan-price{font-family:var(--serif);font-weight:600;font-size:clamp(44px,5.4vw,56px);line-height:1.05;
  background:linear-gradient(180deg,#fcebbf,#e7c884 60%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.plan-price i{font-style:normal;font-size:17px;-webkit-text-fill-color:var(--muted);color:var(--muted);font-weight:400}
.plan-was{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--muted)}
.prem-anchor{font-family:var(--serif);font-style:italic;font-size:18.5px;color:var(--ink);margin-top:14px}
.prem-anchor b{font-style:normal;color:var(--gold-bright);font-weight:600}
.plan-was s{color:hsla(45,28%,58%,.65);text-decoration-color:hsla(45,40%,55%,.5)}
.plan-alt{margin-top:6px;font-size:13.5px;color:var(--gold-soft);border:1px dashed hsla(45,42%,58%,.35);
  border-radius:99px;padding:7px 18px}
.plan-alt b{color:var(--gold-bright);font-weight:600}
.plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;flex:1}
.plan-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.plan-list li{position:relative;padding-left:27px;font-size:15px;line-height:1.6;color:var(--ink)}
.plan-list li::before{content:'✓';position:absolute;left:2px;top:1px;color:hsla(45,55%,62%,.8);font-size:13px}
.plan.plus .plan-list li::before{content:'✦';color:var(--gold-bright)}
.plan-list li b{color:var(--gold-soft)}
.plan .btn{width:100%;justify-content:center;font-size:15.5px;padding:14px}
.plan.plus .btn.primary{box-shadow:0 12px 34px rgba(231,200,132,.25)}
@media(max-width:760px){.plans{grid-template-columns:1fr;max-width:460px}.plan.plus{order:-1;margin-top:14px}.plan{padding:34px 24px 26px}}



/* ===== la modale compte maison ===== */
.amodal{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:20px}
.amodal.open{display:flex}
/* mobile : carte ancrée en haut + défilante, sinon le clavier iOS pousse le haut hors écran */
@media(max-width:600px){.amodal{align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 14px 40px}}
.am-back{position:absolute;inset:0;background:rgba(7,4,16,.78);backdrop-filter:blur(8px)}
.am-card{position:relative;width:min(400px,94vw);border-radius:24px;padding:38px 32px 28px;text-align:center;
  border:1px solid hsla(45,42%,58%,.4);
  background:
    radial-gradient(120% 70% at 50% -10%, rgba(231,200,132,.1), transparent 55%),
    linear-gradient(170deg,#1d1532,#120d22);
  box-shadow:0 30px 90px rgba(0,0,0,.65), 0 0 60px rgba(231,200,132,.08);
  animation:amIn .35s cubic-bezier(.3,1.2,.4,1)}
@keyframes amIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.am-x{position:absolute;top:12px;right:16px;background:none;border:0;color:var(--muted);font-size:25px;cursor:pointer;line-height:1}
.am-x:hover{color:var(--gold-bright)}
.am-star{font-size:21px;color:var(--gold-bright);text-shadow:0 0 18px rgba(231,200,132,.6);margin-bottom:8px}
.am-card h3{font-family:var(--serif);font-size:26px;color:var(--gold-bright);margin:0 0 6px}
.am-sub{font-size:14.5px;color:var(--muted);line-height:1.6;margin:0 0 20px}
.am-sub b{color:var(--ink)}
.am-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;
  border-radius:13px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.035);
  color:var(--ink);font-family:var(--sans);font-size:14.5px;font-weight:500;cursor:pointer;transition:all .2s}
.am-google:hover{background:rgba(231,200,132,.08);border-color:hsla(45,48%,58%,.45)}
.am-div{display:flex;align-items:center;gap:14px;margin:16px 0;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-2,#857b9e)}
.am-div i{flex:1;height:1px;background:rgba(231,200,132,.15)}
.am-card input{width:100%;height:48px;border-radius:13px;border:1px solid rgba(255,255,255,.13);
  background:#100b1e;color:var(--ink);font-family:var(--sans);font-size:15px;padding:0 16px;text-align:center;
  outline:none;transition:border-color .2s, box-shadow .2s;box-sizing:border-box}
.am-card input:focus{border-color:hsla(45,52%,60%,.6);box-shadow:0 0 0 3px rgba(231,200,132,.12)}
#amCode{font-family:'Cinzel',serif;font-size:25px;letter-spacing:.45em;padding-left:24px}
.am-go{width:100%;justify-content:center;margin-top:12px;height:48px;font-size:15.5px}
.am-go:disabled{opacity:.55;cursor:wait}
.am-note{margin:16px 0 0;font-size:12px;color:var(--muted);line-height:1.55}
.am-note a{color:var(--gold-soft);cursor:pointer;border-bottom:1px dashed hsla(45,48%,58%,.35)}
.am-note a:hover{color:var(--gold-bright)}
.am-err{margin:12px 0 0;font-size:13px;color:#e98b8b;min-height:16px}

.am-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}
.am-logo{width:30px;height:30px;color:var(--gold);filter:drop-shadow(0 0 12px rgba(231,200,132,.6))}
.am-brand b{font-family:'Cinzel',serif;font-size:19px;font-weight:600;letter-spacing:2.5px;
  background:linear-gradient(90deg,var(--gold-soft),var(--gold-bright) 55%,var(--gold-soft));
  -webkit-background-clip:text;background-clip:text;color:transparent}
/* ===== mon univers : dashboard à onglets ===== */
.univ-head{max-width:760px;margin:0 auto 22px;display:flex;align-items:center;gap:20px;padding:20px 26px;
  border-radius:18px;border:1px solid hsla(45,48%,58%,.3);
  background:linear-gradient(165deg, rgba(231,200,132,.05), rgba(255,255,255,.012))}
.univ-head .btn{flex:none;font-size:13.5px;padding:10px 16px}
@media(max-width:680px){.univ-head{flex-direction:column;text-align:center}}
.univ-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;max-width:760px;margin:0 auto 26px}
.ut{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--sans);font-size:13.5px;padding:10px 18px;border-radius:99px;cursor:pointer;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02);color:var(--muted);transition:all .2s}
.ut:hover{color:var(--gold-bright);border-color:hsla(45,48%,58%,.35)}
.ut.on{color:#1d1530;font-weight:600;border-color:transparent;
  background:linear-gradient(135deg,#f4dca4,#e7c884 55%,#caa45a)}
.univ-body{max-width:760px;margin:0 auto}
.univ-empty{text-align:center;padding:38px 26px;border-radius:18px;border:1px dashed hsla(45,42%,58%,.3)}
.univ-empty p{max-width:430px;margin:0 auto 18px;color:var(--muted);line-height:1.7;font-size:15px}
.univ-note{text-align:center;font-size:13.5px;color:var(--muted);margin:18px 0}
.univ-note a{color:var(--gold-bright)}
/* histogramme 14 jours */
.uh-days{display:flex;align-items:flex-end;gap:6px;height:110px;padding:0 4px 22px;position:relative}
.uhd{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}
.uhd i{display:block;width:100%;max-width:26px;border-radius:5px 5px 2px 2px;min-height:3px;
  background:rgba(255,255,255,.06);transition:height .6s cubic-bezier(.4,0,.2,1)}
.uhd i.on{background:linear-gradient(180deg,#f4dca4,#caa45a)}
.uhd span{position:absolute;bottom:-20px;font-size:10.5px;color:var(--muted-2,#857b9e)}
/* onglet numérologie */
.univ-numero{display:flex;gap:28px;align-items:center;padding:26px;border-radius:20px;
  border:1px solid hsla(45,48%,58%,.3);background:linear-gradient(165deg, rgba(231,200,132,.05), rgba(255,255,255,.012))}
.un-fig{flex:0 0 150px}
.un-fig .fcard{width:150px;display:block}
.un-t{font-family:var(--serif);font-size:24px;color:var(--gold-bright);margin:0}
.un-line{margin:12px 0 0;font-size:14.5px;color:var(--muted)}
.un-line b{color:var(--gold-soft)}
@media(max-width:640px){.univ-numero{flex-direction:column;text-align:center}.un-info .nchips{justify-content:center !important}.un-info .read-actions{justify-content:center !important}}
/* titre de la carte-figure du récap : adapté à la petite carte 150px */
.un-fig .fcard .fc-nom{font-size:11px;letter-spacing:.02em;line-height:1.12;bottom:15px}
.un-fig .fcard .roman{font-size:12px}
/* récap compatibilité de couple : deux cartes-figures + prénoms */
.uc-recap .uc-figs{flex:0 0 auto;display:flex;align-items:center;gap:10px}
.uc-fig{display:flex;flex-direction:column;align-items:center;gap:7px}
.uc-fig .fcard{width:104px;display:block}
.uc-fig .fcard .fc-nom,.uc-fig .fcard .tc-brand{display:none}
.uc-fig .fcard .roman{font-size:11px;top:6px}
.uc-cap{font-family:var(--serif);font-size:15px;color:var(--gold-soft);letter-spacing:.3px}
.uc-amp{font-family:var(--serif);font-size:1.5rem;color:var(--gold);align-self:center;margin-top:-20px}
.uc-verdict{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--gold-bright);margin:2px 0 0}
/* titre récap couple : cœur en avant, inline */
.uc-title{display:flex;align-items:center;gap:9px}
.uc-title .ico{width:19px;height:19px;flex:none;color:var(--gold-soft)}
/* CTA des cartes du compte : discret (lien doré) et toujours en bas à droite */
.univ-numero .un-info,.uc-recap .un-info{display:flex;flex-direction:column;flex:1}
.univ-numero .un-info .read-actions,.uc-recap .un-info .read-actions{margin-top:auto;justify-content:flex-end;padding-top:14px}
@media(max-width:640px){.uc-recap .uc-figs{justify-content:center}}
/* paramètres */
.univ-params{display:flex;flex-direction:column;gap:0;border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden}
.up-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;
  border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.012)}
.up-row:last-of-type{border-bottom:none}
.up-row > div:first-child b{display:block;font-size:15px;color:var(--ink);font-weight:600;margin-bottom:2px}
.up-row > div:first-child span{font-size:13px;color:var(--muted)}
.up-edit{display:flex;gap:8px}
.up-edit input{width:150px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.13);
  background:#100b1e;color:var(--ink);padding:0 12px;font-family:var(--sans);font-size:14px;outline:none}
.up-edit input:focus{border-color:hsla(45,52%,60%,.55)}
.up-edit .btn,.up-row .btn{font-size:13px;padding:9px 14px}
.up-toggle{position:relative;width:48px;height:27px;border-radius:99px;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.05);cursor:pointer;transition:all .25s;flex:none}
.up-toggle i{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;
  background:#857b9e;transition:all .25s}
.up-toggle.on{background:linear-gradient(135deg,#f4dca4,#caa45a);border-color:transparent}
.up-toggle.on i{left:24px;background:#1d1530}
.up-row.danger b{color:#e98b8b !important}
.up-danger.armed{border-color:#e98b8b;color:#e98b8b}
@media(max-width:560px){.up-row{flex-direction:column;align-items:flex-start}.up-edit{width:100%}.up-edit input{flex:1}}

/* mini-lame habillée : la tcard complète à petite échelle (nom/chiffre fittés par fitCardNames) */
.ss-mini{display:block;width:62px;flex:none}
.ss-mini .tcard{width:100% !important;border-radius:8px}
.ss-mini .tcard .roman{font-size:7px;top:3px}
.ss-mini .tcard .tc-brand{display:none}
.ss-mini .tcard::before{inset:3px;border-radius:5px}
.ss-mini .tc-frame{inset:3px;border-radius:5px}
.ss-mini .tc-frame .orn{width:10px;height:10px}

/* ===== l'observatoire (onglet heures) ===== */
.obs-grid{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;margin-bottom:8px;
  padding:26px;border-radius:20px;border:1px solid hsla(45,48%,58%,.28);
  background:radial-gradient(90% 90% at 30% 20%, rgba(231,200,132,.06), transparent 60%), rgba(255,255,255,.012)}
.c24{width:250px;height:250px;display:block}
.c24-ring{fill:none;stroke:hsla(45,42%,58%,.3);stroke-width:1}
.c24-ring2{fill:none;stroke:rgba(255,255,255,.06);stroke-width:1;stroke-dasharray:2 4}
.c24-tick{stroke:hsla(45,35%,58%,.35);stroke-width:1}
.c24-lbl{fill:#857b9e;font-family:var(--sans);font-size:9.5px;text-anchor:middle;letter-spacing:.06em}
.c24-dot{fill:#e7c884;filter:drop-shadow(0 0 6px rgba(231,200,132,.65));animation:scdot 3.2s ease-in-out infinite}
.c24-n{fill:#e7c884;font-family:'Cinzel',serif;font-weight:600;font-size:38px;text-anchor:middle;
  filter:drop-shadow(0 0 12px rgba(231,200,132,.4))}
.c24-t{fill:#a99fc4;font-family:var(--sans);font-size:10.5px;text-anchor:middle;letter-spacing:.14em;text-transform:uppercase}
.obs-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.obs-fav{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:16px;
  border:1px solid hsla(45,48%,58%,.32);background:linear-gradient(165deg, rgba(231,200,132,.06), transparent);
  transition:transform .25s}
.obs-fav:hover{transform:translateY(-2px)}
.obs-lbl{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.obs-big{display:block;font-family:'Cinzel',serif;font-weight:600;font-size:34px;line-height:1.15;
  background:linear-gradient(180deg,#fcebbf,#e7c884 60%,#caa45a);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.obs-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.obs-kpi{padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.015);text-align:center}
.obs-kpi b{display:block;font-family:'Cinzel',serif;font-weight:600;font-size:27px;color:var(--gold-bright)}
.obs-kpi span{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media(max-width:680px){.obs-grid{grid-template-columns:1fr;justify-items:center}.obs-side{width:100%}}
/* les chiffres de stats : Cinzel (le 1 Cormorant ressemble à un I) */
.ss-n{font-family:'Cinzel',serif !important;font-weight:600}

.kept-note{display:inline-flex;align-items:center;font-size:14.5px;color:var(--gold-soft);padding:12px 18px;
  border:1px dashed hsla(45,42%,58%,.35);border-radius:99px}
.kept-note a{color:var(--gold-bright);margin-left:5px}
.relecture-q{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold-soft);margin:4px 0 0}

/* fiche tirage : cartes + texte face à face */
.tf-hero{display:grid;grid-template-columns:330px 1fr;gap:40px;align-items:center;
  max-width:1000px;margin:0 auto 44px;padding:34px 40px;border-radius:24px;
  border:1px solid hsla(45,42%,58%,.3);
  background:radial-gradient(90% 90% at 20% 30%, rgba(231,200,132,.06), transparent 60%), rgba(255,255,255,.014)}
.tf-hero-art{position:relative;display:flex;justify-content:center;align-items:center;min-height:300px;transition:transform .3s}
.tf-hero-art:hover{transform:translateY(-4px)}
.tf-hero-art .tr-back{position:absolute;width:150px;border-radius:12px;opacity:.55}
.tf-hero-art .tr-back.b1{transform:rotate(-14deg) translateX(-44px)}
.tf-hero-art .tr-back.b2{transform:rotate(13deg) translateX(46px)}
.tf-hero-art .tr-face{position:relative;left:auto;top:auto;width:168px;height:282px;z-index:2;
  transform:rotate(-3deg) !important;filter:drop-shadow(0 16px 36px rgba(0,0,0,.55))}
.tf-hero-art .tr-face .tcard{transform:none}
.tf-hero-txt .tf-p{margin:0 0 16px;font-size:16px;line-height:1.8;color:var(--ink)}
.tf-hero-txt .tf-p:last-child{margin-bottom:0}
@media(max-width:860px){
  .tf-hero{grid-template-columns:1fr;gap:36px;padding:26px 20px 30px;text-align:center}
  .tf-hero-art{min-height:260px}
  .tf-hero-txt .tf-p{text-align:left}
}

/* heures inversées : la lame se présente renversée */
.hc-rev .tcard{transform:rotate(180deg)}
.hcell:hover .hc-rev .tcard{transform:rotate(180deg) translateY(2px)}

/* lectures : les lames habillées, renversées quand il faut */
.rc-mini{position:relative;width:66px}
.rc-mini-rev .tcard{transform:rotate(180deg)}
.rc-mini .rc-rev{position:absolute;top:-7px;right:-7px;z-index:3;width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:11px;color:#1d1530;
  background:linear-gradient(135deg,#f4dca4,#caa45a);box-shadow:0 4px 12px rgba(0,0,0,.4)}

.am-card-wide{width:min(560px,94vw);text-align:left}
.am-card-wide h3{text-align:center}

/* toggle mensuel/annuel (pattern Oublivion, couleurs Arkarma) */
.pay-toggle{display:flex;width:max-content;margin:2px auto 14px;padding:4px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);border-radius:100px}
.pay-toggle button{border:0;background:transparent;color:var(--muted);font-family:var(--sans);font-weight:600;
  font-size:13.5px;padding:8px 16px;border-radius:100px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  transition:background .15s,color .15s}
.pay-toggle button.on{background:linear-gradient(135deg,#f4dca4,#e7c884 55%,#caa45a);color:#1d1530}
.pay-save{font-size:10px;font-weight:800;padding:2px 8px;border-radius:100px;
  background:rgba(231,200,132,.14);color:var(--gold-bright);letter-spacing:.03em}
.pay-toggle button.on .pay-save{background:rgba(0,0,0,.18);color:#1d1530}

/* ===== ton année, mois par mois ===== */
.ym-wrap{max-width:920px;margin:0 auto;position:relative}
.ym-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.ym-cell{position:relative;padding:18px 16px 14px;border-radius:16px;text-align:center;
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.015)}
.ym-cell.now{border-color:hsla(45,52%,60%,.55);
  background:radial-gradient(110% 80% at 50% 0%, rgba(231,200,132,.1), transparent 60%), rgba(255,255,255,.015);
  box-shadow:0 0 30px rgba(231,200,132,.08)}
.ym-cell.past:not(.now){opacity:.45}
.ym-now{position:absolute;top:-9px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);background:#14101f;
  padding:2px 10px;border-radius:99px;border:1px solid hsla(45,48%,58%,.4)}
.ym-mois{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ym-n{display:block;font-size:30px;margin:0 0 2px}
.ym-t{display:block;font-family:var(--serif);font-style:italic;font-size:16.5px;color:var(--gold-soft);margin-bottom:7px}
.ym-x{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
.ym-tag{display:inline-block;margin-top:8px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-bright);border:1px dashed hsla(45,48%,58%,.4);border-radius:99px;padding:2px 9px}
/* le voile premium */
.ym-cell.locked .ym-n,.ym-cell.locked .ym-t,.ym-cell.locked .ym-x{filter:blur(5px);user-select:none}
.ym-wrap.gated .ym-cta{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  background:radial-gradient(75% 75% at 50% 50%, rgba(13,9,24,.45), rgba(13,9,24,.85));border-radius:18px;padding:20px;text-align:center}
.ym-cta p{color:var(--muted);font-size:14px;margin:0 0 10px}
@media(max-width:760px){.ym-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.ym-grid{grid-template-columns:1fr 1fr;gap:9px}.ym-x{display:none}.ym-cell.locked .ym-x{display:none}}
.pm-feats{font-size:12.5px;color:var(--gold-soft);text-align:center;margin:10px 0 0;line-height:1.7}

/* ===== accueil : le sceau ===== */
.np-sceau{display:flex;align-items:center;justify-content:center}
.home-sceau{width:240px;height:240px}
/* ===== accueil : les anges ===== */
.home-anges{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.home-anges .amed{width:86px;height:86px;display:block}
.ha-med{transition:transform .3s;animation:hafloat 5s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s)}
.ha-med:hover{transform:translateY(-6px) scale(1.05)}
@keyframes hafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:680px){.home-anges{gap:10px}.home-anges .amed{width:64px;height:64px}.home-anges .ha-med:nth-child(n+6){display:none}}
@media (prefers-reduced-motion: reduce){.ha-med{animation:none}}
/* ===== accueil : le grimoire ===== */
.home-grimoire{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;max-width:880px;margin:0 auto}
.hg-book{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  width:280px;height:360px;margin:0 auto;border-radius:6px 18px 18px 6px;text-align:center;
  border:1px solid hsla(45,45%,55%,.5);
  background:
    radial-gradient(130% 100% at 30% 0%, rgba(124,92,255,.12), transparent 50%),
    radial-gradient(120% 120% at 50% 115%, rgba(231,200,132,.08), transparent 55%),
    linear-gradient(160deg, #221a3c, #110c20 70%);
  box-shadow:0 24px 70px rgba(0,0,0,.55), inset 0 0 60px rgba(0,0,0,.45);
  transition:transform .35s}
.hg-book::before{content:"";position:absolute;inset:12px;border:1px solid hsla(45,42%,60%,.35);border-radius:4px 12px 12px 4px;pointer-events:none}
.hg-book:hover{transform:translateY(-6px) rotate(-1deg)}
.hg-orn{font-size:17px;color:var(--gold-bright);text-shadow:0 0 14px rgba(231,200,132,.5)}
.hg-title{font-family:'Cinzel',serif;font-weight:600;font-size:27px;line-height:1.25;letter-spacing:.1em;
  background:linear-gradient(180deg,#fcebbf,#e7c884 55%,#b8954e);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hg-sub{font-family:var(--serif);font-style:italic;font-size:14px;color:hsla(45,35%,72%,.75)}
.hg-body h2{margin:14px 0 10px}
.hg-body p{color:var(--muted);line-height:1.75;margin:0 0 22px;max-width:430px}
@media(max-width:760px){.home-grimoire{grid-template-columns:1fr;gap:26px;text-align:center}.hg-body p{margin-inline:auto}.hg-book{width:240px;height:310px}}

/* ============ PILIER HOROSCOPE ============ */
.zo-finder{max-width:380px;margin:6px auto 40px;padding:14px 18px 16px;border:1px solid rgba(231,200,132,.16);border-radius:16px;background:linear-gradient(160deg,rgba(231,200,132,.05),rgba(20,16,31,.5));text-align:center}
.zo-finder label{display:flex;align-items:center;justify-content:center;gap:7px;font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.zo-finder label .ico{width:15px;height:15px}
.zf-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.zf-row input[type=date]{background:rgba(10,8,18,.6);border:1px solid rgba(231,200,132,.22);border-radius:12px;color:var(--ink);font-family:'Outfit',sans-serif;font-size:.95rem;padding:11px 14px;color-scheme:dark;text-align:center}
.zf-out{margin:14px 0 0;font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--ink);min-height:1em}
.zf-out b{color:var(--gold);font-family:'Cinzel',serif;font-size:1.02rem}
.zo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:860px;margin:0 auto}
.zo-cell{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:22px 14px 18px;border:1px solid rgba(231,200,132,.14);border-radius:16px;background:linear-gradient(170deg,rgba(231,200,132,.04),rgba(20,16,31,.45));text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s}
.zo-cell:hover{transform:translateY(-4px);border-color:rgba(231,200,132,.4);box-shadow:0 12px 34px rgba(0,0,0,.35)}
.zo-sym{font-size:1.9rem;line-height:1;color:var(--gold);text-shadow:0 0 18px rgba(231,200,132,.35);margin-bottom:4px}
.zo-nom{font-family:'Cinzel',serif;font-size:1.02rem;letter-spacing:.06em;color:var(--ink)}
.zo-per{font-size:.78rem;color:var(--muted)}
.zo-el{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.92rem;color:rgba(231,200,132,.75);margin-top:2px}
.zo-hero{display:flex;align-items:center;justify-content:center;gap:34px;max-width:860px;margin:8px auto 34px;flex-wrap:wrap}
.zo-glyph{flex:none;width:128px;height:128px;border-radius:50%;border:1px solid rgba(231,200,132,.3);display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,rgba(231,200,132,.12),rgba(20,16,31,.6) 70%);box-shadow:0 0 44px rgba(231,200,132,.12),inset 0 0 26px rgba(0,0,0,.4)}
.zo-glyph span{font-size:3.4rem;line-height:1;color:var(--gold);text-shadow:0 0 26px rgba(231,200,132,.5)}
.zo-htxt{max-width:380px;text-align:left}
.zo-htxt .badge{margin-bottom:10px}
.zo-htxt h1{font-size:clamp(2.2rem,5vw,3rem);margin:0 0 6px}
.zo-hper{font-family:'Cormorant Garamond',serif;font-size:1.18rem;color:var(--ink);margin:0 0 4px}
.zo-hmots{font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(231,200,132,.8);margin:0}
.zo-hero .hh-lame{flex:none;width:138px}
.zjour{max-width:860px;margin:0 auto;padding:22px 24px 16px;border:1px solid rgba(231,200,132,.2);border-radius:18px;background:linear-gradient(165deg,rgba(231,200,132,.06),rgba(15,12,24,.6));opacity:0;transition:opacity .5s}
.zjour.on{opacity:1}
.zj-row{display:flex;align-items:center;gap:20px;margin-top:14px}
.zj-card{position:relative;flex:none;display:block;width:86px;border-radius:10px;overflow:hidden;border:1px solid rgba(231,200,132,.35);box-shadow:0 10px 26px rgba(0,0,0,.45)}
.zj-card img{display:block;width:100%;aspect-ratio:3/5;object-fit:cover}
.zj-roman{position:absolute;top:5px;left:0;right:0;text-align:center;font-family:'Cinzel',serif;font-size:.66rem;letter-spacing:.18em;color:#f4e3bb;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.zj-body{flex:1;min-width:0;text-align:left}
.zj-nom{display:block;font-family:'Cinzel',serif;font-size:1.18rem;color:var(--gold);margin:3px 0 6px}
.zj-txt{font-family:'Cormorant Garamond',serif;font-size:1.12rem;line-height:1.55;color:var(--ink);margin:0}
.zj-note{font-size:.78rem;color:var(--muted);text-align:center;margin:14px 0 2px}
.zo-compat{max-width:860px;margin:0 auto;padding:24px;border:1px solid rgba(231,200,132,.18);border-radius:18px;background:linear-gradient(165deg,rgba(231,200,132,.05),rgba(15,12,24,.55))}
.zc-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.zc-row select{background:rgba(10,8,18,.65);border:1px solid rgba(231,200,132,.25);border-radius:12px;color:var(--ink);font-family:'Outfit',sans-serif;font-size:.95rem;padding:11px 14px;cursor:pointer}
.zc-x{color:var(--gold);font-size:1.1rem}
.zc-out{text-align:center;margin-top:18px}
.zc-head{font-family:'Cinzel',serif;font-size:1.1rem;letter-spacing:.05em;color:var(--ink)}
.zc-head span{color:var(--gold)}
.zc-stars{margin:8px 0 10px;letter-spacing:.3em;font-size:1.05rem}
.zc-stars i{font-style:normal;color:rgba(231,200,132,.22)}
.zc-stars i.on{color:var(--gold);text-shadow:0 0 12px rgba(231,200,132,.5)}
.zc-out p{font-family:'Cormorant Garamond',serif;font-size:1.14rem;line-height:1.6;color:var(--ink);max-width:480px;margin:0 auto}
.zc-more{margin-top:10px !important;font-size:1.02rem !important;color:var(--muted) !important}
@media(max-width:860px){.zo-grid{grid-template-columns:repeat(2,1fr)}.zo-hero{gap:22px}.zo-htxt{text-align:center}.zo-htxt h1{margin-left:auto;margin-right:auto}}
@media(max-width:480px){.zj-row{flex-direction:column;text-align:center}.zj-body{text-align:center}}
.zo-lame{flex:none;display:block;text-decoration:none}
.zo-lame .tcard{width:132px;transform:rotate(4deg);transition:transform .35s}
.zo-lame:hover .tcard{transform:rotate(1deg) translateY(-6px)}

/* ============ PILIER PLANÈTES ============ */
.zo-grid.zg-center{display:flex;flex-wrap:wrap;justify-content:center}
.zo-grid.zg-center .zo-cell{width:230px}
.zo-plink{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:rgba(231,200,132,.5);text-underline-offset:4px;transition:color .2s}
.zo-plink:hover{color:var(--gold)}

/* ============ PLANÈTES 3D (fiches /planete/) ============ */
.pl3{position:relative;width:178px;height:178px;flex:none;animation:plfloat 7s ease-in-out infinite}
@keyframes plfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.pl3 i,.pl3 span{display:block}
.pl-sphere{position:absolute;inset:0;border-radius:50%;overflow:hidden;z-index:1;background:var(--pbase);
  box-shadow:0 0 58px -6px var(--pglow), 0 14px 40px rgba(0,0,0,.45), inset -20px -16px 44px rgba(5,4,10,.55)}
.pl-bands{position:absolute;inset:0;background:var(--pbands)}
.pl-tex{position:absolute;top:0;bottom:0;left:0;width:200%;background-image:var(--ptex);background-repeat:repeat;background-size:50% 100%;animation:plspin var(--pspd,20s) linear infinite}
@keyframes plspin{to{transform:translateX(-50%)}}
/* planète « photo » : une vraie texture carrée, rendue tileable horizontalement (décalage demi-largeur
   + fondu, sans symétrie miroir), défile sous le masque rond exactement comme .pl-tex */
.pl-photo{position:absolute;top:0;bottom:0;left:0;width:400%;background-image:var(--pphoto);background-repeat:repeat-x;background-size:50% 100%;animation:plspin var(--pspd,20s) linear infinite}
.pl3.has-photo .pl-sphere{background:#160c08}
.pl-shade{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 33% 27%,rgba(255,255,255,.22),transparent 30%),
             radial-gradient(circle at 31% 30%,transparent 40%,rgba(7,5,13,.82) 92%)}
.pl-ring{position:absolute;left:50%;top:50%;width:188%;height:36%;border-radius:50%;
  transform:translate(-50%,-50%) rotate(-16deg);
  border:13px solid rgba(231,200,132,.42);
  box-shadow:0 0 0 5px rgba(231,200,132,.12), inset 0 0 0 4px rgba(176,138,82,.28), 0 0 26px rgba(231,200,132,.18)}
.pl-ring.back{z-index:0}
.pl-ring.front{z-index:2;clip-path:inset(50% 0 0 0)}
.pl3.pl-sun .pl-sphere{box-shadow:0 0 70px 6px rgba(255,158,58,.5), 0 0 130px 22px rgba(255,120,40,.22), inset -10px -8px 34px rgba(150,50,5,.35);animation:sunpulse 4.5s ease-in-out infinite}
@keyframes sunpulse{0%,100%{box-shadow:0 0 70px 6px rgba(255,158,58,.5),0 0 130px 22px rgba(255,120,40,.22),inset -10px -8px 34px rgba(150,50,5,.35)}
  50%{box-shadow:0 0 92px 14px rgba(255,170,70,.62),0 0 170px 34px rgba(255,130,45,.3),inset -10px -8px 34px rgba(150,50,5,.35)}}
.pl3.pl-sun .pl-shade{background:radial-gradient(circle at 42% 38%,rgba(255,255,235,.32),transparent 42%),radial-gradient(circle at 50% 50%,transparent 62%,rgba(140,45,5,.4) 96%)}
.pl3.pl-sun::before{content:'';position:absolute;inset:-34%;border-radius:50%;z-index:0;
  background:radial-gradient(circle,rgba(255,170,70,.28) 36%,rgba(255,140,50,.1) 58%,transparent 72%);animation:plfloat 7s ease-in-out infinite}
@media(max-width:860px){.pl3{width:148px;height:148px;margin:0 auto}}
.badge .b-sym{font-size:1.05rem;line-height:1;color:var(--gold)}

/* planètes 3D v2 : double texture, grain, réalisme */
.pl3{width:198px;height:198px}
.pl-tex2{position:absolute;top:0;bottom:0;left:0;width:200%;background-image:var(--ptex2);background-repeat:repeat;background-size:50% 100%;animation:plspin var(--pspd2,40s) linear infinite}
.pl-shade{background:radial-gradient(circle at 33% 27%,rgba(255,255,255,.24),transparent 30%),
  radial-gradient(circle at 31% 30%,transparent 36%,rgba(7,5,13,.14) 54%,rgba(7,5,13,.5) 74%,rgba(7,5,13,.88) 94%)}
.pl3.pl-sun .pl-shade{background:radial-gradient(circle at 42% 38%,rgba(255,255,235,.32),transparent 42%),radial-gradient(circle at 50% 50%,transparent 62%,rgba(140,45,5,.4) 96%)}
/* anneaux de Saturne : vrai système de bandes concentriques (B ring brillant, A ring,
   division de Cassini sombre) via un dégradé radial elliptique découpé en anneau translucide */
.pl-ring{width:196%;height:40%;border:0;box-shadow:none;border-radius:0;
  background:radial-gradient(ellipse closest-side at 50% 50%,
    #6b5132 55%, #b89461 59%, #ecd9a6 64%, #e3cb96 69%, #6e5634 72.5%,
    #cdaa6e 76%, #e0c891 82%, #b08e58 92%, #6b5132 99%);
  -webkit-mask:radial-gradient(ellipse closest-side at 50% 50%,
    transparent 53%, rgba(0,0,0,.94) 56%, rgba(0,0,0,.94) 70.5%,
    rgba(0,0,0,.28) 72.5%, rgba(0,0,0,.94) 75%, rgba(0,0,0,.8) 96%, transparent 100%);
          mask:radial-gradient(ellipse closest-side at 50% 50%,
    transparent 53%, rgba(0,0,0,.94) 56%, rgba(0,0,0,.94) 70.5%,
    rgba(0,0,0,.28) 72.5%, rgba(0,0,0,.94) 75%, rgba(0,0,0,.8) 96%, transparent 100%);
  filter:drop-shadow(0 1px 5px rgba(231,200,132,.16))}
/* le bas de la planète projette une ombre douce sur l'anneau avant */
.pl-ring.front{box-shadow:none}
.pl3:has(.pl-ring) .pl-sphere{box-shadow:0 0 58px -6px var(--pglow), 0 14px 40px rgba(0,0,0,.45), inset -20px -16px 44px rgba(5,4,10,.55), 0 6px 14px -2px rgba(0,0,0,.5)}
@media(max-width:860px){.pl3{width:154px;height:154px}}
.zf-out{font-size:1.3rem}
.zc-out p{max-width:620px}
.pl3:has(.pl-ring){margin:0 48px}
@media(max-width:860px){.pl3:has(.pl-ring){margin:0 auto}}
/* distance planète/texte selon la morphologie (anneaux, corona) */
.pl3{margin:0 28px}
.pl3.pl-sun{margin:0 64px}
.pl3:has(.pl-ring){margin:0 96px}
@media(max-width:860px){.pl3,.pl3.pl-sun,.pl3:has(.pl-ring){margin:0 auto}}

/* M1 — typo des tcards minis : scale avec la largeur réelle de la carte */
@supports (container-type:inline-size){
  .tcard{container-type:inline-size}
  .tcard.sm.has-art .nom{font-size:clamp(6.5px,7cqw,10px);bottom:clamp(13px,14.8cqw,21px)}
  .tcard.sm.has-art .nom.nlong{font-size:clamp(6px,6.3cqw,9px)}
  .tcard.sm.has-art .nom.nxl{font-size:clamp(5.5px,5.6cqw,8px)}
  .tcard.sm.has-art .roman{font-size:clamp(6.5px,7cqw,10px);top:clamp(8px,9.2cqw,13px);letter-spacing:clamp(.8px,1.05cqw,1.5px);text-indent:clamp(.8px,1.05cqw,1.5px)}
  .tcard.sm.has-art .tc-brand{font-size:clamp(3.5px,3.5cqw,5px);bottom:clamp(3.5px,3.9cqw,5.5px);letter-spacing:clamp(.6px,.8cqw,1.1px)}
  .tcard.sm.has-art .tc-frame .orn{width:clamp(14px,15.5cqw,22px);height:clamp(14px,15.5cqw,22px)}
}
/* la tcard remplit son wrapper au lieu de déborder (blocs « Sa lame ») */
.nm-row a .tcard{width:100%}

/* ============ CHECK 2 — accueil ============ */
/* le kicker remplace la pill « badge » : petites capitales encadrées de filets, sans capsule */
.badge{background:transparent;border:0;border-radius:0;padding:0;gap:10px;font-family:'Cinzel',serif;font-size:11.5px;letter-spacing:3px;color:rgba(231,200,132,.85)}
.badge::before,.badge::after{content:'';width:30px;height:1px;flex:none;align-self:center}
.badge::before{background:linear-gradient(90deg,transparent,rgba(231,200,132,.5))}
.badge::after{background:linear-gradient(90deg,rgba(231,200,132,.5),transparent)}
.badge .ico{width:13px;height:13px;opacity:.9}

/* médaillons des heures miroirs (accueil) */
.hmed-row{display:flex;flex-wrap:wrap;gap:26px 22px;justify-content:center;max-width:860px;margin:0 auto}
.hmed{display:flex;flex-direction:column;align-items:center;gap:11px;text-decoration:none;width:124px}
.hmed-ring{position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(231,200,132,.26);
  background:radial-gradient(circle at 50% 42%,rgba(155,123,224,.13),rgba(12,9,22,.65) 72%);
  box-shadow:inset 0 0 26px rgba(0,0,0,.5), 0 6px 22px rgba(0,0,0,.35);
  transition:transform .28s,border-color .28s,box-shadow .28s}
.hmed-ring::before{content:'';position:absolute;inset:6px;border-radius:50%;border:1px dashed rgba(231,200,132,.18)}
.hmed-ring::after{content:'';position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(1px 1px at 24% 30%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 72% 22%,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 80% 66%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 30% 76%,rgba(255,255,255,.45),transparent);opacity:.7}
.hmed-ring b{font-family:'Cinzel',serif;font-weight:500;font-size:21px;letter-spacing:2px;color:var(--gold-bright);text-shadow:0 0 18px rgba(231,200,132,.35);font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.hmed:hover .hmed-ring{transform:translateY(-5px);border-color:rgba(231,200,132,.55);box-shadow:inset 0 0 26px rgba(0,0,0,.5), 0 10px 30px rgba(0,0,0,.45), 0 0 24px rgba(231,200,132,.14)}
.hmed-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;line-height:1.25;color:var(--muted);text-align:center;transition:color .25s}
.hmed:hover .hmed-name{color:var(--ink)}
@media(max-width:560px){.hmed{width:104px}.hmed-ring{width:96px;height:96px}.hmed-ring b{font-size:18px}}

/* section astrologie (accueil) : chips signes */
.hz-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;max-width:860px;margin:0 auto}
.hz-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:15px 6px 12px;border:1px solid rgba(231,200,132,.13);border-radius:14px;background:linear-gradient(170deg,rgba(231,200,132,.04),rgba(20,16,31,.4));text-decoration:none;transition:transform .25s,border-color .25s}
.hz-cell:hover{transform:translateY(-3px);border-color:rgba(231,200,132,.4)}
.hz-cell i{font-style:normal;font-size:1.35rem;line-height:1;color:var(--gold);text-shadow:0 0 14px rgba(231,200,132,.3)}
.hz-cell b{font-family:'Cinzel',serif;font-weight:500;font-size:.72rem;letter-spacing:.05em;color:var(--ink)}
@media(max-width:760px){.hz-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.hz-grid{grid-template-columns:repeat(3,1fr)}}

/* puce premium dans une liste de features gratuites */
.np-plus{font-style:normal;font-family:'Cinzel',serif;font-size:9.5px;letter-spacing:1.4px;color:var(--gold);border:1px solid rgba(231,200,132,.35);border-radius:999px;padding:2.5px 8px;margin-left:7px;white-space:nowrap;vertical-align:1px}

/* prix sous le CTA premium (au lieu du bouton 2 lignes) */
.prem-price{margin-top:12px;font-size:.86rem;color:var(--muted)}
.prem-price b{color:var(--gold);font-weight:500}

/* grimoire accueil : derniers articles */
.hg-list{list-style:none;margin:18px 0 22px;padding:0;display:flex;flex-direction:column;gap:0}
.hg-list a{display:flex;align-items:baseline;gap:10px;padding:9px 2px;border-bottom:1px solid rgba(231,200,132,.12);text-decoration:none;color:var(--ink);font-family:'Cormorant Garamond',serif;font-size:1.12rem;transition:color .2s,padding-left .2s}
.hg-list a:hover{color:var(--gold);padding-left:8px}
.hg-list i{font-style:normal;color:rgba(231,200,132,.6);font-size:.8rem;flex:none}
.hg-list small{margin-left:auto;font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap}

/* footer v2 */
.foot-cols{grid-template-columns:1.6fr 1fr 1fr 1fr}
@media(max-width:880px){.foot-cols{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.foot-cols{grid-template-columns:1fr}}
.fn-msg{margin:10px 0 0;font-size:.85rem;color:var(--gold)}
.foot-base{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid rgba(231,200,132,.12);padding-top:22px;margin-top:6px}
.foot-soc{display:flex;gap:10px}
.foot-soc a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(231,200,132,.22);color:rgba(231,200,132,.8);transition:border-color .25s,color .25s,transform .25s}
.foot-soc a:hover{border-color:var(--gold);color:var(--gold-bright);transform:translateY(-2px)}
.foot-soc .ico{width:17px;height:17px}
.foot-disc{font-size:.78rem;color:var(--muted-2);max-width:640px;line-height:1.55}
.cta-duo{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}
.np-feats{grid-template-columns:1fr}

/* portes du héro : arches de grimoire */
.doors{gap:14px}
@media(max-width:560px){.doors{grid-template-columns:repeat(3,1fr);gap:10px}}
.door{align-items:center;text-align:center;gap:5px;padding:26px 10px 18px;border-radius:120px 120px 18px 18px;
  border:1px solid rgba(231,200,132,.22);background:linear-gradient(175deg,rgba(231,200,132,.07),rgba(18,14,28,.55) 70%)}
.door::after{content:'';position:absolute;inset:5px;border-radius:inherit;border:1px dashed rgba(231,200,132,.16);pointer-events:none}
.door .ico{width:22px;height:22px;margin:0 0 4px}
.door b{font-size:16.5px;font-weight:500}
.door span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13.5px}
@media(max-width:560px){
  .door{padding:20px 6px 14px;border-radius:90px 90px 14px 14px}
  .door b{font-size:13px}
  .door span{font-size:11px}
  .door .ico{width:19px;height:19px}
}
/* plus d'air entre les médaillons d'heures sur mobile */
@media(max-width:560px){.hmed-row{gap:30px 32px}}

/* portes 3D : tilt souris + profondeur + reflet holographique */
.doors{perspective:1000px}
.door{transform-style:preserve-3d;will-change:transform;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s}
.door>*{transform:translateZ(0)}
.door .ico{transform:translateZ(46px)}
.door b{transform:translateZ(32px)}
.door span{transform:translateZ(22px)}
.door::after{transform:translateZ(10px)}
.door::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:radial-gradient(230px circle at var(--gx,50%) var(--gy,40%),rgba(231,200,132,.26),rgba(155,123,224,.1) 45%,transparent 72%);
  opacity:0;transition:opacity .35s}
.door:hover{border-color:rgba(231,200,132,.55);box-shadow:0 26px 54px rgba(0,0,0,.5),0 0 34px rgba(231,200,132,.16)}
.door:hover::before{opacity:1}
@media (hover:none){
  .door{animation:doorsway 7s ease-in-out infinite}
  .door:nth-child(2){animation-delay:1.4s}
  .door:nth-child(3){animation-delay:2.8s}
}
@keyframes doorsway{0%,100%{transform:rotateY(-6deg) rotateX(1.5deg)}50%{transform:rotateY(6deg) rotateX(-1.5deg)}}

/* portes v3 : trois lames de tarot (la forme signature) */
.door{aspect-ratio:11/14.5;border-radius:13px;padding:16px 8px;align-items:center;justify-content:center;text-align:center;gap:6px;
  border:1px solid hsla(45,48%,58%,.38);
  background:radial-gradient(1px 1px at 22% 26%,rgba(255,255,255,.65),transparent),
    radial-gradient(1px 1px at 74% 38%,rgba(255,255,255,.5),transparent),
    radial-gradient(1px 1px at 38% 74%,rgba(255,255,255,.45),transparent),
    radial-gradient(1px 1px at 84% 82%,rgba(255,255,255,.5),transparent),
    radial-gradient(circle at 50% 30%,rgba(155,123,224,.14),transparent 65%),
    linear-gradient(168deg,#211a3a,#0d0a18 75%)}
.door::after{inset:7px;border-radius:9px;border:1px solid hsla(45,48%,58%,.22);border-style:solid}
.door .d-roman{font-family:'Cinzel',serif;font-size:11px;letter-spacing:3px;text-indent:3px;color:var(--gold-bright);transform:translateZ(26px)}
.door .d-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid hsla(45,48%,58%,.3);margin:2px 0;transform:translateZ(46px);background:radial-gradient(circle at 50% 38%,rgba(231,200,132,.12),transparent 70%)}
.door .ico{width:21px;height:21px;margin:0;filter:none}
.door b{font-size:16.5px;font-weight:500;transform:translateZ(32px)}
.door .d-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13.5px;color:var(--muted);transform:translateZ(22px)}
.dcrn{position:absolute;width:14px;height:14px;border:1px solid hsla(45,50%,65%,.55);transform:translateZ(12px)}
.dcrn.tl{top:8px;left:8px;border-right:0;border-bottom:0}
.dcrn.tr{top:8px;right:8px;border-left:0;border-bottom:0}
.dcrn.bl{bottom:8px;left:8px;border-right:0;border-top:0}
.dcrn.br{bottom:8px;right:8px;border-left:0;border-top:0}
@media(max-width:560px){
  .door{padding:10px 4px;gap:4px;border-radius:11px}
  .door b{font-size:12.5px}
  .door .d-sub{font-size:10.5px}
  .door .d-roman{font-size:9px;letter-spacing:2px}
  .door .d-ico{width:34px;height:34px}
  .door .ico{width:16px;height:16px}
  .dcrn{width:10px;height:10px}
  .dcrn.tl,.dcrn.tr{top:6px}.dcrn.bl,.dcrn.br{bottom:6px}
  .dcrn.tl,.dcrn.bl{left:6px}.dcrn.tr,.dcrn.br{right:6px}
}

/* portes v4 : médaillons constellation (forme neutre du site) */
@media(max-width:860px){.lead-br{display:none}}
.door{aspect-ratio:auto;padding:10px 4px 8px;border:0;background:none;box-shadow:none;gap:9px}
.door::after{content:none}
.door::before{content:none}
.door:hover{border-color:transparent;box-shadow:none}
.d-ring{position:relative;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;flex:none;
  border:1px solid rgba(231,200,132,.32);transform:translateZ(42px);
  background:radial-gradient(1px 1px at 26% 28%,rgba(255,255,255,.7),transparent),
    radial-gradient(1px 1px at 72% 22%,rgba(255,255,255,.5),transparent),
    radial-gradient(1px 1px at 80% 70%,rgba(255,255,255,.55),transparent),
    radial-gradient(1px 1px at 30% 76%,rgba(255,255,255,.4),transparent),
    radial-gradient(circle at 50% 36%,rgba(155,123,224,.16),rgba(12,9,22,.62) 74%);
  box-shadow:inset 0 0 24px rgba(0,0,0,.5), 0 8px 26px rgba(0,0,0,.35);
  transition:border-color .3s,box-shadow .3s}
.d-ring::before{content:'';position:absolute;inset:6px;border-radius:50%;border:1px dashed rgba(231,200,132,.2)}
.d-ring::after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(80px circle at var(--gx,50%) var(--gy,40%),rgba(231,200,132,.28),transparent 72%);
  opacity:0;transition:opacity .35s}
.door:hover .d-ring{border-color:rgba(231,200,132,.62);
  box-shadow:inset 0 0 24px rgba(0,0,0,.5), 0 12px 32px rgba(0,0,0,.45), 0 0 28px rgba(231,200,132,.2)}
.door:hover .d-ring::after{opacity:1}
.d-ring .ico{width:28px;height:28px;margin:0;filter:none}
@media(max-width:560px){
  .d-ring{width:76px;height:76px}
  .d-ring .ico{width:20px;height:20px}
}

/* portes v5 FINALES : les boules de cristal (choix user) */
.orb{position:relative;width:116px;height:128px;flex:none;transform:translateZ(38px)}
.ob-glass{position:absolute;top:0;left:50%;transform:translateX(-50%);width:112px;height:112px;border-radius:50%;overflow:hidden;display:block;
  background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.16),rgba(20,14,38,.4) 45%,rgba(8,5,18,.85) 80%);
  border:1px solid rgba(231,200,132,.35);
  box-shadow:inset 0 0 30px rgba(0,0,0,.6), inset 0 2px 10px rgba(255,255,255,.12), 0 0 34px rgba(155,123,224,.35), 0 12px 26px rgba(0,0,0,.5);
  animation:orbglow 4.2s ease-in-out infinite}
.ob-mist{position:absolute;inset:-22%;border-radius:50%;
  background:radial-gradient(ellipse 42% 30% at 36% 44%,rgba(155,123,224,.6),transparent 72%),
    radial-gradient(ellipse 36% 26% at 66% 60%,rgba(231,200,132,.34),transparent 70%),
    radial-gradient(ellipse 30% 24% at 52% 30%,rgba(120,90,220,.45),transparent 72%);
  animation:mistspin 9s linear infinite}
.ob-mist2{position:absolute;inset:-22%;border-radius:50%;
  background:radial-gradient(ellipse 30% 22% at 60% 36%,rgba(196,160,255,.4),transparent 70%),
    radial-gradient(ellipse 26% 20% at 34% 64%,rgba(231,200,132,.25),transparent 70%);
  animation:mistspin 13s linear infinite reverse}
.ob-spark{position:absolute;inset:0;
  background:radial-gradient(1.5px 1.5px at 30% 40%,#fff,transparent),radial-gradient(1px 1px at 64% 30%,#fff,transparent),
    radial-gradient(1.5px 1.5px at 56% 66%,#fff,transparent),radial-gradient(1px 1px at 40% 24%,#fff,transparent);
  opacity:.5;animation:obtwk 3s ease-in-out infinite alternate}
.ob-shine{position:absolute;top:10px;left:24px;width:30px;height:16px;border-radius:50%;transform:rotate(-24deg);
  background:linear-gradient(180deg,rgba(255,255,255,.5),transparent);pointer-events:none}
.ob-icz{position:absolute;inset:0;display:grid;place-items:center}
.ob-icz .ico{width:24px;height:24px;margin:0;color:var(--gold-bright);filter:drop-shadow(0 0 8px rgba(231,200,132,.65))}
.ob-base{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:74px;height:18px;border-radius:50%;display:block;
  background:radial-gradient(ellipse at 50% 30%,#3a2d58,#16102a 70%);border:1px solid rgba(231,200,132,.3);
  box-shadow:0 6px 14px rgba(0,0,0,.55)}
@keyframes mistspin{to{transform:rotate(360deg)}}
@keyframes orbglow{0%,100%{box-shadow:inset 0 0 30px rgba(0,0,0,.6),inset 0 2px 10px rgba(255,255,255,.12),0 0 30px rgba(155,123,224,.3),0 12px 26px rgba(0,0,0,.5)}
  50%{box-shadow:inset 0 0 30px rgba(0,0,0,.6),inset 0 2px 10px rgba(255,255,255,.12),0 0 52px rgba(155,123,224,.6),0 0 80px rgba(231,200,132,.18),0 12px 26px rgba(0,0,0,.5)}}
@keyframes obtwk{from{opacity:.25}to{opacity:.75}}
.door:hover .ob-glass{animation-duration:1.8s}
.door:hover .ob-mist{animation-duration:3.5s}
.door:hover .ob-mist2{animation-duration:5s}
@media(max-width:560px){
  .orb{width:88px;height:98px}
  .ob-glass{width:84px;height:84px}
  .ob-base{width:56px;height:14px}
  .ob-icz .ico{width:19px;height:19px}
  .ob-shine{top:7px;left:17px;width:22px;height:12px}
}
/* le contenu de la boule vit en 2D : sinon preserve-3d empêche le clip rond de la brume */
.orb{transform-style:flat}
.ob-glass{transform:translateX(-50%) translateZ(0);isolation:isolate}
/* boules : sortir du contexte 3D (clipping fiable) + positionnement sans transform */
.door{transform-style:flat}
.orb{transform:none}
.ob-glass{left:2px;transform:none;clip-path:circle(50% at 50% 50%)}
.ob-base{left:21px;transform:none}
@media(max-width:560px){
  .ob-glass{left:2px}
  .ob-base{left:16px}
}

/* la boule de voyance unique (portes v6 finales) */
.seer{display:flex;flex-direction:column;align-items:center;gap:12px;perspective:800px;padding:8px 0 2px}
.seer-orb{display:block;position:relative;width:190px;height:210px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.seer-orb .ob-glass{width:184px;height:184px;left:3px}
.seer-orb .ob-base{width:122px;height:24px;left:34px}
.seer-orb .ob-shine{top:16px;left:40px;width:52px;height:26px}
.sv{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(.45);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.sv.on{opacity:1;transform:scale(1)}
.sv .ico{width:36px;height:36px;margin:0;color:var(--gold-bright);filter:drop-shadow(0 0 11px rgba(231,200,132,.75))}
.seer-cap{position:relative;height:52px;width:100%}
.sc-item{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;gap:1px;opacity:0;transform:translateY(9px);transition:opacity .6s,transform .6s;pointer-events:none}
.sc-item.on{opacity:1;transform:none}
.sc-item b{font-family:var(--serif);font-size:19.5px;font-weight:600;color:var(--ink)}
.sc-item i{font-style:italic;font-family:var(--serif);font-size:13.5px;color:var(--muted)}
.seer-tabs{display:flex;gap:11px;align-items:center;font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:2px;text-transform:uppercase}
.seer-tabs s{text-decoration:none;color:rgba(231,200,132,.4)}
.seer-tabs a{color:var(--muted);transition:color .3s,text-shadow .3s;padding:4px 2px}
.seer-tabs a.on{color:var(--gold-bright);text-shadow:0 0 12px rgba(231,200,132,.45)}
.seer-tabs a:hover{color:var(--gold)}
@media(max-width:560px){
  .seer-orb{width:152px;height:170px}
  .seer-orb .ob-glass{width:146px;height:146px;left:3px}
  .seer-orb .ob-base{width:98px;height:20px;left:27px}
  .seer-orb .ob-shine{top:12px;left:30px;width:40px;height:20px}
  .sv .ico{width:29px;height:29px}
  .sc-item b{font-size:17px}
  .seer-tabs{font-size:9.5px;gap:8px}
}

/* ===== la boule de voyance v2 : verre, nébuleuse, croissant ===== */
.seer-orb{width:204px;height:226px}
.seer-orb .ob-glass{width:180px;height:180px;left:12px;top:8px;border:1px solid rgba(231,200,132,.32);
  background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.13),rgba(16,11,30,.5) 46%,#0a0716 82%);
  box-shadow:inset 0 0 34px rgba(0,0,0,.65), inset 0 3px 12px rgba(255,255,255,.1);
  animation:none}
.ob-halo{position:absolute;inset:-14% -18% 6% -18%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(155,123,224,.34) 30%,rgba(231,200,132,.12) 55%,transparent 72%);
  animation:halobr 5s ease-in-out infinite}
@keyframes halobr{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}
.ob-neb{position:absolute;inset:-28%;border-radius:50%}
.ob-neb.n1{background:radial-gradient(ellipse 34% 26% at 34% 42%,rgba(155,123,224,.62),transparent 70%),
  radial-gradient(ellipse 26% 20% at 64% 30%,rgba(91,70,192,.55),transparent 72%),
  radial-gradient(ellipse 22% 18% at 50% 68%,rgba(155,123,224,.4),transparent 70%);
  animation:mistspin 11s linear infinite}
.ob-neb.n2{background:radial-gradient(ellipse 30% 22% at 62% 56%,rgba(231,200,132,.4),transparent 70%),
  radial-gradient(ellipse 20% 16% at 36% 64%,rgba(228,182,255,.3),transparent 70%),
  radial-gradient(ellipse 24% 18% at 70% 36%,rgba(192,132,224,.35),transparent 72%);
  animation:mistspin 17s linear infinite reverse}
.ob-neb.n3{background:radial-gradient(ellipse 40% 30% at 50% 50%,rgba(64,46,120,.5),transparent 74%),
  radial-gradient(ellipse 18% 14% at 28% 30%,rgba(231,200,132,.25),transparent 70%);
  animation:mistspin 25s linear infinite}
.ob-drift{position:absolute;inset:0;opacity:.8;
  background-image:radial-gradient(1.6px 1.6px at 24% 36%,#fff,transparent),radial-gradient(1px 1px at 66% 24%,#fff,transparent),
    radial-gradient(1.4px 1.4px at 58% 70%,#fff,transparent),radial-gradient(1px 1px at 38% 18%,#fff,transparent),
    radial-gradient(1.2px 1.2px at 80% 52%,#fff,transparent),radial-gradient(1px 1px at 16% 62%,#fff,transparent);
  background-size:200% 200%;animation:obdrift 26s linear infinite alternate, obtwk 3.4s ease-in-out infinite alternate}
@keyframes obdrift{from{background-position:0% 0%}to{background-position:100% 100%}}
.ob-core{position:absolute;inset:0;display:block;
  background:radial-gradient(circle at 50% 52%,rgba(255,240,205,.5) 0%,rgba(231,200,132,.22) 17%,transparent 38%);
  animation:corepulse 3.2s ease-in-out infinite}
@keyframes corepulse{0%,100%{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}
.ob-depth{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 50% 46%,transparent 42%,rgba(8,5,16,.34) 72%,rgba(8,5,16,.7) 96%)}
.ob-rimlight{position:absolute;inset:0;border-radius:50%;
  box-shadow:inset 0 -16px 26px -14px rgba(155,123,224,.65), inset 0 -3px 7px -2px rgba(228,210,255,.4), inset 0 4px 10px -4px rgba(255,255,255,.25)}
.seer-orb .ob-shine{top:14px;left:34px;width:58px;height:30px;transform:rotate(-26deg);
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.06) 70%,transparent)}
.ob-spec{position:absolute;top:30px;left:42px;width:7px;height:7px;border-radius:50%;background:#fff;
  box-shadow:0 0 10px 2px rgba(255,255,255,.85);opacity:.9}
.ob-moon{position:absolute;bottom:2px;left:50%;margin-left:-75px;width:150px;pointer-events:none;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.6)) drop-shadow(0 0 14px rgba(231,200,132,.25))}
.ob-moon svg{display:block;width:100%}
.ob-shadow{position:absolute;bottom:-4px;left:50%;margin-left:-66px;width:132px;height:18px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%)}
.ob-orbit{position:absolute;inset:6px 10px 30px 10px;pointer-events:none;transform:rotate(-14deg) scaleY(.5)}
.ob-orbit i{position:absolute;top:-7px;left:50%;font-style:normal;color:var(--gold-bright);
  text-shadow:0 0 10px rgba(231,200,132,.9)}
.ob-orbit.o1{animation:orbspin 12s linear infinite}
.ob-orbit.o1 i{font-size:13px}
.ob-orbit.o2{transform:rotate(16deg) scaleY(.46);animation:orbspin 19s linear infinite reverse}
.ob-orbit.o2 i{font-size:10px;opacity:.85}
@keyframes orbspin{to{transform:rotate(-14deg) scaleY(.5) rotate(360deg)}}
.ob-orbit.o2{animation-name:orbspin2}
@keyframes orbspin2{from{transform:rotate(16deg) scaleY(.46) rotate(0)}to{transform:rotate(16deg) scaleY(.46) rotate(-360deg)}}
.sv .ico{filter:drop-shadow(0 0 11px rgba(231,200,132,.75)) drop-shadow(0 0 26px rgba(231,200,132,.4))}
@media(max-width:560px){
  .seer-orb{width:164px;height:184px}
  .seer-orb .ob-glass{width:146px;height:146px;left:9px;top:6px}
  .ob-moon{width:122px;margin-left:-61px}
  .ob-shadow{width:106px;margin-left:-53px}
  .seer-orb .ob-shine{top:11px;left:26px;width:44px;height:22px}
  .ob-spec{top:23px;left:32px;width:5px;height:5px}
}

/* boule v3 : brume volumétrique fluide + transition par flash (zéro saut de phase) */
.ob-neb{filter:blur(8px);will-change:transform}
.ob-neb.n1{animation-duration:26s}
.ob-neb.n2{animation-duration:38s}
.ob-neb.n3{animation-duration:55s}
.ob-drift{animation-duration:48s, 3.4s}
.ob-core{filter:blur(3px)}
.seer-orb .ob-glass{border-color:rgba(231,200,132,.2)}
.ob-depth{background:radial-gradient(circle at 50% 42%,transparent 34%,rgba(8,5,16,.3) 62%,rgba(5,3,12,.62) 82%,rgba(4,2,10,.9) 98%)}
.seer-orb .ob-shine{top:9px;left:26px;width:76px;height:48px;transform:rotate(-18deg);
  background:radial-gradient(ellipse 62% 48% at 36% 28%,rgba(255,255,255,.42),rgba(255,255,255,.07) 58%,transparent 76%)}
.ob-rimlight{box-shadow:inset 0 -18px 30px -16px rgba(155,123,224,.6), inset 0 -2px 6px -1px rgba(228,210,255,.34),
  inset 0 5px 12px -5px rgba(255,255,255,.22), inset 0 0 0 1px rgba(255,255,255,.04)}
.ob-flash{position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .9s ease;
  background:radial-gradient(circle at 50% 48%,rgba(255,242,210,.5) 0%,rgba(231,200,132,.25) 30%,rgba(155,123,224,.12) 55%,transparent 75%)}
.ob-glass.surge .ob-flash{opacity:1;transition:opacity .22s ease}

/* la boule-oracle libre (sans cadre) : piédestal, sol lumineux, particules */
.seer-solo{padding:22px 0 0;gap:14px}
.ob-orbit{display:none}
.ob-moon{display:none}
.ob-stand{position:absolute;bottom:0;left:50%;margin-left:-75px;width:150px;pointer-events:none;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.65)) drop-shadow(0 0 16px rgba(231,200,132,.18))}
.ob-stand svg{display:block;width:100%}
.seer-orb{width:204px;height:238px}
.seer-orb .ob-glass{top:14px}
.ob-shadow{bottom:-6px}
.ob-ground{position:absolute;bottom:-18px;left:50%;width:230px;margin-left:-115px;height:44px;border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse,rgba(155,123,224,.26),rgba(231,200,132,.07) 55%,transparent 76%);
  animation:halobr 5s ease-in-out infinite}
.ob-motes{position:absolute;inset:0;pointer-events:none}
.ob-motes i{position:absolute;bottom:34px;width:3px;height:3px;border-radius:50%;background:var(--gold-bright);
  box-shadow:0 0 7px rgba(231,200,132,.9);opacity:0;animation:mote 7s linear infinite}
.ob-motes i:nth-child(1){left:12%;animation-delay:0s;--mx:14px}
.ob-motes i:nth-child(2){left:84%;animation-delay:1.3s;--mx:-10px}
.ob-motes i:nth-child(3){left:4%;animation-delay:2.6s;--mx:8px;width:2px;height:2px}
.ob-motes i:nth-child(4){left:93%;animation-delay:3.4s;--mx:-16px;width:2px;height:2px}
.ob-motes i:nth-child(5){left:22%;animation-delay:4.2s;--mx:-8px}
.ob-motes i:nth-child(6){left:74%;animation-delay:5.1s;--mx:12px;width:2.5px;height:2.5px}
.ob-motes i:nth-child(7){left:50%;animation-delay:5.9s;--mx:18px;width:2px;height:2px}
@keyframes mote{0%{transform:translate(0,0);opacity:0}10%{opacity:.95}80%{opacity:.5}100%{transform:translate(var(--mx,10px),-170px);opacity:0}}
.seer-line{text-align:center}
.seer-line b{display:block;font-family:var(--serif);font-size:21px;font-weight:600;color:var(--ink)}
.seer-line i{display:block;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--muted);margin-top:1px}
@media(max-width:560px){
  .seer-orb{width:170px;height:200px}
  .seer-orb .ob-glass{width:150px;height:150px;left:10px;top:12px}
  .ob-stand{width:126px;margin-left:-63px}
  .ob-ground{width:190px;margin-left:-95px}
  .seer-line b{font-size:18px}
}

/* héro final : le rituel carte du jour, tout simplement */
.hero-cta{margin-top:30px}
.btn.xl{font-size:16.5px;padding:15px 28px;border-radius:999px}
.btn.xl .ico{width:19px;height:19px}
.hc-sub{margin-top:11px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14.5px;color:var(--muted)}
@media(max-width:860px){.hero-cta{text-align:center}}
.hero-cta{display:block}
/* voile de lecture profonde (tirages Arkarma+) */
.rl-gate{margin-top:18px}
.rl-gate .ens-blur .read-card{pointer-events:none}
.ens-keep{font-size:.82rem;color:var(--muted);margin-top:4px}

/* récap de tirage : toutes les lames à plat, côte à côte */
.rc-flat{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;align-items:stretch;max-width:860px;margin:0 auto}
.read-card.rc-col{flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:0;padding:20px 16px}
.rc-col .rc-body{display:flex;flex-direction:column;align-items:center;gap:4px}
.rc-col .rc-link{margin-top:2px}
@media(max-width:560px){.rc-flat{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.read-card.rc-col{padding:14px 10px}}

/* la lettrine n'a pas sa place sur l'intro courte des lectures */
#interp .oracle > p:first-of-type::first-letter,
.interp .oracle > p:first-of-type::first-letter{float:none;font-size:inherit;color:inherit;padding:0;line-height:inherit}

/* l'incipit de la lecture : la voix de l'oracle, en exergue */
#interp > .oracle:first-of-type > p:first-child,
.interp > .oracle:first-of-type > p:first-child{
  font-family:var(--serif);font-style:italic;font-size:21.5px;line-height:1.55;
  text-align:center;color:#f0e6d7;max-width:540px;margin:2px auto 20px}
#interp > .oracle:first-of-type > p:first-child::before,
.interp > .oracle:first-of-type > p:first-child::before{
  content:'✦';display:block;font-style:normal;font-size:13px;color:var(--gold);
  text-shadow:0 0 12px rgba(231,200,132,.5);margin-bottom:10px}
@media(max-width:560px){
  #interp > .oracle:first-of-type > p:first-child,
  .interp > .oracle:first-of-type > p:first-child{font-size:18.5px}
}

/* la lecture est une page du grimoire */
.lecture-page{margin:6px auto 26px}
.lecture-page .blog-body{position:relative;z-index:2}
.lecture-incipit{font-family:var(--serif);font-style:italic;font-size:21.5px;line-height:1.55;text-align:center;color:#f0e6d7;max-width:560px;margin:0 auto 26px}
.lecture-incipit::before{content:'✦';display:block;font-style:normal;font-size:13px;color:var(--gold);text-shadow:0 0 12px rgba(231,200,132,.5);margin-bottom:10px}
.lecture-page .o-t{justify-content:center;text-align:center}
.lecture-page .blog-body > p, .lecture-page .blog-body .o-t + p{font-size:17px;line-height:1.8}
.lecture-page .oracle-advice{margin-top:26px}
.lecture-page .oracle-ange{margin-top:22px}
@media(max-width:560px){
  .lecture-page{padding:34px 22px 28px}
  .lecture-incipit{font-size:18.5px}
}
/* titres de sections de la page de lecture : petites capitales dorées centrées + filets */
.lecture-page .o-t{display:flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Cinzel',serif;font-weight:500;font-size:12.5px;letter-spacing:2.6px;text-transform:uppercase;
  color:var(--gold);margin:32px 0 14px;text-align:center}
.lecture-page .o-t::before,.lecture-page .o-t::after{content:'';width:44px;height:1px;flex:none}
.lecture-page .o-t::before{background:linear-gradient(90deg,transparent,rgba(231,200,132,.45))}
.lecture-page .o-t::after{background:linear-gradient(90deg,rgba(231,200,132,.45),transparent)}
.lecture-page .o-t .lsec-orn{font-size:11px}
.lecture-page .blog-body p{margin:0 0 16px}
.lecture-incipit{margin-bottom:8px}
/* sobriété : l'incipit se distingue par sa typographie, pas par une étoile de plus */
.lecture-incipit::before{content:none}
.lecture-page .gp-fin{letter-spacing:0;font-size:13px;opacity:.7}
/* l'incipit garde sa mise en scène malgré les règles génériques de .blog-body p */
.lecture-page .blog-body p.lecture-incipit{
  font-family:var(--serif);font-style:italic;font-size:21.5px;line-height:1.55;
  text-align:center;color:#f0e6d7;max-width:560px;margin:2px auto 22px}
@media(max-width:560px){.lecture-page .blog-body p.lecture-incipit{font-size:18.5px}}
.rc-div{max-width:860px;margin:34px auto 26px}
/* titre du récap : symbole carte devant, sans étoiles */
.rc-title{display:flex;align-items:center;justify-content:center;gap:9px;max-width:860px;margin:36px auto 22px}
.rc-title::after{content:none}
.rc-title .ico{width:17px;height:17px;color:var(--gold)}

/* relecture : les lames tirees accompagnent la page — eventail en ABSOLU (centrage garanti) */
.lect-duo{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:start}
.lect-cards{position:sticky;top:96px;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:12px}
.lfan{position:relative;width:250px;height:248px;margin:0 auto}
.lfan .lf{position:absolute;top:10px;left:50%;width:138px;margin-left:-69px;display:block}
.lfan .lf .tcard.sm{width:138px}
.lfan.n1 .c0{transform:rotate(-3deg)}
.lfan.n2 .c0{transform:translateX(-34px) rotate(-8deg)}
.lfan.n2 .c1{transform:translateX(34px) rotate(8deg)}
.lfan.n3 .c0{transform:translateX(-56px) rotate(-11deg) translateY(8px)}
.lfan.n3 .c1{z-index:2}
.lfan.n3 .c2{transform:translateX(56px) rotate(11deg) translateY(8px)}
.lfan.n4 .c0{transform:translateX(-74px) rotate(-14deg) translateY(12px)}
.lfan.n4 .c1{transform:translateX(-25px) rotate(-5deg);z-index:2}
.lfan.n4 .c2{transform:translateX(25px) rotate(5deg);z-index:2}
.lfan.n4 .c3{transform:translateX(74px) rotate(14deg) translateY(12px)}
.lf.lfrev .tcard{transform:rotate(180deg)}
.lfan-more{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--muted);margin:2px 0 0;text-align:center}
@media(max-width:860px){
  .lect-duo{grid-template-columns:1fr;gap:6px}
  .lect-cards{position:static;padding-top:0}
  .lfan{width:210px;height:206px}
  .lfan .lf{width:112px;margin-left:-56px;top:8px}
  .lfan .lf .tcard.sm{width:112px}
  .lfan.n2 .c0{transform:translateX(-28px) rotate(-8deg)}
  .lfan.n2 .c1{transform:translateX(28px) rotate(8deg)}
  .lfan.n3 .c0{transform:translateX(-46px) rotate(-11deg) translateY(7px)}
  .lfan.n3 .c2{transform:translateX(46px) rotate(11deg) translateY(7px)}
  .lfan.n4 .c0{transform:translateX(-60px) rotate(-14deg) translateY(10px)}
  .lfan.n4 .c1{transform:translateX(-20px) rotate(-5deg)}
  .lfan.n4 .c2{transform:translateX(20px) rotate(5deg)}
  .lfan.n4 .c3{transform:translateX(60px) rotate(14deg) translateY(10px)}
}

/* lecture : retouches user — air sous les cartes, pas de tranche de livre, conseil en or */
.lect-duo{gap:28px}
.lecture-page::after{content:none}
.lecture-page .oracle-advice{
  background:linear-gradient(135deg,#f2dca6,#d3ab6c 85%);
  border:1px solid rgba(255,242,214,.55);
  box-shadow:0 10px 26px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,250,235,.5)}
.lecture-page .oracle-advice p{color:#33240a}
.lecture-page .oracle-advice .oa-t{color:#241804}
.lecture-page .oracle-advice .ico{color:#7c5e2c;filter:none}
@media(max-width:860px){
  .lect-duo{gap:26px}
}

/* conseil v2 : l'or en écrin (cadre double + lueur), pas en aplat */
.lecture-page .oracle-advice{
  background:radial-gradient(120% 130% at 50% 0%,rgba(231,200,132,.12),rgba(17,12,28,.92) 62%);
  border:1px solid rgba(231,200,132,.55);position:relative;
  box-shadow:0 10px 26px rgba(0,0,0,.35), 0 0 26px rgba(231,200,132,.14);
  padding:20px 24px}
.lecture-page .oracle-advice::before{content:'';position:absolute;inset:5px;border:1px dashed rgba(231,200,132,.3);border-radius:inherit;pointer-events:none}
.lecture-page .oracle-advice p{color:#f1e7d2}
.lecture-page .oracle-advice .oa-t{color:var(--gold-bright)}
.lecture-page .oracle-advice .ico{color:var(--gold-bright);filter:drop-shadow(0 0 7px rgba(231,200,132,.5))}
/* l'incipit respire en haut de page */
.lecture-page .blog-body p.lecture-incipit{margin-top:14px}

/* anti-pan iOS : rien ne dépasse, et ce qui dépasserait est durement clippé */
html{overflow-x:clip}
body{overflow-x:clip}
@media(max-width:560px){
  .felt3d{width:min(400px,86vw)}
}

/* les blocs « lame » ne s'étirent jamais au-delà de leur colonne (mobile) */
.num-mirror,.natifs-block{max-width:100%}
.nm-row{min-width:0}
.nm-txt{min-width:0}
.nm-txt .gold-link{white-space:normal !important}
@media(max-width:600px){
  .nm-row{flex-direction:column;align-items:center;text-align:center;gap:14px}
  .nm-txt{text-align:center}
}
/* les en-têtes de boîtes se compriment au lieu de pousser leur conteneur */
.invok-head{white-space:normal;text-align:center;min-width:0}

/* le voile « année complète » reste compact : pas 12 mois de flou avant le CTA */
.ym-wrap.gated{position:relative;max-height:540px;overflow:hidden}
.ym-wrap.gated::after{content:'';position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;
  background:linear-gradient(180deg,transparent,#0a0716 86%)}
@media(max-width:600px){.ym-wrap.gated{max-height:430px}}
/* le kicker du thème ne colle plus aux fleurons d'angle */
.ntheme-doc .ntd-head{padding-top:18px}

/* mobile : sous-titres ✦ — les étoiles se font face sur la même ligne, le texte wrappe entre elles */
@media(max-width:600px){
  .tir-sec,.lsec-t,.lecture-page .o-t{display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:center;line-height:1.45;padding:0 2px}
  .tir-sec::before,.tir-sec::after,.lsec-t::before,.lsec-t::after,
  .lecture-page .o-t::before,.lecture-page .o-t::after{content:none}
  .tir-sec .lsec-orn,.lsec-t .lsec-orn,.o-t .lsec-orn{flex:none}
  .tir-sec.solo{justify-content:center}
  .rc-title{justify-content:center} /* icône + titre groupés au centre, pas écartés */
  .tir-sec,.lsec-t,.lecture-page .o-t,.faq-title{text-wrap:balance;text-align:center}
}
/* conteneur du smart CAPTCHA Clerk (prod) — invisible tant que rien n'y est monté */
#clerk-captcha:empty{display:none}
#clerk-captcha{margin:10px 0;display:flex;justify-content:center}
/* pills de complétion du domaine email (modale compte) */
.am-pills{display:none;gap:7px;margin:10px 0 0;grid-template-columns:repeat(3,1fr)}
.am-pills.show{display:grid}
.am-pill{background:rgba(243,238,255,.04);border:1px solid rgba(231,200,132,.22);color:var(--muted);
  font-family:inherit;font-size:12px;padding:8px 6px;border-radius:999px;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;
  opacity:0;animation:amPillIn .3s ease forwards;transition:border-color .16s,color .16s,box-shadow .16s}
.am-pill:nth-child(2){animation-delay:.04s}.am-pill:nth-child(3){animation-delay:.08s}
.am-pill:nth-child(4){animation-delay:.12s}.am-pill:nth-child(5){animation-delay:.16s}.am-pill:nth-child(6){animation-delay:.2s}
@keyframes amPillIn{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.am-pill:hover{border-color:var(--gold,#e7c884);color:var(--gold,#e7c884);box-shadow:0 0 14px rgba(231,200,132,.18)}
/* page suivi : une seule largeur de contenu (860), comme partout */
.suivi-page>*:not(.sec-head){max-width:860px;margin-left:auto;margin-right:auto}
/* retour de paiement : bandeau d'activation */
.abo-wait{max-width:760px;margin:0 auto 18px;padding:14px 20px;border:1px solid rgba(231,200,132,.4);border-radius:14px;
  background:linear-gradient(150deg,rgba(231,200,132,.10),rgba(155,123,224,.07));color:var(--gold-bright);
  text-align:center;font-size:14.5px;box-shadow:0 0 24px rgba(231,200,132,.10);text-wrap:balance}
.abo-spin{display:inline-block;animation:aboSpin 2.2s linear infinite;margin-right:6px}
@keyframes aboSpin{to{transform:rotate(360deg)}}
/* page premium côté membre : une seule card centrée */
.plans-solo{grid-template-columns:min(430px,100%);justify-content:center}
/* pages légales */
.foot-legal{margin:6px 0 0;font-size:12px;color:var(--muted)}
.foot-legal a{color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(169,159,196,.3)}
.foot-legal a:hover{color:var(--gold-bright);border-color:var(--gold-soft)}
.legal-page .blog-body p{font-size:15px}
.legal-maj{margin-top:30px;font-size:12.5px;color:var(--muted);font-style:italic;text-align:center}
/* bandeau de consentement (mesure d'audience) */
#arkConsent{position:fixed;left:50%;bottom:16px;transform:translate(-50%,calc(100% + 30px));z-index:300;
  width:min(560px,calc(100vw - 24px));padding:18px 20px 16px;border-radius:16px;
  background:linear-gradient(165deg,rgba(29,20,48,.97),rgba(18,12,34,.98));border:1px solid rgba(231,200,132,.32);
  box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 30px rgba(231,200,132,.07);backdrop-filter:blur(14px);
  opacity:0;transition:transform .45s cubic-bezier(.2,.7,.3,1),opacity .4s}
#arkConsent.show{transform:translate(-50%,0);opacity:1}
.ack-t{margin:0;font-size:13.5px;line-height:1.6;color:var(--muted)}
.ack-t a{color:var(--gold-bright);text-decoration:none;border-bottom:1px solid rgba(231,200,132,.4)}
.ack-star{color:var(--gold-bright);margin-right:2px}
.ack-btns{display:flex;gap:10px;margin-top:13px}
.ack-btns .btn{flex:1;padding:10px 14px;font-size:13.5px;justify-content:center;text-align:center}
/* tirage premium en compte gratuit : la lame reste face cachée, scellée */
.veil-seal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(18,12,34,.85);border:1px solid rgba(231,200,132,.45);color:var(--gold-bright);
  box-shadow:0 0 18px rgba(231,200,132,.25);pointer-events:none}
.veil-seal svg{width:16px;height:16px;display:block}

/* nav entre lames : chiffres pleine hauteur (le 0 du Mat ressemblait à un o) + miroir propre */
.lnav-t,.la-roman{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.lnav.next .lnav-t{align-items:flex-end}

/* fiche signe mobile : la lame du héros est masquée (elle revient plus bas), compat en colonne */
@media(max-width:600px){
  .zo-hero .zo-lame{display:none}
  .zc-row{flex-direction:column;gap:10px}
  .zc-row select{width:100%;max-width:300px;text-align:center}
}

/* footer : ligne copyright discrète */
.foot-copy{margin:6px 0 0;font-size:11.5px;color:var(--muted-2);letter-spacing:.3px}
/* finder horoscope sans bouton : le champ date s'affiche large et centré */
.zf-row input[type=date]{min-width:230px}

/* ANTI-ORPHELIN : équilibrer titres et sous-titres pour éviter un seul mot en 2e ligne.
   text-wrap:balance ne s'applique qu'aux blocs courts (≤6 lignes), donc sans risque sur le reste. */
h1,h2,h3,.grad-t,.sec-head p,.hc-sub,.zo-hper,.zo-hmots,.nc-intro,.tir-sub,.am-sub,
.plan-was,.plan-alt,.lecture-incipit,.zf-out,.zo-per,.zo-el,.share-sub,.np-feats,.hub-foot,
.zc-head,.zc-more,.tf-hero-txt .tf-p{text-wrap:balance}
.zo-hper{text-wrap:normal}
.blog-body p,.rc-txt,.ld-txt,.tf-p,.faq-a,.legal-page .blog-body p{text-wrap:pretty}
.zo-hper .nw{white-space:nowrap}

/* ARTICLES DU GRIMOIRE sur mobile : le cadre « livre » devient le décor de fond
   (fond violet du site + ornements d'angles), le texte respire en pleine largeur.
   On retire la carte (fond/bordure/ombre) et la bande dorée à droite. */
@media(max-width:760px){
  .blog-wrap{padding-inline:14px}
  .blog-article.grim-page{background:linear-gradient(170deg,#1d1632,#130e20 80%);
    box-shadow:none;border-radius:0;max-width:none;margin-inline:-14px;padding:34px 16px 26px}
  .blog-article.grim-page::before,
  .blog-article.grim-page::after{display:none}
  .blog-article .gp-frame{inset:6px}
}

.univ-tabs .ut .ico{width:15px;height:15px;flex:none}

/* compatibilité numérologique de couple (feature Arkarma+ dédiée) */
.couple-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:720px;margin:0 auto}
@media(max-width:600px){.couple-form{grid-template-columns:1fr}}
.cf-person{background:var(--glass);border:1px solid var(--line);border-radius:22px;padding:26px 24px;backdrop-filter:blur(12px)}
.cf-h{display:flex;align-items:center;justify-content:center;gap:9px;font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.cf-h .ico{width:15px;height:15px}
.couple-out{max-width:980px;margin:24px auto 0}
.couple-doc .cr-pair{margin:18px auto 0}
.cr-bigstars{text-align:center;font-size:1.45rem;margin:14px 0 0}
.cr-verdict{text-align:center;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--gold-bright);letter-spacing:.02em;margin:4px 0 0}
.nth-figs{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:24px 0 4px}
@media(max-width:760px){.nth-figs{gap:14px}}
.cr-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 32px;max-width:600px;margin:24px auto 2px}
.cr-bar{display:flex;align-items:center;justify-content:space-between;gap:14px}
.crb-k{font-size:13px;color:var(--gold-soft);letter-spacing:.02em}
.zc-stars.cr-mini{font-size:.82rem;letter-spacing:.16em;margin:0;white-space:nowrap}
.cr-sub{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:15px 0 6px}
.oracle.ncap>p:first-of-type::first-letter{float:none;font-size:inherit;color:inherit;padding:0;line-height:inherit}
@media(max-width:600px){.cr-bars{grid-template-columns:1fr;gap:7px}}

/* ---------- sélecteur de date « roue » ---------- */
.awheel-trig{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:13px 14px;color:var(--ink);font-family:var(--sans);font-size:15px;cursor:pointer;-webkit-appearance:none;appearance:none}
.awheel-trig:hover,.awheel-trig:focus-visible{border-color:var(--gold-soft);outline:none}
.awt-ic{width:18px;height:18px;color:var(--gold-soft);flex:none}
.awt-ph{color:var(--muted)}
.awt-val{color:var(--ink)}
.awheel-ov{position:fixed;inset:0;z-index:1200;background:rgba(4,3,10,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center}
@media(min-width:640px){.awheel-ov{align-items:center}}
.awheel-sheet{width:100%;max-width:440px;background:#0d0a18;border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;padding:4px 14px 26px;animation:awUp .26s cubic-bezier(.2,.7,.3,1) both}
@media(min-width:640px){.awheel-sheet{border-bottom:1px solid var(--line);border-radius:22px}}
@keyframes awUp{from{transform:translateY(28px);opacity:.4}to{transform:none;opacity:1}}
.awheel-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 2px 6px}
.aws-cancel,.aws-ok{background:none;border:0;font-family:var(--sans);font-size:15px;cursor:pointer;padding:11px 10px;min-height:44px}
.aws-cancel{color:var(--muted)}
.aws-ok{color:var(--gold-bright);font-weight:600}
.aws-title{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.awheel{position:relative;display:grid;grid-template-columns:.7fr 1.5fr 1fr;height:220px;overflow:hidden;touch-action:pan-y}
.awheel-band{position:absolute;left:4px;right:4px;top:50%;transform:translateY(-50%);height:40px;border-top:1px solid hsla(45,48%,58%,.4);border-bottom:1px solid hsla(45,48%,58%,.4);background:hsla(45,48%,58%,.07);border-radius:9px;pointer-events:none;z-index:1}
.awheel::before,.awheel::after{content:"";position:absolute;left:0;right:0;height:84px;z-index:2;pointer-events:none}
.awheel::before{top:0;background:linear-gradient(#0d0a18 12%,rgba(13,10,24,0))}
.awheel::after{bottom:0;background:linear-gradient(rgba(13,10,24,0),#0d0a18 88%)}
.awheel-col{overflow-y:scroll;scroll-snap-type:y mandatory;padding:90px 0;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
.awheel-col::-webkit-scrollbar{display:none}
.awheel-col:focus-visible{outline:2px solid var(--gold-soft);outline-offset:-2px;border-radius:10px}
.awheel-item{height:40px;line-height:40px;scroll-snap-align:center;text-align:center;font-family:var(--serif);font-size:19px;color:var(--muted-2);cursor:pointer;transition:color .15s,font-size .15s,opacity .15s;-webkit-user-select:none;user-select:none}
.awheel-item.sel{color:var(--gold-bright);font-size:22px;font-weight:500}
.couple-report{border:1px solid rgba(231,200,132,.2);border-radius:18px;padding:26px 22px;background:linear-gradient(165deg,rgba(231,200,132,.05),rgba(15,12,24,.55));text-align:center}
.cr-pair{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:6px}
.cr-card{display:flex;flex-direction:column;align-items:center;gap:4px}
.cr-card b{font-family:var(--serif);font-size:1.15rem;color:var(--ink)}
.cr-card span{font-size:.82rem;color:var(--gold-soft)}
.cr-amp{font-family:var(--serif);font-size:1.5rem;color:var(--gold)}
.cr-main{font-family:'Cormorant Garamond',serif;font-size:1.16rem;line-height:1.7;color:var(--ink);margin:14px auto;max-width:560px}
.cr-commun{color:var(--gold-bright);margin:14px auto;max-width:560px}
.cr-line{color:var(--muted);margin:10px auto;line-height:1.6;max-width:560px}
.couple-cta{display:flex;align-items:center;gap:16px;max-width:560px;margin:30px auto 0;padding:18px 20px;
  border:1px solid rgba(231,200,132,.3);border-radius:18px;text-decoration:none;
  background:linear-gradient(135deg,rgba(231,200,132,.1),rgba(155,123,224,.06));transition:transform .2s,box-shadow .2s,border-color .2s}
.couple-cta:hover{transform:translateY(-2px);border-color:var(--gold-bright);box-shadow:0 12px 30px rgba(231,200,132,.16)}
.cc-ic{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(231,200,132,.15);color:var(--gold-bright)}
.cc-ic .ico{width:21px;height:21px}
.cc-txt{flex:1;display:flex;flex-direction:column;gap:5px;text-align:left;min-width:0}
.cc-title{font-family:var(--serif);font-size:17px;color:var(--gold-bright);font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.2}
.cc-txt i{font-style:normal;font-size:13px;color:var(--muted);line-height:1.45}
.cc-arrow{flex:none;width:20px;height:20px;color:var(--gold-soft);transition:transform .2s}
.couple-cta:hover .cc-arrow{transform:translateX(3px)}
@media(max-width:480px){.cc-arrow{display:none}}
/* BADGE ARKARMA+ unique (pill doré rempli) — utilisé partout */
.ark-plus,span.ark-plus{display:inline-block;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:#1a1206;background:linear-gradient(135deg,var(--gold-bright),var(--gold-soft));padding:3px 9px;border-radius:999px;vertical-align:middle;white-space:nowrap;line-height:1.5}
.nc-hint{color:var(--muted);font-style:italic}
/* ACCESSIBILITÉ MOBILE : tout champ saisissable >=16px, sinon Safari iOS zoome
   automatiquement au focus et la page saute. Placé en fin de feuille pour
   l'emporter sur les valeurs locales (15,5/15/14,5/14px / .95rem). */
.qbox input,.field input,.pg-form input,.am-card input,.up-edit input,.zf-row input[type=date],.zc-row select{font-size:16px}
