/* =================================================================
   GRIMORIUM - Univers RUNES & FUTHARK
   « Pierre runique gravée » - l'oracle des runes nordiques
   Skin de la rubrique Runes. Garde l'ADN de marque (logo GRIMORIUM
   + baseline, duo Garamond, OR de marque, petites capitales
   .eyebrow/.kicker, filets à losange .rule, structure des pages) -
   habillage : BASALTE chaud (pierre sombre brun-gris), runes GRAVÉES
   peintes au ROUGE SANG-DE-BŒUF & OCRE (comme les vraies pierres
   runiques), LICHEN/MOUSSE, entrelacs nordiques. Aucun violet.

   Scope : tout est préfixé .univers-runes → poser sur <body> :
     body.univers-runes glow-mid
   Lueur des runes gravées : .glow-off · .glow-low · .glow-mid (défaut) · .glow-high
   Densité de la texture pierre : .tex-1 · .tex-2 (défaut) · .tex-3
   En prod WordPress : charger cette feuille UNIQUEMENT sur /runes/.
   Tout l'habillage est du CODE (CSS + SVG dessinés main) - aucune image tierce.
   ================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* =======================================================
   TOKENS
   ======================================================= */
.univers-runes{
  /* - basalte / pierre chaude - */
  --stone:#191510;          /* basalte chaud brun-gris (fond) */
  --stone-2:#241d16;        /* panneaux */
  --stone-3:#100c08;        /* pierre profonde */
  --granite:#2f271d;        /* granit éclairci */
  --granite-2:#3a3024;
  /* - or de marque - */
  --gold-1:#bf9b50;
  --gold-2:#8c7232;
  --gold-soft:#e3c987;
  /* - ocre & mousse (terre) - */
  --ochre:#c2873b;
  --ochre-soft:#ddab63;
  --moss:#7c8550;
  --moss-soft:#a6b074;
  --moss-dim:#646a45;
  /* - texte (os / parchemin chaud) - */
  --text-c:#cabfa6;
  --cream:#f0e7d2;
  --muted:#938468;
  --dim:#665b46;

  /* - ACCENT unique (rouge sang-de-bœuf des runes gravées) - */
  --accent:#b14430;
  --accent-soft:#d97a5f;
  --accent-deep:#6e2418;

  /* - rôles (les composants n'utilisent que ceux-ci) - */
  --bg:var(--stone);
  --panel:rgba(36,29,22,0.5);
  --panel-2:#1d1710;
  --plate-bg:#211a13;
  --plate-mat:#0d0a06;
  --header-bg:linear-gradient(180deg, rgba(20,16,11,0.96), rgba(13,10,7,0.80));
  --header-text:#f0e7d2;
  --header-line:rgba(191,155,80,0.40);
  --footer-bg:linear-gradient(180deg,#16110b,#0c0805);
  --footer-text:#938468;
  --band-1-bg:radial-gradient(130% 90% at 50% -14%, rgba(177,68,48,0.16), transparent 60%), linear-gradient(180deg, rgba(47,39,29,0.55), rgba(13,10,7,0.6));
  --band-2-bg:radial-gradient(120% 90% at 50% -10%, rgba(124,133,80,0.12), transparent 62%), linear-gradient(180deg, rgba(25,21,16,0.7), rgba(12,9,6,0.7));
  --card-bg:linear-gradient(180deg, rgba(36,29,22,0.46), rgba(13,10,7,0.46));
  --card-bg-hover:linear-gradient(180deg, rgba(177,68,48,0.15), rgba(13,10,7,0.46));
  --tag-c:var(--muted);

  /* - filets - */
  --line:rgba(191,155,80,0.24);
  --line-soft:rgba(166,176,116,0.14);
  --line-strong:rgba(191,155,80,0.42);
  --line-gold:rgba(191,155,80,0.5);
  --line-moss:rgba(166,176,116,0.22);

  /* - lueur des runes / texture - */
  --glow-op:1;
  --tex-op:0.5;

  /* - typo (charte commune) - */
  --display:"Cormorant Garamond", Georgia, serif;
  --serif:"Cormorant Garamond", Georgia, serif;
  --text:"EB Garamond", Georgia, serif;
  --rune:"Cormorant Garamond", Georgia, serif;
  --maxw:1180px;
  --maxw-wide:1320px;
}

/* - lueur des runes gravées (rougeoiement) - */
.univers-runes.glow-off  { --glow-op:0; }
.univers-runes.glow-low  { --glow-op:0.5; }
.univers-runes.glow-mid  { --glow-op:1; }
.univers-runes.glow-high { --glow-op:1.5; }
/* - densité de la texture pierre - */
.univers-runes.tex-1{--tex-op:0.28;}
.univers-runes.tex-2{--tex-op:0.5;}
.univers-runes.tex-3{--tex-op:0.78;}

/* =======================================================
   BASE + FOND « PIERRE RUNIQUE »
   ======================================================= */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.univers-runes{
  margin:0;
  color:var(--text-c);
  font-family:var(--text);
  font-size:20px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background-color:var(--stone);
  background-image:
    radial-gradient(72% 50% at 50% -6%, rgba(194,135,59,0.16), transparent 60%),
    radial-gradient(60% 44% at 14% 12%, rgba(177,68,48,0.16), transparent 64%),
    radial-gradient(64% 48% at 86% 90%, rgba(124,133,80,0.12), transparent 64%),
    linear-gradient(180deg, var(--stone), var(--stone-3));
  background-attachment:fixed;
}
.univers-runes img{max-width:100%; display:block;}

/* grain de pierre (granit chaud) */
.univers-runes::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:var(--tex-op);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
/* coups de burin / fines stries gravées */
.univers-runes::after{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:calc(var(--tex-op) * 0.5);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cg fill='none' stroke='%23a6b074' stroke-width='0.5'%3E%3Cpath d='M-10 60 L310 30 M-10 150 L310 128 M-10 240 L310 222 M40 -10 L20 310 M150 -10 L132 310 M250 -10 L236 310'/%3E%3C/g%3E%3C/svg%3E");
  background-size:520px 520px; mix-blend-mode:soft-light;
}

.univers-runes .page{position:relative; z-index:1;}
.univers-runes .container{max-width:var(--maxw); margin:0 auto; padding:0 36px;}
.univers-runes .container-wide{max-width:var(--maxw-wide); margin:0 auto; padding:0 36px;}

/* ----- typographie ----- */
.univers-runes h1,.univers-runes h2,.univers-runes h3,.univers-runes h4,.univers-runes h5{
  font-family:var(--display); font-weight:400; margin:0; line-height:1.06; color:var(--cream);}
.univers-runes p{margin:0 0 1.15em;}
.univers-runes a{color:inherit; text-decoration:none;}
.univers-runes em,.univers-runes i{font-style:italic;}
.univers-runes sup,.univers-runes sub{font-size:0.66em;}

.univers-runes .eyebrow{font-family:var(--text); text-transform:uppercase; letter-spacing:0.34em; font-size:13px; font-weight:600; color:var(--gold-soft);}
.univers-runes .kicker{font-family:var(--text); font-size:13px; text-transform:uppercase; letter-spacing:0.26em; color:var(--accent-soft); font-weight:600;}
.univers-runes .lede{font-size:24px; line-height:1.55; color:var(--cream); font-family:var(--serif);}
.univers-runes .muted{color:var(--muted);}
.univers-runes .faint{color:var(--dim);}
.univers-runes .italic{font-style:italic;}
.univers-runes .center{text-align:center;}
.univers-runes .latin{font-style:italic; font-family:var(--serif); color:var(--muted);}
.univers-runes .gold{color:var(--gold-soft);}
.univers-runes .accent{color:var(--accent-soft);}
.univers-runes .moss{color:var(--moss-soft);}

/* filet à losange (marque) */
.univers-runes .rule{display:flex; align-items:center; gap:20px; color:var(--gold-2);}
.univers-runes .rule::before,.univers-runes .rule::after{content:""; height:1px; flex:1;
  background:linear-gradient(90deg,transparent,var(--line-strong),transparent);}
.univers-runes .rule .dot{width:8px; height:8px; transform:rotate(45deg); background:var(--accent); flex:0 0 auto;
  box-shadow:0 0 calc(11px * var(--glow-op)) color-mix(in srgb, var(--accent) 80%, transparent);}

/* séparateur à glyphe (rune) */
.univers-runes .glyph-div{display:flex; align-items:center; justify-content:center; gap:18px; color:var(--gold-2); margin:0 auto;}
.univers-runes .glyph-div::before,.univers-runes .glyph-div::after{content:""; height:1px; width:min(120px,18vw);
  background:linear-gradient(90deg,transparent,var(--line-strong),transparent);}
.univers-runes .glyph-div svg{width:22px; height:40px; color:var(--accent-soft); flex:0 0 auto;}

/* =======================================================
   LES RUNES (glyphes gravés) - réglage de lueur global
   ======================================================= */
.univers-runes .rune-glyph{stroke:var(--accent-soft); stroke-width:2; fill:none;
  stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,0.6)) drop-shadow(0 0 calc(6px * var(--glow-op)) color-mix(in srgb, var(--accent) 75%, transparent));}
.univers-runes .rune-glyph.carved{stroke:var(--accent);}
@keyframes rune-ember{ 0%,100%{ opacity:0.82; } 50%{ opacity:1; } }
.univers-runes .rune-glyph.ember{ animation:rune-ember 4.6s ease-in-out infinite; }

/* ----- sections ----- */
.univers-runes section{position:relative; padding:88px 0;}
.univers-runes .section-head{max-width:760px; margin:0 0 14px;}
.univers-runes .section-head.center{text-align:center; margin-left:auto; margin-right:auto;}
.univers-runes .section-head h2{font-size:clamp(34px,4.4vw,56px); margin-top:14px; font-weight:300; letter-spacing:0.01em;}
.univers-runes .section-head p{margin-top:14px; color:var(--muted); font-size:21px;}

/* bandes rythmiques */
.univers-runes .band-ember{background:var(--band-1-bg);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.univers-runes .band-stone{background:var(--band-2-bg);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}

/* ----- en-tête ----- */
.univers-runes .site-header{position:sticky; top:0; z-index:50; backdrop-filter:blur(9px);
  background:var(--header-bg); border-bottom:1px solid var(--header-line);
  box-shadow:0 2px 22px rgba(8,5,3,0.5);}
.univers-runes .site-header .inner{display:flex; align-items:center; justify-content:space-between;
  padding:15px 36px; max-width:var(--maxw-wide); margin:0 auto;}
.univers-runes .brand{display:flex; align-items:center; gap:13px; color:var(--header-text);}
.univers-runes .brand .mark{width:30px; height:30px; color:var(--gold-soft); flex:0 0 auto;}
.univers-runes .brand .word{font-family:var(--display); font-size:26px; letter-spacing:0.18em; line-height:1;}
.univers-runes .brand .word small{display:block; font-family:var(--text); font-size:10px; letter-spacing:0.30em;
  color:var(--gold-soft); margin-top:2px; text-transform:uppercase; opacity:0.85;}
.univers-runes .main-nav{display:flex; gap:30px; font-size:13px; text-transform:uppercase; letter-spacing:0.18em; color:rgba(202,191,166,0.72);}
.univers-runes .main-nav a{transition:color .2s;}
.univers-runes .main-nav a:hover,.univers-runes .main-nav a.active{color:var(--accent-soft);}
.univers-runes .header-tools{display:flex; align-items:center; gap:16px;}
.univers-runes .icon-btn{width:36px; height:36px; border:1px solid var(--header-line); display:flex; align-items:center;
  justify-content:center; color:var(--accent-soft); transition:.2s;}
.univers-runes .icon-btn:hover{background:rgba(177,68,48,0.16);}
@media(max-width:920px){ .univers-runes .main-nav{display:none;} }

/* ----- fil d'ariane ----- */
.univers-runes .crumb{display:flex; gap:12px; align-items:center; font-size:13px; text-transform:uppercase;
  letter-spacing:0.16em; color:var(--dim); flex-wrap:wrap;}
.univers-runes .crumb a:hover{color:var(--accent-soft);}
.univers-runes .crumb .sep{color:var(--gold-2);}
.univers-runes .crumb .here,.univers-runes .crumb .gold{color:var(--accent-soft);}

/* ----- boutons ----- */
.univers-runes .btn{display:inline-flex; align-items:center; gap:12px; padding:15px 30px;
  border:1px solid var(--gold-2); color:var(--gold-soft); background:transparent;
  font-family:var(--text); text-transform:uppercase; letter-spacing:0.2em; font-size:12.5px; font-weight:600;
  cursor:pointer; transition:.22s; white-space:nowrap;}
.univers-runes .btn:hover{background:rgba(191,155,80,0.12); border-color:var(--gold-1); color:var(--cream);}
.univers-runes .btn-solid{background:var(--gold-1); color:#15110a; border-color:var(--gold-1);}
.univers-runes .btn-solid:hover{background:var(--gold-soft); color:#15110a;}
.univers-runes .btn-accent{background:var(--accent); color:#f5e7df; border-color:var(--accent);}
.univers-runes .btn-accent:hover{background:var(--accent-soft); border-color:var(--accent-soft); color:#1c0c08;}
.univers-runes .link-more{display:inline-flex; align-items:center; gap:10px; color:var(--accent-soft);
  font-family:var(--text); text-transform:uppercase; letter-spacing:0.18em; font-size:12.5px; font-weight:600;}
.univers-runes .link-more:hover{color:var(--cream);}

/* ----- étiquettes ----- */
.univers-runes .tag{display:inline-block; border:1px solid var(--line); padding:6px 14px; font-size:12px;
  text-transform:uppercase; letter-spacing:0.14em; color:var(--tag-c); white-space:nowrap;}
.univers-runes .tag.gold{border-color:var(--line-gold); color:var(--gold-soft);}
.univers-runes .tag.accent{border-color:color-mix(in srgb, var(--accent) 55%, transparent); color:var(--accent-soft);}
.univers-runes .tag.moss{border-color:var(--line-moss); color:var(--moss-soft);}
.univers-runes .taglist{display:flex; flex-wrap:wrap; gap:9px;}

/* ----- planche / stèle runique ----- */
.univers-runes .plate{position:relative; background:var(--plate-bg); padding:16px;
  border:1px solid var(--line-strong);
  box-shadow:0 1px 0 rgba(191,155,80,0.16) inset, 0 22px 54px rgba(8,5,3,0.6);}
.univers-runes .plate::after{content:""; position:absolute; inset:8px; border:1px solid var(--line-moss); pointer-events:none;}
.univers-runes .plate .img-wrap{position:relative; overflow:hidden;
  background:radial-gradient(60% 60% at 50% 42%, rgba(177,68,48,0.16), transparent 70%), var(--plate-mat);}
.univers-runes .plate img,.univers-runes .plate image-slot{display:block; width:100%; height:100%;}
.univers-runes .plate .plate-no{position:absolute; top:22px; left:22px; z-index:2; font-family:var(--text);
  font-size:12px; letter-spacing:0.14em; color:var(--moss-soft); text-transform:uppercase; white-space:nowrap;
  background:rgba(13,10,6,0.6); padding:2px 8px;}
.univers-runes .plate .cap{margin-top:13px; text-align:center; font-style:italic; font-family:var(--serif);
  font-size:16px; color:var(--muted);}
.univers-runes .plate .cap b{font-style:normal; letter-spacing:0.04em; color:var(--text-c);}

/* ----- carte générique (portes / blocs) ----- */
.univers-runes .card{border:1px solid var(--line); background:var(--card-bg);
  padding:30px 32px; position:relative; transition:.25s;}
.univers-runes .card .frame{position:absolute; inset:8px; border:1px solid var(--line-soft); pointer-events:none;}
.univers-runes .card:hover{border-color:var(--accent-deep); background:var(--card-bg-hover);}
.univers-runes .card h3,.univers-runes .card h4{font-size:27px; margin-bottom:8px;}
.univers-runes .card p{margin:0; color:var(--muted); font-size:17px;}

/* portes d'entrée */
.univers-runes .entry{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:820px){ .univers-runes .entry{grid-template-columns:1fr;} }
.univers-runes .entry a{border:1px solid var(--line); background:var(--card-bg); padding:34px 30px; display:block; transition:.22s; position:relative;}
.univers-runes .entry a:hover{border-color:var(--accent-deep); background:var(--card-bg-hover); transform:translateY(-3px);}
.univers-runes .entry .rune-ic{width:40px; height:52px; margin-bottom:16px;}
.univers-runes .entry h3{font-size:27px; margin-bottom:8px;}
.univers-runes .entry p{color:var(--muted); font-size:16px; margin:0 0 14px;}

/* ----- carte rune (grille) ----- */
.univers-runes .stone-card{display:block; transition:.25s; background:var(--plate-bg);
  border:1px solid var(--line); overflow:hidden; position:relative;}
.univers-runes .stone-card:hover{transform:translateY(-4px); border-color:var(--accent);
  box-shadow:0 18px 40px rgba(8,5,3,0.55);}
.univers-runes .stone-card .ph{aspect-ratio:5/4; position:relative; overflow:hidden;
  background:radial-gradient(60% 70% at 50% 42%, rgba(177,68,48,0.18), transparent 70%), var(--plate-mat);
  display:flex; align-items:center; justify-content:center;}
.univers-runes .stone-card .ph img,.univers-runes .stone-card .ph image-slot{width:100%; height:100%; object-fit:cover;}
.univers-runes .stone-card .ph .rune-glyph{height:54%; width:auto;}
.univers-runes .stone-card .ph::after{content:""; position:absolute; inset:7px; border:1px solid var(--line-moss); pointer-events:none;}
.univers-runes .stone-card .body{padding:16px 18px 20px;}
.univers-runes .stone-card h3,.univers-runes .stone-card h4{font-size:24px; margin-bottom:2px;}
.univers-runes .stone-card .sub{font-style:italic; font-family:var(--serif); color:var(--muted); font-size:15px;}
.univers-runes .stone-card .props{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap;}

/* ----- carte produit (affiliation) ----- */
.univers-runes .product-card{border:1px solid var(--line); background:var(--card-bg); overflow:hidden; transition:.22s;}
.univers-runes .product-card:hover{border-color:var(--accent-deep);}
.univers-runes .product-card .ph{aspect-ratio:4/3; background:var(--plate-mat); position:relative; overflow:hidden;}
.univers-runes .product-card .body{padding:18px 20px 20px;}
.univers-runes .product-card .label{font-size:11px; text-transform:uppercase; letter-spacing:0.16em; color:var(--accent-soft); margin-bottom:6px;}
.univers-runes .product-card h5{font-size:19px; font-weight:500; margin:0 0 10px; color:var(--cream);}
.univers-runes .product-card .price{font-family:var(--serif); font-size:24px; color:var(--gold-soft);}
.univers-runes .product-card .aff{font-size:12px; text-transform:uppercase; letter-spacing:0.14em; color:var(--dim); margin-top:6px;}

/* ----- carte article/guide ----- */
.univers-runes .article-card{display:block; border:1px solid var(--line); background:var(--card-bg); overflow:hidden; transition:.22s;}
.univers-runes .article-card:hover{border-color:var(--accent-deep); transform:translateY(-3px);}
.univers-runes .article-card .ph{aspect-ratio:16/10; background:radial-gradient(70% 80% at 50% 30%, rgba(177,68,48,0.16), transparent 70%), var(--plate-mat); position:relative; display:flex; align-items:center; justify-content:center;}
.univers-runes .article-card .ph::after{content:""; position:absolute; inset:8px; border:1px solid var(--line-moss);}
.univers-runes .article-card .ph .rune-glyph{height:44%; width:auto;}
.univers-runes .article-card .kicker{margin:18px 22px 0;}
.univers-runes .article-card h3,.univers-runes .article-card h4{font-size:22px; margin:8px 22px 6px; color:var(--cream);}
.univers-runes .article-card p{margin:0 22px 20px; color:var(--muted); font-size:15px;}

/* ----- table de correspondances (datasheet) ----- */
.univers-runes .datasheet{border:1px solid var(--line);}
.univers-runes .datasheet .row{display:grid; grid-template-columns:0.9fr 1.3fr; border-bottom:1px solid var(--line-soft);}
.univers-runes .datasheet .row:last-child{border-bottom:none;}
.univers-runes .datasheet .k{padding:15px 20px; font-size:12px; text-transform:uppercase; letter-spacing:0.16em;
  color:var(--accent-soft); border-right:1px solid var(--line-soft);}
.univers-runes .datasheet .v{padding:15px 20px; color:var(--text-c); font-size:18px;}

/* ----- interprétations (3 colonnes) ----- */
.univers-runes .vertus{display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line);}
.univers-runes .vertus .v{padding:30px 28px; border-right:1px solid var(--line-soft);}
.univers-runes .vertus .v:last-child{border-right:none;}
.univers-runes .vertus .v .rune-glyph{height:38px; width:auto; margin-bottom:14px;}
.univers-runes .vertus .v svg.ic{width:36px; height:36px; color:var(--accent-soft); margin-bottom:14px;}
.univers-runes .vertus .v h3,.univers-runes .vertus .v h4{font-size:24px; margin-bottom:10px;}
.univers-runes .vertus .v ul{list-style:none; padding:0; margin:0;}
.univers-runes .vertus .v li{padding:8px 0; border-top:1px solid var(--line-soft); color:var(--muted); font-size:16px;}
.univers-runes .vertus .v li:first-child{border-top:none;}
@media(max-width:760px){ .univers-runes .vertus{grid-template-columns:1fr;} .univers-runes .vertus .v{border-right:none; border-bottom:1px solid var(--line-soft);} }

/* ----- endroit / inversé ----- */
.univers-runes .purif{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.univers-runes .purif .col{border:1px solid var(--line); background:var(--card-bg); padding:28px;}
.univers-runes .purif .col.yes{border-color:rgba(166,176,116,0.5);}
.univers-runes .purif .col.no{border-color:rgba(177,68,48,0.5);}
.univers-runes .purif .col h3,.univers-runes .purif .col h4{display:flex; align-items:center; gap:12px; font-size:22px; margin-bottom:16px;}
.univers-runes .purif .col .mk{width:28px; height:28px; transform:rotate(45deg); display:flex; align-items:center; justify-content:center; flex:0 0 auto; font-size:14px; border:1px solid currentColor;}
.univers-runes .purif .col .mk span{transform:rotate(-45deg);}
.univers-runes .purif .yes h4{color:var(--moss-soft);}
.univers-runes .purif .no h4{color:var(--accent-soft);}
.univers-runes .purif ul{list-style:none; padding:0; margin:0;}
.univers-runes .purif li{padding:10px 0; border-top:1px solid var(--line-soft); color:var(--text-c); font-size:16.5px;}
.univers-runes .purif li:first-child{border-top:none;}
@media(max-width:680px){ .univers-runes .purif{grid-template-columns:1fr;} }

/* ----- méthode pas-à-pas ----- */
.univers-runes .howto{display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line);}
.univers-runes .howto .h{padding:26px 28px; border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.univers-runes .howto .h:nth-child(2n){border-right:none;}
.univers-runes .howto .h:nth-last-child(-n+2){border-bottom:none;}
.univers-runes .howto .h .n{font-family:var(--serif); font-size:28px; color:var(--accent-soft);}
.univers-runes .howto .h h3,.univers-runes .howto .h h4{font-size:21px; margin:6px 0 6px;}
.univers-runes .howto .h p{font-size:15px; color:var(--muted); margin:0;}
@media(max-width:680px){ .univers-runes .howto{grid-template-columns:1fr;} .univers-runes .howto .h{border-right:none !important;} }

/* ----- prose ----- */
.univers-runes .prose{font-size:20px; line-height:1.78; color:var(--text-c); max-width:760px;}
.univers-runes .prose p{margin:0 0 1.3em;}
.univers-runes .prose h2{font-size:clamp(30px,3.6vw,42px); margin:1.5em 0 0.4em; font-weight:300;}
.univers-runes .prose h3{font-size:27px; margin:1.3em 0 0.3em; color:var(--accent-soft);}
.univers-runes .prose .drop::first-letter{float:left; font-family:var(--display); font-size:94px; line-height:0.64;
  padding:12px 14px 0 0; color:var(--accent-soft); font-weight:600;}
.univers-runes .prose strong{font-weight:600; color:var(--cream);}
.univers-runes .prose a.inline{color:var(--gold-soft); border-bottom:1px solid var(--gold-2);}
.univers-runes .prose blockquote{margin:1.5em 0; padding:6px 0 6px 28px; border-left:2px solid var(--accent-deep);
  font-family:var(--serif); font-style:italic; font-size:27px; line-height:1.36; color:var(--cream);}
.univers-runes .prose figure{margin:2em 0;}
.univers-runes .prose figcaption{text-align:center; font-style:italic; color:var(--muted); font-size:15px; margin-top:10px;}

/* encadré */
.univers-runes .callout{border:1px solid rgba(191,155,80,0.45); background:rgba(191,155,80,0.06);
  padding:24px 28px; margin:0; position:relative;}
.univers-runes .callout .kicker{color:var(--gold-soft); margin-bottom:8px;}
.univers-runes .callout p{margin:0; font-size:18px; color:var(--text-c);}

/* ----- FAQ ----- */
.univers-runes .faq{max-width:800px; margin:0 auto;}
.univers-runes .faq .item{border-top:1px solid var(--line-soft); padding:26px 0;}
.univers-runes .faq .item:last-child{border-bottom:1px solid var(--line-soft);}
.univers-runes .faq h3{font-size:25px; color:var(--cream); margin-bottom:10px;}
.univers-runes .faq p{color:var(--muted); font-size:18px; margin:0; line-height:1.65;}

/* ----- pied ----- */
.univers-runes .site-footer{border-top:1px solid var(--header-line); padding:64px 0 44px;
  background:var(--footer-bg); color:var(--footer-text);}
.univers-runes .site-footer h5{font-size:13px; text-transform:uppercase; letter-spacing:0.22em; color:var(--gold-soft); margin-bottom:16px;}
.univers-runes .site-footer .word{font-family:var(--display); font-size:28px; letter-spacing:0.18em; color:#f0e7d2;}
.univers-runes .footer-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;}
.univers-runes .site-footer .col a{display:block; color:var(--footer-text); padding:5px 0; font-size:16px; transition:color .2s;}
.univers-runes .site-footer .col a:hover{color:var(--accent-soft);}
.univers-runes .site-footer .tagline{color:var(--footer-text); margin-top:16px; max-width:300px; font-size:16px; font-style:italic;}
.univers-runes .footer-base{border-top:1px solid var(--line-soft); margin-top:46px; padding-top:24px;
  display:flex; justify-content:space-between; color:rgba(147,132,104,0.8); font-size:13px; letter-spacing:0.04em; gap:20px;}
.univers-runes .footer-base .disc{max-width:560px;}
@media(max-width:820px){ .univers-runes .footer-grid{grid-template-columns:1fr 1fr;} .univers-runes .footer-base{flex-direction:column; gap:14px;} }

/* ----- grilles ----- */
.univers-runes .grid{display:grid; gap:26px;}
.univers-runes .g2{grid-template-columns:repeat(2,1fr);}
.univers-runes .g3{grid-template-columns:repeat(3,1fr);}
.univers-runes .g4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){ .univers-runes .g3,.univers-runes .g4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .univers-runes .g2,.univers-runes .g3,.univers-runes .g4{grid-template-columns:1fr;} }

@media(prefers-reduced-motion:reduce){
  .univers-runes *{animation:none !important; transition:none !important;}
  html{scroll-behavior:auto;}
}


/* =======================================================
   GABARITS DE PAGE (consolidés depuis les maquettes de handoff)
   Chargés uniquement sur /runes/ via bodyClass - non préfixés.
   ======================================================= */

/* ---- PILIER (/runes/) ---- */
  /* ---- Gabarit : Pilier Runes ---- */
  .pilier-hero{padding:38px 0 22px; text-align:center; position:relative; overflow:hidden;}
  .pilier-hero .eyebrow{display:block; margin-bottom:18px;}
  .pilier-hero h1{font-size:clamp(46px,7vw,98px); line-height:0.95; font-weight:300; margin:0 auto 18px; max-width:15ch;}
  .pilier-hero h1 em{color:var(--accent-soft);}
  .pilier-hero .sub{font-family:var(--serif); font-size:23px; line-height:1.5; color:var(--muted); max-width:52ch; margin:0 auto 30px;}

  .hero-stage{position:relative; height:360px; margin:0 auto 4px; max-width:560px;}
  .hero-stage .aura{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:300px; height:300px; border-radius:50%;
    background:radial-gradient(circle, rgba(177,68,48,0.34), transparent 66%); pointer-events:none;}
  .ring-wrap{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:360px; height:360px;}
  .ring-wrap svg{width:100%; height:100%; overflow:visible;}
  .rune-ring-rot{transform-origin:200px 200px; animation:ring-spin 140s linear infinite;}
  @keyframes ring-spin{ to{ transform:rotate(360deg);} }
  .ring-center{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:84px; height:120px; z-index:2;}

  .hero-cta{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .intro-text{max-width:740px; margin:0 auto; padding:46px 0 0; position:relative; z-index:1;}

  .portes .entry{margin-top:44px;}
  .runes-essentielles{padding:34px 0;}
  .runes-essentielles .section-head, .guides .section-head{display:flex; justify-content:space-between; align-items:flex-end; max-width:none; gap:20px;}
  .runes-essentielles .grid,.guides .grid{margin-top:40px;}
  .aettir{padding:20px 0;}
  .aettir .grid{margin-top:40px;}
  .aett-card{border:1px solid var(--line); background:var(--card-bg); padding:30px 30px 32px; text-align:center;}
  .aett-card .row{display:flex; justify-content:center; gap:10px; margin-bottom:18px;}
  .aett-card .row .rune-glyph{height:34px; width:auto;}
  .aett-card h3{font-size:27px; margin-bottom:8px;}
  .aett-card p{color:var(--muted); font-size:16px; margin:0;}
  .faq-sec{padding:90px 0;}
  @media(prefers-reduced-motion:reduce){ .rune-ring-rot{animation:none;} }

/* ---- FICHE RUNE (/runes/{slug}/) ---- */
  .fiche-hero{padding:44px 0 66px;}
  .hero-grid{display:grid; grid-template-columns:0.82fr 1.18fr; gap:58px; align-items:center;}
  @media(max-width:900px){ .hero-grid{grid-template-columns:1fr; gap:38px;} }
  .hero-card{max-width:330px; margin:0 auto;}
  .hero-card .rune-big{display:flex; align-items:center; justify-content:center; aspect-ratio:3/4;}
  .hero-card .rune-big .rune-glyph{height:64%; width:auto;}
  .hero-text .eyebrow{display:block; margin-bottom:18px;}
  .hero-text h1{font-size:clamp(54px,8vw,104px); line-height:0.92; font-weight:300; margin-bottom:10px;}
  .hero-text .latin{font-size:21px; display:block; margin-bottom:22px;}
  .hero-text .lede{font-family:var(--serif); font-size:23px; line-height:1.5; color:var(--cream); max-width:42ch; margin-bottom:26px;}

  .fiche-body{padding:64px 0 86px;}
  .layout{display:grid; grid-template-columns:1fr 330px; gap:60px; align-items:start;}
  @media(max-width:980px){ .layout{grid-template-columns:1fr; gap:48px;} }
  .aside{position:sticky; top:96px; display:flex; flex-direction:column; gap:24px;}
  .block{margin-bottom:60px;}
  .block:last-child{margin-bottom:0;}
  .block .eyebrow{display:block; margin-bottom:6px;}
  .block h2{font-size:clamp(30px,3.6vw,46px); font-weight:300; margin-bottom:6px;}
  .block .rule{margin:18px 0 28px;}
  .block > p{font-size:19px; line-height:1.7;}

/* ---- TIRAGE (/runes/tirage/) ---- */
  .tirage-hero{padding:40px 0 8px; text-align:center;}
  .tirage-hero .eyebrow{display:block; margin-bottom:16px;}
  .tirage-hero h1{font-size:clamp(44px,6.4vw,84px); line-height:0.96; font-weight:300; margin:0 auto 14px; max-width:16ch;}
  .tirage-hero .sub{font-family:var(--serif); font-size:21px; color:var(--muted); max-width:48ch; margin:0 auto;}

  .mode-switch{display:flex; justify-content:center; margin:28px 0 4px;}
  .mode-switch .seg{display:flex; border:1px solid var(--line-strong); background:rgba(13,10,6,0.45);}
  .mode-switch .seg button{all:unset; cursor:pointer; padding:13px 26px; font-family:var(--text); font-size:12.5px;
    text-transform:uppercase; letter-spacing:0.2em; color:var(--muted); transition:.18s; border-right:1px solid var(--line-soft);}
  .mode-switch .seg button:last-child{border-right:none;}
  .mode-switch .seg button.sel{background:var(--accent); color:#f5e7df;}

  .ask{max-width:600px; margin:24px auto 0;}
  .ask .field{display:flex; border:1px solid var(--gold-2); background:rgba(13,10,6,0.5);}
  .ask .field input{flex:1; background:transparent; border:none; outline:none; color:var(--cream);
    font-family:var(--text); font-size:18px; padding:15px 20px;}
  .ask .field input::placeholder{color:var(--dim);}
  .ask .actions{display:flex; gap:14px; justify-content:center; margin-top:18px; flex-wrap:wrap;}

  .cast-stage{padding:44px 0 8px; min-height:120px;}
  .cast{display:flex; gap:26px; justify-content:center; flex-wrap:wrap; perspective:1200px;}
  .rune-tile{width:130px; height:188px; position:relative; background:linear-gradient(160deg,var(--granite),var(--stone-2));
    border:1px solid var(--line-strong); display:flex; align-items:center; justify-content:center;
    box-shadow:0 14px 34px rgba(8,5,3,0.55), inset 0 1px 0 rgba(227,201,135,0.12); opacity:0; transform:rotateY(90deg);}
  .rune-tile.show{animation:tile-flip .62s cubic-bezier(.3,.8,.3,1) forwards;}
  @keyframes tile-flip{ from{opacity:0; transform:rotateY(90deg) translateY(8px);} to{opacity:1; transform:rotateY(0) translateY(0);} }
  .rune-tile::after{content:""; position:absolute; inset:7px; border:1px solid var(--line-moss); pointer-events:none;}
  .rune-tile .rune-glyph{height:62%; width:auto;}
  .rune-tile .rune-glyph.rev{transform:rotate(180deg);}
  .rune-tile .pos{position:absolute; top:-26px; left:50%; transform:translateX(-50%); white-space:nowrap;
    font-size:11px; text-transform:uppercase; letter-spacing:0.18em; color:var(--gold-soft);}
  .rune-tile .nm{position:absolute; bottom:-30px; left:50%; transform:translateX(-50%); white-space:nowrap;
    font-family:var(--display); font-size:21px; color:var(--cream);}
  .rune-tile .nm em{font-style:normal; color:var(--accent-soft); font-size:13px; letter-spacing:0.1em;}

  .readings{max-width:880px; margin:48px auto 0; display:grid; gap:18px;
    opacity:0; transform:translateY(10px); transition:opacity .5s, transform .5s;}
  .readings.show{opacity:1; transform:none;}
  .reading{border:1px solid var(--line); background:var(--card-bg); padding:24px 26px; display:grid;
    grid-template-columns:64px 1fr; gap:22px; align-items:start;}
  .reading .gl{display:flex; align-items:flex-start; justify-content:center;}
  .reading .gl .rune-glyph{height:56px; width:auto;}
  .reading .gl .rune-glyph.rev{transform:rotate(180deg);}
  .reading .pos{font-size:11px; text-transform:uppercase; letter-spacing:0.2em; color:var(--gold-soft); margin-bottom:4px;}
  .reading h3{font-family:var(--display); font-size:30px; font-weight:400; color:var(--cream); margin:0 0 2px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;}
  .reading h3 .badge{font-family:var(--text); font-size:11px; text-transform:uppercase; letter-spacing:0.16em; padding:3px 9px; border:1px solid; }
  .reading h3 .badge.up{color:var(--moss-soft); border-color:var(--line-moss);}
  .reading h3 .badge.rev{color:var(--accent-soft); border-color:color-mix(in srgb, var(--accent) 55%, transparent);}
  .reading .kw{font-family:var(--serif); font-style:italic; color:var(--accent-soft); font-size:18px; margin-bottom:10px;}
  .reading p{margin:0; color:var(--text-c); font-size:17px; line-height:1.65;}
  @media(max-width:560px){ .reading{grid-template-columns:1fr; gap:12px;} }

  .index-sec{padding:80px 0 90px;}
  .index-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-top:40px;}
  @media(max-width:880px){ .index-grid{grid-template-columns:repeat(4,1fr);} }
  @media(max-width:560px){ .index-grid{grid-template-columns:repeat(3,1fr);} }
  .idx{all:unset; cursor:pointer; border:1px solid var(--line); background:var(--card-bg); padding:18px 10px 14px;
    display:flex; flex-direction:column; align-items:center; gap:8px; transition:.2s; text-align:center;}
  .idx:hover{border-color:var(--accent); background:var(--card-bg-hover); transform:translateY(-3px);}
  .idx .rune-glyph{height:40px; width:auto;}
  .idx .nm{font-family:var(--display); font-size:18px; color:var(--cream);}
  .idx .ph{font-size:11px; text-transform:uppercase; letter-spacing:0.14em; color:var(--muted);}

  /* panneau détail rune */
  .sheet-bg{position:fixed; inset:0; background:rgba(8,5,3,0.72); backdrop-filter:blur(4px); z-index:200; opacity:0; pointer-events:none; transition:opacity .3s;}
  .sheet-bg.on{opacity:1; pointer-events:auto;}
  .sheet{position:fixed; z-index:201; left:50%; top:50%; transform:translate(-50%,-46%); width:min(560px,92vw);
    background:var(--plate-bg); border:1px solid var(--line-strong); box-shadow:0 30px 80px rgba(8,5,3,0.7);
    opacity:0; pointer-events:none; transition:opacity .3s, transform .3s; max-height:90vh; overflow:auto;}
  .sheet.on{opacity:1; pointer-events:auto; transform:translate(-50%,-50%);}
  .sheet .inr{position:relative; padding:32px 36px 36px;}
  .sheet .inr::after{content:""; position:absolute; inset:10px; border:1px solid var(--line-moss); pointer-events:none;}
  .sheet .closx{position:absolute; top:14px; right:16px; all:unset; cursor:pointer; color:var(--accent-soft); font-size:24px; line-height:1; z-index:2;}
  .sheet .s-top{display:flex; align-items:center; gap:20px; margin-bottom:6px;}
  .sheet .s-top .rune-glyph{height:60px; width:auto; flex:0 0 auto;}
  .sheet .s-cat{font-size:11px; text-transform:uppercase; letter-spacing:0.2em; color:var(--gold-soft);}
  .sheet h3{font-family:var(--display); font-size:clamp(34px,5vw,48px); font-weight:300; color:var(--cream); margin:2px 0 0;}
  .sheet .s-kw{font-family:var(--serif); font-style:italic; font-size:20px; color:var(--accent-soft); margin:14px 0 16px;}
  .sheet .s-rule{height:1px; background:linear-gradient(90deg,var(--line-strong),transparent); margin:0 0 16px;}
  .sheet .s-lbl{font-size:11px; text-transform:uppercase; letter-spacing:0.18em; color:var(--moss-soft); margin:0 0 5px; font-weight:600;}
  .sheet .s-up{font-size:17px; line-height:1.6; color:var(--text-c); margin:0 0 18px;}
  .sheet .s-lbl.rev{color:var(--accent-soft);}
  .sheet .s-rev{font-size:17px; line-height:1.6; color:var(--muted); margin:0 0 22px;}
  .sheet .s-foot{display:flex; gap:12px; flex-wrap:wrap;}

/* ---- GUIDE (/runes/guides/{slug}/) ---- */
  .art-hero{padding:46px 0 40px;}
  .art-hero .kicker{display:block; margin-bottom:18px;}
  .art-hero h1{font-size:clamp(44px,6.4vw,84px); line-height:0.98; font-weight:300; max-width:18ch; margin-bottom:22px;}
  .art-meta{display:flex; gap:14px; align-items:center; color:var(--muted); font-size:14px; letter-spacing:0.04em; flex-wrap:wrap;}
  .art-meta .sep{color:var(--gold-2);}
  .art-hero .art-lede{font-family:var(--serif); font-size:25px; line-height:1.5; color:var(--cream); max-width:46ch; margin:24px 0 0;}

  .art-figure{margin:8px 0 0;}
  .art-figure .img-wrap{display:flex; align-items:center; justify-content:center;}
  .art-figure .engr{width:auto; height:80%; max-width:70%; color:var(--accent-soft);}
  .art-body{padding:18px 0 86px;}
  .art-layout{display:grid; grid-template-columns:1fr 280px; gap:60px; align-items:start;}
  @media(max-width:980px){ .art-layout{grid-template-columns:1fr; gap:44px;} }
  .toc{position:sticky; top:96px; border-left:1px solid var(--line-soft); padding-left:22px;}
  .toc .lb{font-size:11px; text-transform:uppercase; letter-spacing:0.2em; color:var(--gold-soft); margin-bottom:14px;}
  .toc a{display:block; color:var(--muted); font-size:16px; padding:6px 0; transition:.2s;}
  .toc a:hover{color:var(--accent-soft);}
  .crit{display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line); margin:10px 0 0;}
  .crit .c{padding:24px 26px; border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
  .crit .c:nth-child(2n){border-right:none;}
  .crit .c:nth-last-child(-n+2){border-bottom:none;}
  .crit .c .n{font-family:var(--serif); font-size:26px; color:var(--accent-soft);}
  .crit .c h3,.crit .c h4{font-size:21px; margin:4px 0 6px;}
  .crit .c p{font-size:15px; color:var(--muted); margin:0;}
  @media(max-width:600px){ .crit{grid-template-columns:1fr;} .crit .c{border-right:none !important;} }
