/* nova.css — Nova Cosmic shared design system ("Element-Welt")
   Standalone (no Tailwind dependency). Loaded after the Vite build CSS.
   Reason: build pipeline not present on prod server; many TW utilities are
   purged from the deployed app-*.css. This backfills a cohesive system. */

:root{ --nv-bg:#0D0D1A; --nv-b1:#a78bfa; --nv-b2:#22d3ee; }

/* ---- element themes (scope sets --ac/--ac2/--glow/--soft) ---- */
.el-feuer { --ac:#ff8a4c; --ac2:#ffd27a; --glow:rgba(255,138,76,.30); --soft:rgba(255,138,76,.10); }
.el-erde  { --ac:#cdb06a; --ac2:#a9c98a; --glow:rgba(190,165,100,.28); --soft:rgba(190,165,100,.10); }
.el-luft  { --ac:#a7d8ec; --ac2:#cdbcf0; --glow:rgba(167,216,236,.28); --soft:rgba(167,216,236,.10); }
.el-wasser{ --ac:#4ec0d4; --ac2:#7e96ea; --glow:rgba(78,192,212,.28);  --soft:rgba(78,192,212,.10); }
.nv{ --ac:var(--nv-b1); --ac2:var(--nv-b2); --glow:rgba(124,92,250,.26); --soft:rgba(124,92,250,.09); }

/* ---- layout: container + universal fixed-nav clearance ---- */
.nv-wrap{ max-width:72rem; margin:0 auto; padding:7rem 1.25rem 5rem; }
.nv-wrap.nv-narrow{ max-width:56rem; }
.nv-wrap.nv-tight{ max-width:48rem; }
@media(min-width:640px){ .nv-wrap{ padding-left:1.5rem; padding-right:1.5rem; } }

/* ---- rhythm ---- */
.nv-section{ margin-bottom:4.5rem; }
.nv-section-sm{ margin-bottom:2.75rem; }
.nv-center{ text-align:center; }

/* ---- eyebrow / divider / headings ---- */
.nv-eyebrow{ font-size:.72rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--ac); }
.nv-rule{ display:flex; align-items:center; gap:.75rem; margin-bottom:1.25rem; }
.nv-rule::before{ content:""; height:2px; width:46px; border-radius:2px; background:linear-gradient(90deg,var(--ac),transparent); flex:0 0 auto; }
.nv-rule-label{ font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.nv-h1{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:700; font-size:clamp(2.2rem,5vw,3.2rem); line-height:1.05; letter-spacing:-.02em; color:#fff; margin:0; }
.nv-h2{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:800; font-size:clamp(1.4rem,3vw,1.9rem); line-height:1.14; letter-spacing:-.01em; color:#fff; margin:0; }
.nv-h3{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:700; font-size:1.12rem; color:#fff; margin:0; }
.nv-lead{ font-size:1.1rem; line-height:1.72; color:rgba(255,255,255,.82); }
.nv-lead.nv-drop::first-letter{ font-size:3.1rem; float:left; line-height:.8; margin:.05em .14em 0 0; color:var(--ac); font-weight:800; font-family:Georgia,serif; }
.nv-sub{ color:rgba(255,255,255,.55); line-height:1.65; }
.nv-muted{ color:rgba(255,255,255,.45); }

/* ---- cards ---- */
.nv-card{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09); border-radius:22px; }
.nv-glass{ background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.10); border-radius:22px; }
.nv-pad{ padding:1.5rem; }
@media(min-width:640px){ .nv-pad{ padding:2rem; } }
.nv-accent{ color:var(--ac); }

/* ---- hero glow + glyph ---- */
.nv-hero{ position:relative; text-align:center; }
.nv-glow{ position:absolute; left:50%; top:-60px; transform:translateX(-50%); width:360px; height:360px; max-width:92vw; background:radial-gradient(circle,var(--glow),transparent 66%); pointer-events:none; z-index:0; }
.nv-hero > :not(.nv-glow){ position:relative; z-index:1; }
.nv-glyph{ width:6rem; height:6rem; object-fit:contain; margin:0 auto; display:block; filter:drop-shadow(0 0 24px var(--glow)); }
@media(min-width:640px){ .nv-glyph{ width:7rem; height:7rem; } }

/* ---- chips ---- */
.nv-chip{ display:inline-block; border:1px solid var(--ac); background:var(--soft); color:#fff; font-size:.82rem; padding:.32rem .8rem; border-radius:999px; }
.nv-chip-muted{ display:inline-block; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.05); color:rgba(255,255,255,.75); font-size:.82rem; padding:.32rem .8rem; border-radius:999px; }

/* ---- grids ---- */
.nv-grid{ display:grid; gap:1rem; }
.nv-grid-2,.nv-grid-3,.nv-grid-4{ grid-template-columns:1fr; }
@media(min-width:640px){ .nv-grid-2{grid-template-columns:repeat(2,1fr);} .nv-grid-3{grid-template-columns:repeat(2,1fr);} .nv-grid-4{grid-template-columns:repeat(2,1fr);} }
@media(min-width:1024px){ .nv-grid-3{grid-template-columns:repeat(3,1fr);} .nv-grid-4{grid-template-columns:repeat(4,1fr);} }

/* ---- selection card (zodiac) — element themed ---- */
.nv-pick{ position:relative; display:flex; align-items:center; gap:1rem; padding:1.1rem 1.25rem; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); overflow:hidden; transition:.22s; text-decoration:none; }
.nv-pick:hover{ background:rgba(255,255,255,.07); border-color:var(--ac); transform:translateY(-2px); }
.nv-pick::before{ content:""; position:absolute; top:0; bottom:0; left:0; width:3px; background:var(--ac); }
.nv-pick .gly{ width:3rem; height:3rem; object-fit:contain; flex:0 0 auto; filter:drop-shadow(0 0 10px var(--glow)); }
.nv-pick .ttl{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:700; font-size:1.05rem; color:#fff; line-height:1.1; }
.nv-pick .el{ font-size:.72rem; font-weight:600; color:var(--ac); margin-top:.15rem; }
.nv-pick .meta{ font-size:.72rem; color:rgba(255,255,255,.4); margin-top:.1rem; }
.nv-pick .arr{ margin-left:auto; color:rgba(255,255,255,.22); font-size:1.1rem; transition:.22s; flex:0 0 auto; }
.nv-pick:hover .arr{ color:var(--ac); }

/* ---- number token (numerology) — element themed ---- */
.nv-num{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:6.5rem; padding:1rem .5rem; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); transition:.22s; text-decoration:none; overflow:hidden; }
.nv-num:hover{ border-color:var(--ac); background:var(--soft); transform:translateY(-2px); }
.nv-num .n{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:800; font-size:1.9rem; color:#fff; line-height:1; }
.nv-num .l{ font-size:.7rem; color:var(--ac); margin-top:.35rem; text-align:center; }

/* ---- tabs ---- */
.nv-tabs{ display:flex; flex-wrap:wrap; gap:.5rem; }
.nv-tab{ padding:.5rem 1rem; border-radius:999px; font-size:.9rem; border:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.65); transition:.2s; text-decoration:none; }
.nv-tab:hover{ color:#fff; border-color:rgba(255,255,255,.4); }
.nv-tab-on{ background:var(--soft); border-color:var(--ac); color:#fff; }

/* ---- facts dl ---- */
.nv-facts{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem 1.5rem; }
@media(min-width:640px){ .nv-facts{ grid-template-columns:repeat(3,1fr); } }
.nv-facts dt{ font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.4); margin-bottom:.15rem; }
.nv-facts dd{ color:#fff; font-weight:600; margin:0; }

/* ---- faq ---- */
.nv-faq > * + *{ margin-top:.75rem; }
.nv-faq details{ border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.04); border-radius:16px; padding:1.05rem 1.25rem; }
.nv-faq summary{ cursor:pointer; font-weight:600; color:#fff; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.nv-faq summary::-webkit-details-marker{ display:none; }
.nv-faq summary .pl{ color:var(--ac); font-size:1.25rem; transition:.2s; flex:0 0 auto; }
.nv-faq details[open] summary .pl{ transform:rotate(45deg); }
.nv-faq p{ color:rgba(255,255,255,.7); line-height:1.65; margin:.75rem 0 0; }

/* ---- cta ---- */
.nv-cta{ position:relative; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.1); padding:2.5rem 1.5rem; text-align:center; background:linear-gradient(135deg,var(--soft),rgba(255,255,255,.02)); }

/* ---- callout ---- */
.nv-callout{ border:1px solid rgba(255,255,255,.1); border-radius:22px; padding:1.5rem; background:linear-gradient(135deg,var(--soft),transparent); }

/* ---- buttons ---- */
.nv-btn{ display:inline-block; background:linear-gradient(90deg,var(--nv-b1),var(--nv-b2)); color:#0b0b16; font-weight:700; padding:.85rem 1.75rem; border-radius:999px; text-decoration:none; border:0; cursor:pointer; transition:.2s; }
.nv-btn:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.nv-btn-ghost{ display:inline-block; border:1px solid rgba(255,255,255,.25); color:#fff; padding:.85rem 1.75rem; border-radius:999px; text-decoration:none; transition:.2s; }
.nv-btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.06); }
.nv-btn-block{ width:100%; text-align:center; }

/* ---- form (cosmic, for shop) ---- */
.nv-field{ display:block; font-size:.85rem; color:rgba(255,255,255,.7); font-weight:600; margin:1rem 0 .35rem; }
.nv-input{ width:100%; padding:.85rem 1rem; border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(255,255,255,.05); color:#fff; font-size:1rem; box-sizing:border-box; }
.nv-input::placeholder{ color:rgba(255,255,255,.35); }
.nv-input:focus{ outline:none; border-color:var(--ac); background:rgba(255,255,255,.08); }
.nv-check{ display:flex; gap:.65rem; align-items:flex-start; margin:.9rem 0; font-size:.82rem; color:rgba(255,255,255,.7); line-height:1.5; }
.nv-check input{ margin-top:.2rem; accent-color:var(--nv-b1); }
.nv-check a{ color:var(--ac); }

/* ---- helpers ---- */
.nv-bullets{ list-style:none; padding:0; margin:0; }
.nv-bullets li{ position:relative; padding:.65rem 0 .65rem 1.9rem; color:rgba(255,255,255,.82); border-bottom:1px solid rgba(255,255,255,.07); line-height:1.5; }
.nv-bullets li:last-child{ border-bottom:0; }
.nv-bullets li::before{ content:"\2726"; position:absolute; left:0; top:.65rem; color:var(--ac); }
.nv-link{ color:var(--ac); text-decoration:none; }
.nv-link:hover{ text-decoration:underline; }

/* ---- navigation ---- */
.nv-navrow{ display:flex; align-items:center; gap:1.55rem; }
.nv-navlink{ font-size:.875rem; color:rgba(255,255,255,.7); text-decoration:none; transition:.2s; white-space:nowrap; }
.nv-navlink:hover{ color:#fff; }
.nv-navlink.is-active{ color:#fff; }
.nv-caret{ display:inline-flex; align-items:center; gap:.3rem; }
.nv-menu{ position:absolute; right:0; margin-top:.6rem; width:17.5rem; border-radius:18px; padding:.5rem; background:#15132a; border:1px solid rgba(255,255,255,.12); box-shadow:0 22px 55px rgba(0,0,0,.55); z-index:60; }
.nv-menu a{ display:block; padding:.6rem .75rem; border-radius:12px; text-decoration:none; transition:.15s; }
.nv-menu a:hover{ background:rgba(255,255,255,.06); }
.nv-menu .mt{ display:block; font-size:.875rem; font-weight:600; color:#fff; }
.nv-menu .md{ display:block; font-size:.75rem; color:rgba(255,255,255,.46); margin-top:.1rem; }
.nv-menu-left{ left:0; right:auto; }
.nv-mobwrap{ display:flex; flex-direction:column; }
.nv-moblink{ display:block; color:rgba(255,255,255,.82); text-decoration:none; padding:.7rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
.nv-moblink:hover{ color:#fff; }
.nv-mobhead{ font-size:.7rem; text-transform:uppercase; letter-spacing:.18em; color:rgba(255,255,255,.35); padding:1rem 0 .35rem; }

/* ---- footer reports column reuse ---- */
.nv-foot-h{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:600; color:#fff; margin-bottom:1rem; }

/* ---- hoverable cards / discover links ---- */
.nv-card-hover{ transition:.2s; text-decoration:none; display:block; }
.nv-card-hover:hover{ background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.2); transform:translateY(-2px); }
.nv-arrow{ color:var(--ac); }
.nv-discover-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }

/* ---- price / shop ---- */
.nv-price{ font-family:'Space Grotesk',system-ui,sans-serif; font-size:2.4rem; font-weight:700; color:#fff; line-height:1; }
.nv-price small{ display:block; font-size:.82rem; color:rgba(255,255,255,.5); font-weight:400; margin-top:.5rem; letter-spacing:.02em; }
.nv-stars{ color:#ffd27a; font-size:1.05rem; letter-spacing:.1em; }
.nv-stars span{ color:rgba(255,255,255,.55); font-size:.8rem; letter-spacing:0; margin-left:.4rem; }
.nv-err{ background:rgba(220,80,80,.14); border:1px solid rgba(220,80,80,.35); color:#ffb4b4; padding:.8rem 1rem; border-radius:12px; font-size:.9rem; margin-bottom:1rem; }
.nv-fieldhint{ color:#ff9b9b; font-size:.78rem; margin-top:.25rem; }

/* ---- score badge (compat) ---- */
.nv-score{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:800; }

/* ---- footer grid (brand + 4 link cols) ---- */
.nv-footgrid{ display:grid; gap:2rem; grid-template-columns:1fr; }
@media(min-width:768px){ .nv-footgrid{ grid-template-columns:1.7fr 1fr 1fr 1fr 1fr; } }

/* ---- nav responsive (self-contained; Tailwind md: utilities are purged on this prod build) ---- */
.nv-desktop-nav{ display:none; }
.nv-mobile-btn{ display:inline-flex; }
@media(min-width:768px){
  .nv-desktop-nav{ display:flex; align-items:center; gap:1.55rem; }
  .nv-mobile-btn{ display:none; }
  .nv-mobile-panel{ display:none !important; }
}

/* ===== Ratgeber / Article (added 2026-06-29) ===== */
.nv-article{max-width:840px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem;}
.nv-article .nv-h1{margin-bottom:1.1rem;}
.nv-sec{margin-top:2.4rem;}
.nv-prose{color:#d9dbe8;line-height:1.75;font-size:1.04rem;}
.nv-prose.nv-lead{font-size:1.12rem;color:#e7e8f3;}
.nv-prose p{margin:0 0 1.05rem;}
.nv-prose ul,.nv-prose ol{margin:0 0 1.1rem;padding-left:1.4rem;}
.nv-prose li{margin:.35rem 0;}
.nv-prose h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.32rem;color:#f3eddf;margin:1.8rem 0 .7rem;font-weight:600;}
.nv-prose strong{color:#f3eddf;font-weight:600;}
.nv-prose a{color:#a7d8ec;text-decoration:underline;text-underline-offset:2px;}
.nv-prose a:hover{color:#cdbcf0;}
.nv-relcard{display:block;padding:1.05rem 1.15rem;line-height:1.4;}
.nv-relcard strong{color:#f3eddf;}

/* ===== Cross-sell (added 2026-07-05) ===== */
.nv-xsell{ --acx:var(--ac,#a78bfa); position:relative; display:flex; gap:1.5rem; align-items:center; justify-content:space-between; flex-wrap:wrap; border:1px solid rgba(255,255,255,.10); border-radius:22px; padding:1.5rem; margin:2.5rem 0; background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02)); overflow:hidden; }
.nv-xsell::before{ content:""; position:absolute; top:0; bottom:0; left:0; width:3px; background:var(--acx); }
.nv-xsell-body{ flex:1 1 18rem; min-width:0; }
.nv-xsell-eyebrow{ font-size:.68rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--acx); margin:0 0 .4rem; }
.nv-xsell-title{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:700; font-size:1.18rem; color:#fff; margin:0 0 .4rem; }
.nv-xsell-copy{ color:rgba(255,255,255,.66); line-height:1.6; font-size:.95rem; margin:0; }
.nv-xsell-side{ flex:0 0 auto; text-align:center; }
.nv-xsell-price{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:700; font-size:1.7rem; color:#fff; margin:0; }
.nv-xsell-note{ font-size:.72rem; color:rgba(255,255,255,.45); margin:.25rem 0 .8rem; }
@media(max-width:640px){ .nv-xsell{ padding:1.25rem; } .nv-xsell-side{ flex:1 1 100%; } }

/* ===== Psychomatrix grid (added 2026-07-05) ===== */
.nv-mx{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; max-width:26rem; margin:0 auto; }
.nv-mx-cell{ min-height:6rem; border:1px solid rgba(255,255,255,.12); border-radius:14px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:rgba(255,255,255,.03); padding:.4rem; }
.nv-mx-cell .d{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:800; font-size:1.05rem; color:#fff; letter-spacing:.08em; min-height:1.3em; word-break:break-all; }
.nv-mx-cell .l{ font-size:.62rem; color:rgba(255,255,255,.45); text-transform:uppercase; letter-spacing:.08em; margin-top:.2rem; text-align:center; }
.nv-mx-cell.is-strong{ border-color:var(--ac,#a78bfa); background:var(--soft,rgba(124,92,250,.09)); }
.nv-mx-cell.is-empty .d{ color:rgba(255,255,255,.22); }
/* ===== 12x12 compat matrix ===== */
.nv-cmpx-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.nv-cmpx{ border-collapse:separate; border-spacing:.25rem; min-width:640px; margin:0 auto; }
.nv-cmpx th{ font-size:.68rem; color:rgba(255,255,255,.5); font-weight:600; padding:.25rem; text-align:center; }
.nv-cmpx th img{ width:1.4rem; height:1.4rem; object-fit:contain; display:block; margin:0 auto .15rem; }
.nv-cmpx td a{ display:block; text-align:center; font-size:.78rem; font-weight:700; color:#fff; padding:.45rem .3rem; border-radius:8px; background:rgba(167,139,250,calc(var(--s,.5)*.55)); text-decoration:none; transition:.15s; }
.nv-cmpx td a:hover{ outline:1px solid var(--nv-b1); transform:scale(1.06); }

/* =====================================================================
   WUNDERLAND DESIGN SYSTEM (.wl-*) — added 2026-07-11
   Scope: Spiegelstunden-Cluster ONLY (/spiegelstunden + 24 Detail-Seiten).
   Experiment-Zone per PLAN-WUNDERLAND-P1.md — additive, does not touch
   any .nv-* rule above. Activated via body.wl (see layouts/app.blade.php
   @yield('body-class')).
   ===================================================================== */

:root{
  --wl-ivory:#F7F3EA;
  --wl-ivory-deep:#EFE8D8;
  --wl-midnight:#1A1B2E;
  --wl-gold:#C9A227;
  --wl-gold-deep:#A9861E;
  --wl-sage:#9BA88D;
}

/* ---- Fraunces (self-hosted, OFL) — Display-Rolle NUR H1/H2/Zeit ---- */
@font-face{
  font-family:'Fraunces';
  src:url('/fonts/fraunces-v38-latin-regular.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Fraunces';
  src:url('/fonts/fraunces-v38-latin-600.woff2') format('woff2');
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Fraunces';
  src:url('/fonts/fraunces-v38-latin-italic.woff2') format('woff2');
  font-weight:400; font-style:italic; font-display:swap;
}

/* ---- page scope ---- */
body.wl{ background:var(--wl-ivory); }
body.wl .starfield{ display:none; }
body.wl main{ color:var(--wl-midnight); }

/* ---- header/footer CSS-only reskin (partials untouched, scoped override) ---- */
body.wl header{ background:var(--wl-ivory) !important; border-bottom:1px solid rgba(26,27,46,.10) !important; box-shadow:none !important; }
body.wl header a{ color:var(--wl-midnight); }
body.wl header span.font-display{ color:var(--wl-midnight) !important; }
body.wl header .nv-navlink{ color:rgba(26,27,46,.65); }
body.wl header .nv-navlink:hover,
body.wl header .nv-navlink.is-active{ color:var(--wl-gold-deep); }
body.wl header .nv-menu{ background:var(--wl-ivory) !important; border-color:rgba(26,27,46,.12) !important; box-shadow:0 22px 55px rgba(26,27,46,.18) !important; }
body.wl header .nv-menu .mt{ color:var(--wl-midnight) !important; }
body.wl header .nv-menu .md{ color:rgba(26,27,46,.55) !important; }
body.wl header .nv-menu a:hover{ background:rgba(201,162,39,.10) !important; }
body.wl header .btn-cosmic{ background:linear-gradient(90deg,var(--wl-gold),var(--wl-gold-deep)) !important; color:var(--wl-midnight) !important; }
body.wl header button svg,
body.wl header .nv-mobile-btn svg{ color:var(--wl-midnight); stroke:var(--wl-midnight); }
body.wl header .nv-moblink{ color:rgba(26,27,46,.75) !important; border-color:rgba(26,27,46,.1) !important; }
body.wl header .nv-mobhead{ color:rgba(26,27,46,.4) !important; }

body.wl footer{ background:var(--wl-ivory-deep) !important; border-color:rgba(26,27,46,.12) !important; }
body.wl footer .nv-foot-h{ color:var(--wl-midnight) !important; }
body.wl footer span.font-display{ color:var(--wl-midnight) !important; }
body.wl footer p,
body.wl footer a,
body.wl footer li a{ color:rgba(26,27,46,.6) !important; }
body.wl footer a:hover{ color:var(--wl-gold-deep) !important; }
body.wl footer .border-t{ border-color:rgba(26,27,46,.12) !important; }

/* ---- container ---- */
.wl-wrap{ max-width:64rem; margin:0 auto; padding:7rem 1.25rem 5rem; }
@media(min-width:640px){ .wl-wrap{ padding-left:1.5rem; padding-right:1.5rem; } }
.wl-section{ margin:3rem 0; }

/* ---- breadcrumb ---- */
.wl-breadcrumb{ font-size:.82rem; color:rgba(26,27,46,.5); margin:0 0 2rem; }
.wl-breadcrumb a{ color:var(--wl-gold-deep); text-decoration:none; }
.wl-breadcrumb a:hover{ text-decoration:underline; }

/* ---- headings (Fraunces = Display-Rolle) ---- */
.wl-h1{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:clamp(1.9rem,4.2vw,2.8rem); line-height:1.08; letter-spacing:-.01em; color:var(--wl-midnight); margin:.6rem 0 .9rem; }
.wl-h2{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:clamp(1.3rem,2.6vw,1.7rem); line-height:1.16; color:var(--wl-midnight); margin:0 0 .85rem; }

/* ---- hero (show-page: Zeit links, K1-Illu rechts) ---- */
.wl-hero{ display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; margin:1.5rem 0 3rem; }
@media(min-width:768px){ .wl-hero{ grid-template-columns:1.35fr 1fr; gap:3rem; } }
.wl-hero-kicker{ font-size:.72rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--wl-gold-deep); margin:0 0 1rem; }
.wl-time{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:clamp(4.5rem,10vw,8rem); line-height:.95; letter-spacing:-.02em; color:var(--wl-midnight); font-variant-numeric:tabular-nums; margin:0 0 .6rem; }
.wl-hero-title{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-style:italic; font-size:clamp(1.3rem,2.4vw,1.7rem); color:var(--wl-midnight); margin:.25rem 0 1.1rem; }
.wl-hero-essence{ font-family:Georgia,'Times New Roman',serif; font-size:1.05rem; line-height:1.7; color:rgba(26,27,46,.75); max-width:34rem; margin:0; }
.wl-updated{ font-family:Georgia,'Times New Roman',serif; font-size:.82rem; color:rgba(26,27,46,.5); margin:.85rem 0 0; }
.wl-hero-illu img,
.wl-hero-illu video{ width:100%; height:auto; border-radius:20px; display:block; }

/* ---- bento (hub) ---- */
.wl-bento{ display:grid; grid-template-columns:1fr; gap:1.25rem; margin:1.5rem 0 3rem; }
@media(min-width:768px){ .wl-bento{ grid-template-columns:1.3fr 1fr; align-items:stretch; } }
.wl-bento-portal{ background:var(--wl-ivory-deep); border-radius:24px; padding:2.25rem 2rem; text-align:center; display:flex; flex-direction:column; justify-content:center; }
.wl-bento-portal img{ width:100%; max-width:210px; margin:0 auto 1.4rem; display:block; }
.wl-bento-cell{ background:rgba(255,255,255,.55); border:1px solid rgba(26,27,46,.10); border-radius:24px; padding:2rem; display:flex; flex-direction:column; justify-content:center; }
.wl-body-sm{ font-family:Georgia,'Times New Roman',serif; font-size:.98rem; line-height:1.75; color:rgba(26,27,46,.75); margin:0; }

/* ---- gold rule divider ---- */
.wl-rule{ display:flex; align-items:center; gap:.85rem; margin:3rem 0 1.5rem; }
.wl-rule::before,.wl-rule::after{ content:""; height:1px; flex:1 1 auto; background:linear-gradient(90deg,transparent,var(--wl-gold),transparent); }
.wl-rule-label{ font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:600; font-size:1.1rem; color:var(--wl-gold-deep); white-space:nowrap; }

/* ---- deutungs-body (max 68ch, line-height 1.8, Georgia) ---- */
.wl-body{ font-family:Georgia,'Times New Roman',serif; font-size:1.05rem; line-height:1.8; color:rgba(26,27,46,.85); max-width:68ch; margin:0 auto; }
.wl-body p{ margin:0 0 1.3rem; }
.wl-body p:last-child{ margin-bottom:0; }
.wl-body .wl-h2{ margin-top:2.4rem; }
.wl-body .wl-h2:first-child{ margin-top:0; }
.wl-body-figure{ margin:2.5rem auto; max-width:22rem; }
.wl-body-figure img{ width:100%; height:auto; border-radius:20px; display:block; }

/* ---- .wl-body prose extras: rohe <h3>/<ul>/<li>/<a> aus Ratgeber-Artikel-JSON (body_html
   traegt keine wl-Klassen) -- P3b Ratgeber-Wunderland-Konvertierung 2026-07-12. Additiv,
   nur innerhalb .wl-body scoped, aendert bestehende wl-Body-Nutzer (wissen-hub/spiegelstunden)
   nicht, weil deren Section-HTML keine h3/ul/a enthaelt. */
.wl-body h3{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.15rem; line-height:1.3; color:var(--wl-midnight); margin:2rem 0 .75rem; }
.wl-body ul{ list-style:none; margin:0 0 1.3rem; padding:0; }
.wl-body ul:last-child{ margin-bottom:0; }
.wl-body li{ position:relative; padding:.3rem 0 .3rem 1.3rem; }
.wl-body li::before{ content:"\25C6"; position:absolute; left:0; top:.65rem; font-size:.5rem; color:var(--wl-gold); }
.wl-body a{ color:var(--wl-gold-deep); text-decoration:underline; text-decoration-color:rgba(201,162,39,.4); }
.wl-body a:hover{ text-decoration-color:var(--wl-gold-deep); }

/* ---- chips ---- */
.wl-chips{ display:flex; flex-wrap:wrap; gap:.55rem; justify-content:center; margin:2.5rem auto; max-width:68ch; }
.wl-chip{ display:inline-block; border:1px solid var(--wl-gold); color:var(--wl-gold-deep); background:rgba(201,162,39,.08); font-size:.82rem; font-weight:600; padding:.4rem .95rem; border-radius:999px; }

/* ---- callout (Engelszahl / numerologischer Bezug) ---- */
.wl-callout{ background:rgba(155,168,141,.12); border:1px solid rgba(26,27,46,.12); border-radius:20px; padding:1.5rem 1.75rem; margin:2rem auto; max-width:68ch; }
.wl-callout-eyebrow{ font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--wl-gold-deep); margin:0 0 .5rem; }
.wl-callout p{ margin:0; color:rgba(26,27,46,.75); line-height:1.6; font-family:Georgia,'Times New Roman',serif; }
.wl-callout .wl-link{ display:inline-block; margin-top:.75rem; }
.wl-link{ color:var(--wl-gold-deep); font-weight:600; text-decoration:none; }
.wl-link:hover{ text-decoration:underline; }

/* ---- uhrzeiten-grid (hub: 24 volle Zellen) ---- */
.wl-times-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:.65rem; }
@media(min-width:640px){ .wl-times-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .wl-times-grid{ grid-template-columns:repeat(4,1fr); } }
.wl-time-cell{ display:block; text-align:center; padding:1rem .75rem; border:1px solid rgba(26,27,46,.14); border-radius:16px; background:rgba(255,255,255,.5); text-decoration:none; transition:.2s; }
.wl-time-cell:hover{ border-color:var(--wl-gold); background:rgba(201,162,39,.08); transform:translateY(-2px); }
.wl-time-cell .t{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.3rem; color:var(--wl-midnight); display:block; }
.wl-time-cell .ti{ font-size:.78rem; font-weight:600; color:var(--wl-gold-deep); display:block; margin-top:.3rem; }
.wl-time-cell .l{ font-size:.72rem; line-height:1.4; color:rgba(26,27,46,.5); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:.25rem; }

/* ---- uhrzeiten-grid compact (show: „Andere Uhrzeiten"-Pillen) ---- */
.wl-times-grid-compact{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; }
.wl-time-cell-sm{ display:inline-block; padding:.45rem 1rem; border:1px solid rgba(26,27,46,.16); border-radius:999px; font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:.92rem; color:var(--wl-midnight); text-decoration:none; background:rgba(255,255,255,.5); transition:.2s; }
.wl-time-cell-sm:hover{ border-color:var(--wl-gold); background:rgba(201,162,39,.1); }
.wl-time-cell-sm.is-current{ background:var(--wl-gold); border-color:var(--wl-gold-deep); color:var(--wl-ivory); }

/* ---- moon accent (decorative section divider) ---- */
.wl-moon-accent{ max-width:96px; margin:0 auto 2rem; opacity:.9; }
.wl-moon-accent img{ width:100%; height:auto; display:block; }

/* ---- faq accordion (sanfte grid-template-rows transition, kein JS nötig) ---- */
.wl-faq > * + *{ margin-top:.75rem; }
.wl-faq details{ border:1px solid rgba(26,27,46,.12); background:rgba(255,255,255,.5); border-radius:16px; overflow:hidden; }
.wl-faq summary{ cursor:pointer; font-weight:600; color:var(--wl-midnight); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.05rem 1.25rem; }
.wl-faq summary::-webkit-details-marker{ display:none; }
.wl-faq summary .pl{ color:var(--wl-gold-deep); font-size:1.25rem; transition:.25s; flex:0 0 auto; }
.wl-faq details[open] summary .pl{ transform:rotate(45deg); }
.wl-faq .wl-faq-body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease; }
.wl-faq details[open] .wl-faq-body{ grid-template-rows:1fr; }
.wl-faq .wl-faq-body-inner{ overflow:hidden; }
.wl-faq .wl-faq-body-inner p{ margin:0; padding:0 1.25rem 1.05rem; color:rgba(26,27,46,.7); line-height:1.65; font-family:Georgia,'Times New Roman',serif; }

/* ---- dark gold CTA block ---- */
.wl-cta{ position:relative; overflow:hidden; background:linear-gradient(160deg,var(--wl-midnight),#12131f); border-radius:26px; padding:3rem 1.75rem; text-align:center; color:var(--wl-ivory); margin:3.5rem 0 1rem; }
.wl-cta::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%,rgba(201,162,39,.22),transparent 60%); pointer-events:none; }
.wl-cta > *{ position:relative; z-index:1; }
.wl-cta-eyebrow{ font-size:.72rem; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--wl-gold); margin:0 0 .85rem; }
.wl-cta-title{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-style:italic; font-size:clamp(1.5rem,3.2vw,2.1rem); color:var(--wl-ivory); margin:0 0 1rem; }
.wl-cta-sub{ font-size:.98rem; line-height:1.65; color:rgba(247,243,234,.72); max-width:30rem; margin:0 auto 1.75rem; font-family:Georgia,'Times New Roman',serif; }
.wl-cta-btn{ display:inline-block; background:linear-gradient(90deg,var(--wl-gold),var(--wl-gold-deep)); color:var(--wl-midnight); font-weight:700; padding:.9rem 2rem; border-radius:999px; text-decoration:none; transition:.2s; }
.wl-cta-btn:hover{ filter:brightness(1.08); transform:translateY(-1px); }

/* ---- scroll-reveal (IntersectionObserver-driven; no-JS/reduced-motion safe) ----
   .wl-js is added by a tiny inline head-script (see spiegelstunden blades) BEFORE
   paint, so no-JS visitors and reduced-motion users always see full content. */
.wl-reveal{ transition:opacity .6s ease, transform .6s ease; }
html.wl-js .wl-reveal{ opacity:0; transform:translateY(18px); }
html.wl-js .wl-reveal.is-visible{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){
  .wl-reveal, html.wl-js .wl-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

.wl-hero-illu video{object-fit:cover}

/* .wl-Scope: Cross-Sell-Karte lesbar in der Light-Zone (Partial ist dark-theme-designt —
   weiße Schrift war auf Elfenbein unsichtbar, Fund Fable-Review 2026-07-11). Dunkle Karte
   wie der wl-cta-Block, Button in Gold statt Lila/Cyan-Gradient (Zonen-Konsistenz). */
.wl .nv-xsell{background:#1A1B2E;border:1px solid rgba(201,162,39,.35);border-radius:14px}
.wl .nv-xsell .nv-btn,.wl .nv-xsell a.nv-btn,.wl .nv-xsell [class*=btn]{background:linear-gradient(120deg,#C9A227,#E4C453);color:#1A1B2E}

/* =====================================================================
   WUNDERLAND DESIGN SYSTEM — component welle 2 (.wl-input/.wl-pick/...)
   — added 2026-07-12 (Welle 1A design-polish, PLAN-OVERNIGHT-2026-07-12.md)
   Zweck: zentralisiert 8 Bausteine, die beim P3a-Rollout (9 Landing-Blades)
   noch inline geloest waren (Formularfelder, Element-Akzente, dunkle Panels,
   Bullet-Listen). Additiv zur bestehenden .wl-Sektion oben -- nichts wird
   entfernt, nur ergaenzt. Scope bleibt die Wunderland-Zone (body.wl).
   ===================================================================== */

/* ---- form fields (elfenbein-grund -- helle Formulare ausserhalb dunkler Panels) ---- */
.wl-field{ display:block; font-size:.85rem; color:rgba(26,27,46,.65); font-weight:600; margin:1rem 0 .35rem; }
.wl-input{ width:100%; padding:.85rem 1rem; border:1px solid rgba(26,27,46,.18); border-radius:12px; background:#fff; color:var(--wl-midnight); font-size:1rem; box-sizing:border-box; }
.wl-input::placeholder{ color:rgba(26,27,46,.35); }
.wl-input:focus{ outline:none; border-color:var(--wl-gold); box-shadow:0 0 0 3px rgba(201,162,39,.14); }
.wl-input--c{ text-align:center; }
.wl-err{ background:rgba(200,60,60,.10); border:1px solid rgba(200,60,60,.35); color:#a33a3a; padding:.8rem 1rem; border-radius:12px; font-size:.9rem; margin-bottom:1rem; }

/* ---- element accent modifiers (Feuer/Erde/Luft/Wasser) -- gedeckte Erdtoene,
   bewusst NICHT die grelleren --ac/--ac2-Neonwerte der dunklen .nv-*-Zone
   (Zeilen 9-12 oben), da hier auf hellem #F7F3EA-Grund. Non-text-Kontrast
   (Rand+Punkt) gegen #F7F3EA grob geprueft, alle vier >=3:1. Kombinierbar mit
   .wl-pick UND .wl-time-cell. ---- */
.wl-el-feuer{ --wl-el:#C1622E; }
.wl-el-erde{ --wl-el:#7C8A4E; }
.wl-el-luft{ --wl-el:#3E7EA6; }
.wl-el-wasser{ --wl-el:#3E6E8E; }
[class*="wl-el-"]{ border-top:3px solid var(--wl-el); position:relative; }
[class*="wl-el-"]::after{ content:""; position:absolute; top:.55rem; right:.55rem; width:.4rem; height:.4rem; border-radius:50%; background:var(--wl-el); }

/* ---- pick (Karten-Grid-Zelle, z.B. Sternzeichen-/Zahlen-Auswahl) ---- */
.wl-pick{ display:block; text-align:center; padding:1rem .75rem; border:1px solid rgba(26,27,46,.14); border-radius:16px; background:rgba(255,255,255,.5); text-decoration:none; transition:.2s; }
.wl-pick:hover{ border-color:var(--wl-gold); background:rgba(201,162,39,.08); transform:translateY(-2px); }
.wl-pick .t{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.3rem; color:var(--wl-midnight); display:block; }
.wl-pick .ti{ font-size:.78rem; font-weight:600; color:var(--wl-gold-deep); display:block; margin-top:.3rem; }
.wl-pick .l{ font-size:.72rem; line-height:1.4; color:rgba(26,27,46,.5); margin-top:.25rem; }

/* ---- card-wide (wie wl-time-cell, aber ohne line-clamp -- Platz fuer 2-Satz-
   Beschreibung + Sekundaer-Link-Zeile, z.B. Engelszahlen-Karten) ---- */
.wl-card-wide{ display:block; padding:1.4rem 1.5rem; border:1px solid rgba(26,27,46,.14); border-radius:20px; background:rgba(255,255,255,.5); text-decoration:none; transition:.2s; }
.wl-card-wide:hover{ border-color:var(--wl-gold); background:rgba(201,162,39,.06); transform:translateY(-2px); }
.wl-card-wide .t{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.5rem; color:var(--wl-midnight); display:block; }
.wl-card-wide .ti{ font-size:.8rem; font-weight:600; color:var(--wl-gold-deep); display:block; margin-top:.3rem; }
.wl-card-wide .l{ font-family:Georgia,'Times New Roman',serif; font-size:.92rem; line-height:1.6; color:rgba(26,27,46,.65); margin-top:.65rem; }
.wl-card-wide .more{ display:block; margin-top:.85rem; font-size:.82rem; font-weight:600; color:var(--wl-gold-deep); }

/* ---- h3 (dritte Ueberschriftsebene, Fraunces -- kleiner als wl-h2) ---- */
.wl-h3{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.1rem; line-height:1.25; color:var(--wl-midnight); margin:0 0 .6rem; }

/* ---- bullets (Gold-Raute statt Browser-Disc) ---- */
.wl-bullets{ list-style:none; margin:0; padding:0; font-family:Georgia,'Times New Roman',serif; font-size:.98rem; line-height:1.75; color:rgba(26,27,46,.75); }
.wl-bullets li{ position:relative; padding:.4rem 0 .4rem 1.3rem; }
.wl-bullets li:last-child{ padding-bottom:0; }
.wl-bullets li::before{ content:"\25C6"; position:absolute; left:0; top:.5rem; font-size:.55rem; color:var(--wl-gold); }

/* ---- panel-dark (der dunkle Gradient-Panel, vorher 3x inline: aszendent/
   psychomatrix/kompatibilitaet) ---- */
.wl-panel-dark{ background:linear-gradient(160deg,var(--wl-midnight),#12131f); border:1px solid rgba(201,162,39,.18); border-radius:26px; padding:2rem 1.5rem; margin:2rem 0; }
.wl-panel-dark--tight{ padding:1.75rem 1.25rem; margin:0 0 1.5rem; }
.wl-panel-dark--flush{ padding:1.5rem 1rem; margin:0; }

/* ---- card-light (helle Glass-Karte, freistehend) ---- */
.wl-card-light{ background:rgba(255,255,255,.55); border:1px solid rgba(26,27,46,.10); border-radius:24px; padding:2rem 1.5rem; }
.wl-card-light--center{ text-align:center; }

/* ---- cell-icon (Icon+Text-Pille, Modifier fuer wl-time-cell-sm) ---- */
.wl-cell-icon{ display:inline-flex; align-items:center; gap:.4rem; }
.wl-cell-icon img{ width:1.05rem; height:1.05rem; object-fit:contain; }

/* ---- Alpine x-cloak: without this rule every x-show element flashes before Alpine boots ---- */
[x-cloak]{ display:none !important; }

/* ---- Rabbit-Hole Hero (home) — 2026-07-16 ---- */
/* Cinzel is the engraved voice of the Play banner artwork; keeping it to the eyebrow
   and the H1 buys store<->web recognition without a fourth family in the body copy.
   It renders lowercase as small caps — never use it for running text. */
@font-face{
  font-family:Cinzel;
  src:url(/fonts/cinzel-v26-latin-regular.woff2) format(woff2);
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:Cinzel;
  src:url(/fonts/cinzel-v26-latin-700.woff2) format(woff2);
  font-weight:700; font-style:normal; font-display:swap;
}

.nv-rh-media{ position:absolute; inset:0; z-index:0; }
.nv-rh-media img,.nv-rh-media video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 50%; }
@media(min-width:1024px){ .nv-rh-media img,.nv-rh-media video{ object-position:50% 62%; } }
.nv-rh-media video{ opacity:0; transition:opacity .6s ease; }
.nv-rh-media video.is-playing{ opacity:1; }

/* Fades into --nv-bg exactly, so the hero dissolves into section 2 instead of butting against it. */
.nv-rh-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,13,26,.55) 0%, rgba(13,13,26,.35) 40%, #0D0D1A 100%); }
@media(min-width:1024px){
  .nv-rh-scrim{ background:
    linear-gradient(90deg, rgba(13,13,26,.86) 0%, rgba(13,13,26,.58) 30%, rgba(13,13,26,.12) 56%, rgba(13,13,26,0) 72%),
    linear-gradient(180deg, rgba(13,13,26,.35) 0%, rgba(13,13,26,0) 22%, rgba(13,13,26,0) 68%, #0D0D1A 100%); }
}

.nv-rh-inner{ position:relative; z-index:1; width:100%; }
.nv-rh-copy{ max-width:34rem; margin-inline:auto; }
@media(min-width:1024px){ .nv-rh-copy{ margin-inline:0; } }
.nv-rh-eyebrow{ font-family:"Cinzel",Georgia,"Times New Roman",serif; font-weight:400; font-size:.9rem; letter-spacing:.3em; text-transform:uppercase; color:#F4C025; margin:0 0 1rem; }
.nv-rh-h1{ font-family:"Cinzel",Georgia,"Times New Roman",serif; font-weight:700; font-size:clamp(2.1rem,5vw,3.6rem); line-height:1.12; letter-spacing:.015em; color:#F6F1E7; margin:0 0 1.5rem; text-wrap:balance; }
.nv-rh-sub{ font-size:1.05rem; line-height:1.7; color:rgba(246,241,231,.78); max-width:30rem; margin:0 auto 2rem; }
@media(min-width:1024px){ .nv-rh-sub{ margin-left:0; } }

.nv-btn-gold{ background:linear-gradient(90deg,#F4C025,#C9A227) !important; color:#1A1B2E !important; }
.nv-btn-gold:hover{ filter:brightness(1.08); }
.nv-btn-ghost-ivory{ border-color:rgba(246,241,231,.35) !important; color:#F6F1E7 !important; }
.nv-btn-ghost-ivory:hover{ border-color:#F4C025 !important; color:#F4C025 !important; }

/* ---- Mobile nav scroll-lock (2026-07-16) ----
   The header is position:fixed, so without this the page scrolls away underneath the
   open mobile panel. overscroll-behavior stops the scroll chaining to the document on
   iOS, where overflow:hidden on body alone is not honoured. */
body.nv-nav-locked{ overflow:hidden; overscroll-behavior:none; }

/* ---- Home gold/navy palette harmonisation (2026-07-19, Task #7) ----
   The rabbit-hole hero (2026-07-16) is gold on midnight, but the rest of the homepage
   still carried the old purple/cyan cosmic accents (gradient-text ran #6b4ce6->#00cec9,
   the CTA button was purple, headings/icons text-purple-400 / text-cyan-500). These
   retune them to the hero's --wl-gold / --wl-gold-deep on midnight, scoped to
   body.nv-home so every other page keeps its own scheme. The frozen Tailwind build
   utilities are already applied, so !important is required to win the cascade. Two-tone
   kept on purpose: primary accents -> gold, the former cyan -> gold-deep, so the page
   doesn't flatten to one gold. */
body.nv-home .gradient-text{
  background:linear-gradient(135deg,var(--wl-gold),var(--wl-gold-deep)) !important;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
body.nv-home .btn-cosmic{
  background:linear-gradient(90deg,var(--wl-gold),var(--wl-gold-deep)) !important;
  color:var(--wl-midnight) !important;
}
body.nv-home .text-purple-400,
body.nv-home .text-purple-300{ color:var(--wl-gold) !important; }
body.nv-home .text-cyan-500{ color:var(--wl-gold-deep) !important; }
body.nv-home .bg-purple-500,
body.nv-home .bg-cyan-500{ background-color:var(--wl-gold) !important; color:var(--wl-midnight) !important; }
body.nv-home .from-purple-500{ --tw-gradient-from:var(--wl-gold) !important; }

/* ── NOVA Marke „Zählwerk" (Spec: workspaces/nova-cosmic/brand-2026-07-19/SPEC.md) ──
   Jost (OFL) nur für die Wortmarke — Cinzel bleibt Editorial-Schrift der Seite.
   Verbote aus dem Marken-Audit: das Zeichen rotiert NIE und bekommt NIE eine
   zyklische Segment-Animation (= Lade-Spinner-Vokabular). */
@font-face{
  font-family:"Jost"; font-style:normal; font-weight:500; font-display:swap;
  src:url("/fonts/jost-v20-latin-500.woff2") format("woff2");
}
.nv-logo-mark{ width:2rem; height:2rem; flex:none; }
.nv-logo-word{
  font-family:"Jost",ui-sans-serif,system-ui,sans-serif;
  font-weight:500; letter-spacing:.14em;
}
.nv-logo:hover .nv-logo-word{ color:var(--wl-gold,#D9A441); }
.nv-logo-desc{
  font-family:"Jost",ui-sans-serif,system-ui,sans-serif;
  font-weight:500; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(217,164,65,.75); margin-bottom:1rem;
}
