.g-num-page{
  --g-bg: transparent;
  --g-bg-alt: #f7f3ee;
  --g-card: #faf7f2;
  --g-card-border: rgba(36,24,48,0.10);
  --g-gold: #c9862e;
  --g-gold-soft: #a8671f;
  --g-rose: #c15b70;
  --g-ink: #241830;
  --g-ink-muted: #5c4d6b;
  --g-ink-faint: #8b7a97;
  --g-max: 640px;

  display:block;
  background:var(--g-bg);
  color:var(--g-ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.g-num-page *{box-sizing:border-box;}
@media (prefers-reduced-motion: reduce){
  .g-num-page *{animation-duration:0.01ms !important; animation-iteration-count:1 !important;}
}
.g-num-page a{color:var(--g-gold-soft);}
.g-num-wrap{max-width:var(--g-max); margin:0 auto; padding:0 24px;}

/* HERO */
.g-num-hero{padding:64px 0 40px; text-align:center; position:relative; overflow:hidden;}
.g-num-eyebrow{
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--g-gold-soft); display:inline-block; margin-bottom:22px;
}

@keyframes g-num-draw{to{stroke-dashoffset:0;}}
@keyframes g-num-fadein{to{opacity:1;}}

.imgbig{
    font-weight: 600;
    margin: 8px 0 4px;

    background: linear-gradient(180deg, #ababab, #363636 70%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;

    font-size: 80px;

    width: 110px;
    height: 110px;

    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #606060;
    border-radius: 50%;
}
.g-num-h1-label{
  font-style:italic; font-weight:500; color:var(--g-ink); margin:0 0 18px;
}
.g-num-subtitle{color:var(--g-ink-muted); max-width:420px; margin:0 auto;}

/* TOC */
.g-num-toc{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;

    width:100%;
    max-width:100%;

    padding:14px 16px;
    margin:0 0 8px;

    border-top:1px solid var(--g-card-border);
    border-bottom:1px solid var(--g-card-border);

    position:sticky;
    top:0;

    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(6px);
    z-index:10;
}
.g-num-related-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    border: 1px solid currentColor;
    font-size: 0.85em;
    margin-right: 0.5rem;
}
.g-num-toc a{
    flex:0 0 auto;
    letter-spacing:0.03em;
    text-decoration:none;
    color:var(--g-ink-muted);
    background:var(--g-card);
    border:1px solid var(--g-card-border);
    border-radius:100px;
    padding:8px 14px;
}

/* SECTIONS */
.g-num-page section{padding:44px 0; scroll-margin-top:64px;}
.g-num-page section + section{border-top:1px solid var(--g-card-border);}
.g-num-kicker{
  letter-spacing:0.12em;
  text-transform:uppercase; color:var(--g-rose); margin-bottom:10px;
}
.g-num-page h2{font-weight:600; line-height:1.15; margin:0 0 16px !important; color:var(--g-ink);}
.g-num-page h3{font-style:italic; font-weight:500; margin:0 0 12px !important; color:var(--g-ink);}
.g-num-page p{color:var(--g-ink-muted); margin:0 0 14px;}
.g-num-page p:last-child{margin-bottom:0;}
.g-num-page strong{color:var(--g-ink); font-weight:600;}

/* formula */
.g-num-formula{background:var(--g-card); border:1px solid var(--g-card-border); border-radius:18px; padding:22px; margin-top:20px;}
.g-num-formula-date{color:var(--g-gold-soft); margin-bottom:10px;}
.g-num-formula-steps{display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:var(--g-ink-muted);}
.g-num-formula-steps .arrow{color:var(--g-ink-faint);}
.g-num-formula-steps .final{color:#fff; background:var(--g-gold); font-weight:700; border-radius:8px; padding:2px 9px;}
.g-num-tip{color:var(--g-ink-faint); margin-top:14px;}

/* insight / quote */
.g-num-insight{background:var(--g-card); border-left:3px solid var(--g-rose); border-radius:14px; padding:20px 22px; margin:18px 0;}
.g-num-insight strong{display:block; font-style:italic; font-weight:500; color:var(--g-gold-soft); margin-bottom:8px;}
.g-num-insight p{margin:0; color:var(--g-ink-muted);}

/* tags */
.g-num-tags{display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 9px 0; padding:0; list-style:none;}
.g-num-tags li{
  color:var(--g-gold-soft);
  background:var(--g-card); border:1px solid var(--g-card-border); border-radius:100px; padding:6px 13px;
}
.g-num-related-links{
    list-style: none;
}
/* traits */
.g-num-traits{display:grid; gap:16px; margin-top:8px;}
.g-num-trait-card{background:var(--g-card); border:1px solid var(--g-card-border); border-radius:18px; padding:22px;}
.g-num-trait-card.forces{border-left:4px solid var(--g-gold);}
.g-num-trait-card.ombres{border-left:4px solid var(--g-rose);}
.g-num-trait-card ul{margin:0; padding:0; list-style:none;}
.g-num-trait-card li{color:var(--g-ink-muted); padding:7px 0; border-top:1px solid var(--g-card-border);}
.g-num-trait-card li:first-child{border-top:none; padding-top:0;}
.g-num-trait-card li strong{display:block; color:var(--g-ink); margin-bottom:1px;}

/* compare table */
.g-num-compare-table{margin-top:18px;}
.g-num-compare-table .row{display:grid; grid-template-columns:125px 1fr; gap:14px; padding:13px 0; border-top:1px solid var(--g-card-border);}
.g-num-compare-table .row:first-child{border-top:none;}
.g-num-compare-table .label{text-transform:uppercase; letter-spacing:0.06em; color:var(--g-rose); padding-top:2px;}
.g-num-compare-table .value{color:var(--g-ink-muted);}

/* conseils numérotés */
.g-num-advice-list{counter-reset:advice; margin:16px 0 0; padding:0; list-style:none;}
.g-num-advice-list li{position:relative; padding:14px 0 14px 42px; border-top:1px solid var(--g-card-border); color:var(--g-ink-muted);}
.g-num-advice-list li:first-child{border-top:none;}
.g-num-advice-list li::before{
  counter-increment:advice; content:counter(advice); position:absolute; left:0; top:12px;
  width:26px; height:26px; border-radius:50%; background:var(--g-bg-alt); border:1px solid var(--g-card-border);
  color:var(--g-gold-soft);
  display:flex; align-items:center; justify-content:center;
}
.g-num-advice-list li strong{display:block; color:var(--g-ink); margin-bottom:2px;}

/* genre */
.g-num-gender-grid{display:grid; gap:14px; margin-top:8px;}
.g-num-gender-card{background:var(--g-card); border:1px solid var(--g-card-border); border-radius:18px; padding:20px;}
.g-num-gender-card .tag{letter-spacing:0.08em; text-transform:uppercase; color:var(--g-gold-soft); display:block; margin-bottom:8px;}

/* timeline */
.g-num-timeline{position:relative; margin-top:24px; padding-left:28px;}
.g-num-timeline::before{content:''; position:absolute; left:6px; top:6px; bottom:6px; width:1px; background:var(--g-card-border);}
.g-num-tl-item{position:relative; padding-bottom:26px;}
.g-num-tl-item:last-child{padding-bottom:0;}
.g-num-tl-item::before{content:''; position:absolute; left:-28px; top:4px; width:11px; height:11px; border-radius:50%; background:var(--g-gold); box-shadow:0 0 0 4px #fff;}
.g-num-tl-item .decade{font-style:italic; font-weight:500; color:var(--g-gold-soft); display:block; margin-bottom:4px;}
.g-num-tl-item p{margin:0;}

/* année perso */
.g-num-py-card{background:var(--g-card); border:1px solid var(--g-card-border); border-radius:18px; padding:22px; margin-top:8px;}

/* mantra */
.g-num-mantra{background:linear-gradient(155deg, #fdf6ec, #f7f0f5); border:1px solid rgba(201,134,46,0.25); border-radius:20px; padding:32px 26px; text-align:center;}
.g-num-mantra blockquote{font-style:italic; font-weight:500;border:0;padding:0; font-size: clamp(20px, 6vw, 25px);line-height:1.35; color:var(--g-gold-soft); margin:0;}

/* footer */
.g-num-footer{padding:40px 0 56px; text-align:center;}
.g-num-signature{letter-spacing:0.1em; text-transform:uppercase; color:var(--g-ink-faint);}
