:root{--night:#071327;--deep:#0d2440;--gold:#d9b56d;--rose:#e8a7a0;--paper:#f9f3e8;--ink:#172033;--mist:#edf2f7}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:linear-gradient(180deg,#061224,#0b1f38 45%,#102d46);color:#f7f2e8}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:
radial-gradient(circle at 72% 8%,rgba(233,173,147,.24),transparent 23%),
radial-gradient(circle at 32% 18%,rgba(217,181,109,.13),transparent 20%),
linear-gradient(180deg,transparent 0 42%,rgba(20,73,92,.24) 42% 44%,transparent 44%)}
body:after{content:"";position:fixed;left:-10%;right:-10%;bottom:-14vh;height:45vh;z-index:-1;border-radius:50% 50% 0 0;background:
repeating-radial-gradient(ellipse at 50% 0,rgba(231,184,116,.1) 0 2px,transparent 3px 12px),linear-gradient(180deg,#0c3447,#071a2b)}
a{color:inherit}.shell{width:min(1180px,92vw);margin:auto}.topbar{position:sticky;top:0;z-index:10;backdrop-filter:blur(16px);background:rgba(5,17,33,.78);border-bottom:1px solid rgba(217,181,109,.22)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:18px}.brand{display:flex;align-items:center;gap:12px}.seal{width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;color:var(--gold);box-shadow:inset 0 0 0 5px rgba(217,181,109,.06)}
.brand b{font-family:Georgia,serif;letter-spacing:.14em}.brand small{display:block;color:#c9d4e0;font-size:.7rem;letter-spacing:.08em}.lang{border:1px solid rgba(255,255,255,.2);background:transparent;color:white;border-radius:999px;padding:8px 12px}
.hero{min-height:68vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:44px;padding:70px 0 42px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-size:.78rem}.hero h1{font:clamp(3rem,7vw,6.2rem)/.92 Georgia,serif;margin:.15em 0}.hero h1 span{display:block;color:var(--gold);font-size:.34em;line-height:1.6;letter-spacing:.2em}.hero p{font-size:1.12rem;line-height:1.75;color:#dce5ec;max-width:700px}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{border:0;border-radius:999px;padding:13px 20px;font-weight:700;cursor:pointer}.primary{background:linear-gradient(135deg,#f1d39a,#c88d4c);color:#1e2430}.ghost{background:rgba(255,255,255,.06);color:white;border:1px solid rgba(255,255,255,.2)}
.orbwrap{display:grid;place-items:center;min-height:360px}.orb{width:min(330px,70vw);aspect-ratio:1;border-radius:50%;position:relative;background:
radial-gradient(circle at 45% 28%,#fff 0 2%,#ffd9c4 3%,#efad8e 12%,#886b9b 32%,#28456c 55%,#0f2039 72%);box-shadow:0 0 85px rgba(235,170,132,.28),inset -20px -22px 50px rgba(5,14,28,.8);border:1px solid rgba(255,255,255,.5)}
.orb:after{content:"";position:absolute;left:20%;right:20%;bottom:-13%;height:18%;border-radius:50%;background:linear-gradient(#c7a86c,#6b522c);filter:drop-shadow(0 15px 15px #0007)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:-24px auto 45px}.stat{background:rgba(255,255,255,.055);border:1px solid rgba(217,181,109,.18);border-radius:18px;padding:22px;text-align:center}.stat strong{display:block;font:2rem Georgia,serif;color:var(--gold)}
.panel{background:rgba(250,246,238,.96);color:var(--ink);border-radius:28px;padding:clamp(20px,4vw,44px);box-shadow:0 30px 80px rgba(0,0,0,.18);margin:32px auto}.panel h2{font:2rem Georgia,serif;margin-top:0}.steps{display:flex;gap:8px;overflow:auto;margin:0 0 24px}.step{white-space:nowrap;font-size:.78rem;padding:8px 11px;border-radius:999px;background:#e9edf0;color:#5b6470}.step.active{background:#162942;color:#fff}
.grid{display:grid;gap:16px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}label{display:block;font-weight:700;font-size:.85rem;margin-bottom:7px}input,textarea,select{width:100%;border:1px solid #ccd3db;border-radius:14px;padding:12px 13px;background:white;color:#142034;font:inherit}textarea{min-height:90px}
.choice{border:1px solid #d6dce3;border-radius:17px;padding:16px;background:white;cursor:pointer}.choice.selected{border-color:#b58545;box-shadow:0 0 0 2px #e8d4b2 inset}.choice b{display:block;margin-bottom:4px}.choice small{color:#68717c}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.card{min-height:265px;border-radius:18px;overflow:hidden;background:linear-gradient(155deg,#173a55,#09182b);color:white;border:1px solid rgba(217,181,109,.45);box-shadow:0 12px 26px #0002;display:flex;flex-direction:column}
.card .art{height:150px;overflow:hidden;position:relative;background:radial-gradient(circle at 62% 20%,#f6bd8f 0 4%,transparent 5%),linear-gradient(180deg,#6c6684,#c07a70 50%,#1d4a58 51%,#0b2939);position:relative}.card .art:before{content:"";position:absolute;inset:auto 0 20px;height:1px;background:#f3cb8a;box-shadow:0 8px 14px #f3cb8a}.card .body{padding:12px}.card .num{font-size:.7rem;color:#d3b477;letter-spacing:.14em}.card h3{font:1.05rem Georgia,serif;margin:.3em 0}.card p{font-size:.78rem;color:#d9e0e7;line-height:1.45;margin:.4em 0}
.reading{background:#f6f0e6;border-radius:18px;padding:20px;margin-top:18px;border-left:4px solid #c89a58}.reading h3{font-family:Georgia,serif}.optional{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.opt{border:1px solid #d7dce1;border-radius:18px;padding:18px;background:#fff}.opt h3{font-family:Georgia,serif;margin-top:0}.muted{color:#6d7580;font-size:.9rem;line-height:1.55}.astro-result{margin-top:14px;padding:14px;border-radius:14px;background:#edf2f6;display:none}
.footer{padding:55px 0;text-align:center;color:#bfcbd5;font-size:.85rem}.footer b{font-family:Georgia,serif;color:#e6c98e;letter-spacing:.12em}
.hidden{display:none!important}
@media(max-width:800px){.hero{grid-template-columns:1fr;text-align:center;padding-top:45px}.hero p{margin-inline:auto}.cta{justify-content:center}.orbwrap{min-height:280px}.orb{width:240px}.stats{grid-template-columns:1fr 1fr 1fr}.g3,.g2,.optional{grid-template-columns:1fr}.panel{border-radius:20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-height:230px}.card .art{height:118px}}

.main-navigation{display:flex;align-items:center;gap:16px;margin-left:auto}
.main-navigation a{font-size:.83rem;font-weight:650;text-decoration:none;color:#f7f2e8;white-space:nowrap}
.main-navigation a:hover,.main-navigation a:focus-visible{color:#e6c47e;text-decoration:underline}

.numerologie{background:linear-gradient(160deg,rgba(249,243,232,.97),rgba(226,235,239,.96));border:1px solid #ab864e}.numerologie h2{font-family:Cinzel,Georgia,serif;color:#70532b}.numerologie form{margin:22px 0}.numerologie form .btn{margin-top:16px}.num-link{display:block;border:0;background:none;color:#6b4d21;text-decoration:underline;cursor:pointer;margin-top:7px}.num-grid,.num-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:16px 0}.num-grid>div,.num-months>div{padding:12px;border:1px solid #d5bc8e;border-radius:12px;background:#fff;text-align:center}.num-grid strong{display:block;font:2.2rem Cinzel,serif;color:#80612b}.num-grid span,.num-months span{display:block}.num-months strong{color:#80612b;font:1.4rem Cinzel,serif}.numerologie [hidden]{display:none}
.date-entry-help{display:block;margin:5px 0 11px;color:#526177;line-height:1.4}.date-entry-help.date-entry-error,.time-entry-help.time-entry-error{color:#a02931;font-weight:700}
.time-entry-help{display:block;margin:5px 0 11px;color:#526177;line-height:1.4}

.num-hero{padding:44px 0 26px;background:linear-gradient(90deg,rgba(7,19,39,.9),rgba(7,19,39,.55)),url('./accueil-cristariva.png') center 55%/cover}
.num-hero h1{font:clamp(2rem,5vw,3.6rem) Cinzel,Georgia,serif;color:var(--gold);margin:12px 0}
.num-hero p{max-width:650px;line-height:1.7}.num-hero a{font-size:.9rem}.brand{text-decoration:none;flex-shrink:0}
.main-navigation a[aria-current="page"]{color:var(--gold);text-decoration:underline;text-underline-offset:6px}
.topbar .nav{flex-wrap:wrap}.main-navigation{flex-wrap:wrap}.numerologie h2{font-size:1.5rem}.numerologie input:focus-visible,.numerologie select:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #ab864e;outline-offset:3px}
@media(max-width:1050px){.main-navigation{order:3;width:100%;margin:0;justify-content:center;gap:12px}.main-navigation a{white-space:normal;text-align:center}.num-hero{padding-top:24px}}
@media(max-width:500px){.main-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.main-navigation a{padding:5px;font-size:.8rem}.main-navigation a:last-child{grid-column:1/-1}.num-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.numerologie{padding:22px 18px}}

/* Bandeau Numérologie : même composition que l'écran Astrologie. */
.num-screen-hero{padding:32px 28px 24px;margin:18px auto 22px;border-radius:22px;overflow:hidden;box-shadow:0 16px 42px rgba(4,20,40,.16)}
.num-screen-hero h1{font:clamp(2rem,4vw,3.35rem)/1.08 Georgia,serif;margin:0 0 9px;color:#f4d98e}
.num-screen-hero p{max-width:920px;line-height:1.55;margin:0;color:#f4efe5}
.num-screen-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.num-screen-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-width:0;text-decoration:none;padding:13px 20px}
.num-screen-actions .btn.ghost{background:#102f51;color:#f7f2e8;border:1px solid rgba(217,181,109,.48);border-radius:999px}
.num-screen-actions .btn.primary{background:linear-gradient(135deg,#f2d493,#e3a23f);color:#172033;border:1px solid rgba(255,240,196,.72);border-radius:999px;font-weight:800;box-shadow:0 9px 22px rgba(0,0,0,.16)}
.num-screen-actions .btn:hover,.num-screen-actions .btn:focus-visible{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.2);text-decoration:none}
@media(max-width:600px){.num-screen-hero{padding:24px 18px}.num-screen-actions .btn{width:100%}}
