/* ============================================================
   Noir Gallery — site redesign layer (loads after styles.css)
   Dark canvas, gold reserved for price/CTAs/numerals, covers as art.
   ============================================================ */
body.noir {
  --nr-bg: #0b0a08; --nr-s1: #12100d; --nr-s2: #181510; --nr-s3: #1f1b15;
  --nr-line: rgba(245,240,232,.1); --nr-line2: rgba(245,240,232,.18);
  --nr-tx: #f5f0e8; --nr-mut: #a69d8d; --nr-gold: #C4A04B; --nr-gold2: #e0c383;
  /* remap legacy tokens so older rules go dark automatically */
  --canvas: #0b0a08; --canvas-2: #12100d; --card: #12100d; --fog: #181510; --fog-2: #1f1b15;
  --ink: #f5f0e8; --graphite: #cfc7b8; --muted: #a69d8d; --line: rgba(245,240,232,.12);
  --forest: #e0c383; --sky: #12100d; --char: #070605; --blue: #C4A04B;
  background: var(--nr-bg); color: var(--nr-tx);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.noir ::selection { background: rgba(196,160,75,.4); color: #fff; }
body.noir a { color: inherit; }

/* ---------- shared chrome: nav ---------- */
body.noir .nav { background: rgba(11,10,8,.8); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-bottom: 1px solid var(--nr-line); }
body.noir .nav-logo { color: var(--nr-tx); font-family: Fraunces, Georgia, serif; font-weight: 400; letter-spacing: -.01em; }
body.noir .nav-logo .mark { background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; }
body.noir .nav-links a { color: var(--nr-mut); }
body.noir .nav-links a:hover, body.noir .nav-links a[aria-current="page"] { color: var(--nr-tx); }
body.noir .nav-cta .btn, body.noir .nav-cta .btn-dark { background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; border: 0; font-weight: 700; }
body.noir .hamburger { color: var(--nr-tx); border-color: var(--nr-line2); }
body.noir .nav-links.open { background: #0f0d0a; border: 1px solid var(--nr-line); }

/* ---------- shared chrome: footer ---------- */
body.noir footer.on-char { background: #070605; color: var(--nr-mut); border-top: 1px solid var(--nr-line); }
body.noir footer.on-char h3, body.noir footer.on-char h4 { color: var(--nr-tx); }
body.noir footer.on-char a.footer-link { color: var(--nr-mut); }
body.noir footer.on-char a.footer-link:hover { color: var(--nr-gold2); }
body.noir footer.on-char .footer-bottom { border-top: 1px solid var(--nr-line); color: #7a7264; }

/* ---------- shared: buttons ---------- */
body.noir .btn { border-radius: 999px; font-weight: 600; }
body.noir .btn-dark, body.noir .btn-blue, body.noir .btn-white { background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; border: 0; }
body.noir .btn-dark:hover, body.noir .btn-blue:hover, body.noir .btn-white:hover { filter: brightness(1.06); }
body.noir .btn-ghost { background: transparent; color: var(--nr-tx); border: 1px solid var(--nr-line2); }
body.noir .btn-ghost:hover { border-color: var(--nr-gold); color: var(--nr-gold2); background: transparent; }

/* ---------- shared: sections & page heads ---------- */
body.noir .on-cream, body.noir .on-sky, body.noir .on-forest, body.noir .band-dark, body.noir .dark-forest, body.noir .page-head, body.noir .lib-band { background: var(--nr-bg) !important; color: var(--nr-tx); }
body.noir .on-sky.stats-band { background: #100e0b !important; }
body.noir .page-head { border-bottom: 1px solid var(--nr-line); padding-bottom: 28px; }
body.noir .display, body.noir h1, body.noir h2, body.noir h3 { color: var(--nr-tx); }
body.noir .display { font-weight: 300; letter-spacing: -.028em; }
body.noir .eyebrow { color: var(--nr-gold) !important; letter-spacing: .2em; }
body.noir .lede, body.noir .muted, body.noir .card-desc, body.noir .on-sky .lede { color: var(--nr-mut) !important; }
body.noir .tint { color: var(--nr-gold2); }
body.noir .fchip { background: transparent; color: var(--nr-mut); border: 1px solid var(--nr-line2); }
body.noir .fchip:hover { color: var(--nr-tx); border-color: var(--nr-gold); }
body.noir .fchip.active { background: var(--nr-gold); color: #0b0a08; border-color: var(--nr-gold); }
body.noir .crumb, body.noir .crumb a { color: var(--nr-mut); }

/* ---------- shared: cards, pricing, faq ---------- */
body.noir .tcard, body.noir .rcard, body.noir .card, body.noir .auth-card, body.noir .ptier, body.noir .faq details, body.noir .lib-card {
  background: var(--nr-s1); color: var(--nr-tx); border: 1px solid var(--nr-line); box-shadow: none;
}
body.noir .tcard { border-radius: 22px; transition: transform .2s, border-color .2s, box-shadow .2s; }
body.noir .tcard:hover, body.noir .rcard:hover { transform: translateY(-4px); border-color: rgba(196,160,75,.5); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
body.noir .tcard .name, body.noir .tcard h3 { color: var(--nr-tx); }
body.noir .tcard .desc, body.noir .tcard .muted { color: var(--nr-mut); }
body.noir .tcard .cat, body.noir .tcard .meta { color: var(--nr-gold2); }
body.noir .tcard .view-btn { background: transparent; color: var(--nr-gold2); border: 1px solid rgba(196,160,75,.45); }
body.noir .badge-pop, body.noir .pop { background: rgba(196,160,75,.14); color: var(--nr-gold2); border: 1px solid rgba(196,160,75,.35); }
body.noir .ptier { border-radius: 28px; }
body.noir .ptier.featured { border-color: rgba(196,160,75,.55); background: linear-gradient(160deg,#1b170f,#120f0b); }
body.noir .ptier .tname { color: var(--nr-gold2); letter-spacing: .14em; text-transform: uppercase; }
body.noir .ptier .amount { color: var(--nr-tx); font-family: Fraunces, Georgia, serif; font-weight: 300; }
body.noir .ptier li { color: #cfc7b8; }
body.noir .ptier li::before { color: var(--nr-gold); }
body.noir .ptier .btn, body.noir .ptier button.btn-dark { background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; }
body.noir .faq details { border-radius: 18px; }
body.noir .faq summary { color: var(--nr-tx); }
body.noir .faq .a { color: var(--nr-mut); }
body.noir .faq .a a { color: var(--nr-gold2); }

/* ---------- shared: forms, auth, settings, library ---------- */
body.noir .field label, body.noir .block-profile label { color: var(--nr-mut); }
body.noir .field input, body.noir .block-profile .field input, body.noir input[type=text], body.noir input[type=email], body.noir input[type=password] {
  background: #0b0a08; color: var(--nr-tx); border: 1px solid var(--nr-line2); border-radius: 12px;
}
body.noir .field input::placeholder { color: #6b6457; }
body.noir .field input:focus { border-color: var(--nr-gold); outline: 0; box-shadow: 0 0 0 3px rgba(196,160,75,.18); }
body.noir .auth-tabs { background: #0b0a08; border: 1px solid var(--nr-line); }
body.noir .auth-tabs button { color: var(--nr-mut); background: transparent; }
body.noir .auth-tabs button.active { background: var(--nr-gold); color: #0b0a08; }
body.noir .card, body.noir .block-signin, body.noir .block-profile, body.noir .block-prefs, body.noir .block-billing { border-radius: 24px; }
body.noir .demo-note, body.noir .hint { color: #7a7264 !important; }
body.noir .pref-text strong { color: var(--nr-tx); } body.noir .pref-text span { color: var(--nr-mut); }
body.noir .alert.info { background: rgba(196,160,75,.12); color: var(--nr-gold2); border: 1px solid rgba(196,160,75,.25); }
body.noir .alert.err { background: rgba(255,90,70,.12); color: #ffb4a8; }
body.noir .alert.ok { background: rgba(80,200,120,.12); color: #9fe3b2; }
body.noir .lib-card { border-radius: 18px; }
body.noir .lib-info h3 { color: var(--nr-tx); }
body.noir .lib-status.own { color: var(--nr-gold2); } body.noir .lib-status.no { color: #7a7264; }
body.noir .lib-card.no { opacity: .72; }
body.noir .toast { background: #1f1b15; color: var(--nr-tx); border: 1px solid var(--nr-line2); }
body.noir .set-head h2 { color: var(--nr-tx); }

/* ---------- legal pages ---------- */
body.noir .legal h1, body.noir .legal h2 { color: var(--nr-tx); }
body.noir .legal p, body.noir .legal li { color: #cfc7b8; }
body.noir .legal .upd { color: #7a7264; }
body.noir .legal a { color: var(--nr-gold2); }
body.noir .legal .box { background: var(--nr-s1); border: 1px solid var(--nr-line2); }
body.noir .legal .box p { color: var(--nr-tx); }

/* ============================================================
   Landing page (nr-*)
   ============================================================ */
.nr-wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.nr-narrow { max-width: 800px; } .nr-center { text-align: center; }
.nr-eyebrow { margin: 0; font: 600 12px/1 Inter, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--nr-gold); }
.nr-h1 { margin: 16px 0 20px; font: 300 clamp(46px, 6.6vw, 88px)/.98 Fraunces, Georgia, serif; letter-spacing: -.035em; color: var(--nr-tx); }
.nr-h2 { margin: 14px 0 0; max-width: 17em; font: 300 clamp(30px, 4.2vw, 54px)/1.06 Fraunces, Georgia, serif; letter-spacing: -.028em; color: var(--nr-tx); }
.nr-center .nr-h2, .nr-h2.nr-center { margin-left: auto; margin-right: auto; }
.nr-gold { color: var(--nr-gold2); } .nr-dim { color: var(--nr-mut); }
.nr-lede { margin: 0; max-width: 33em; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.58; color: var(--nr-mut); }
.nr-center .nr-lede { margin: 14px auto 28px; }
.nr-fine { margin: 14px 0 0; font-size: 13.5px; color: #8f8676; } .nr-fine a { color: var(--nr-gold2); }

.nr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 999px; padding: 14px 24px; font: 700 16px/1 Inter, sans-serif; cursor: pointer; text-decoration: none; transition: transform .15s, box-shadow .2s, filter .2s; }
.nr-btn-gold { background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; box-shadow: 0 14px 40px rgba(196,160,75,.26); }
.nr-btn-gold:hover { transform: translateY(-2px); box-shadow: 0 20px 52px rgba(196,160,75,.38); }
.nr-btn-gold span { font-weight: 600; opacity: .85; }
.nr-btn-lg { padding: 19px 32px; font-size: 18px; }
.nr-btn-ghost { background: transparent; color: var(--nr-tx); border: 1px solid var(--nr-line2); padding: 12px 18px; font-size: 14px; }
.nr-btn-ghost:hover { border-color: var(--nr-gold); color: var(--nr-gold2); }
.nr-btn-block { width: 100%; padding: 18px; font-size: 17px; }
.nr-btn:focus-visible, .nr-link:focus-visible { outline: 2px solid var(--nr-gold2); outline-offset: 3px; }
.nr-link { color: var(--nr-tx); font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(245,240,232,.3); padding-bottom: 2px; }
.nr-link:hover { color: var(--nr-gold2); border-color: var(--nr-gold2); }

/* hero */
.nr-hero { position: relative; overflow: hidden; padding-top: 40px; background: radial-gradient(ellipse 80% 60% at 70% 40%, rgba(196,160,75,.10), transparent 60%), var(--nr-bg); }
.nr-hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 32px; align-items: center; min-height: 640px; padding-bottom: 40px; }
.nr-cta-row { display: flex; align-items: center; gap: 12px 26px; flex-wrap: wrap; margin: 30px 0 22px; }
.nr-trust { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; margin: 0; padding: 0; color: var(--nr-mut); font-size: 14px; }
.nr-trust li::before { content: "\2713"; color: var(--nr-gold); margin-right: 8px; font-weight: 700; }
.nr-hero-art { position: relative; height: 600px; }
.nr-glow { position: absolute; left: 50%; top: 52%; width: 620px; height: 620px; transform: translate(-50%,-50%); background: radial-gradient(circle, rgba(196,160,75,.30), transparent 62%); pointer-events: none; }
.nr-cover { position: absolute; display: block; height: auto; border-radius: 8px; box-shadow: 0 40px 80px rgba(0,0,0,.7), 0 0 0 1px rgba(196,160,75,.32); }
.nr-c-m { width: 330px; left: 50%; top: 18px; transform: translateX(-50%); z-index: 3; animation: nrFloat 7s ease-in-out infinite; }
.nr-c-l { width: 270px; left: 0; top: 120px; transform: rotate(-9deg); z-index: 1; animation: nrFloat2 8s ease-in-out infinite; }
.nr-c-r { width: 270px; right: 0; top: 120px; transform: rotate(9deg); z-index: 2; animation: nrFloat2 9s ease-in-out infinite reverse; }
@keyframes nrFloat { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-10px); } }
@keyframes nrFloat2 { 0%,100% { translate: 0 0; } 50% { translate: 0 -8px; } }
.nr-strip { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 22px; padding: 20px 24px; border-top: 1px solid var(--nr-line); color: var(--nr-mut); font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; }
.nr-strip i { width: 4px; height: 4px; border-radius: 50%; background: var(--nr-gold); align-self: center; }

/* sections */
.nr-section { padding: 104px 0; }
.nr-alt { background: #0f0d0a; border-top: 1px solid var(--nr-line); border-bottom: 1px solid var(--nr-line); }

/* bento */
.nr-bento { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 44px; }
.nr-tile { grid-column: span 2; display: flex; flex-direction: column; gap: 22px; padding: 28px; background: var(--nr-s1); border: 1px solid var(--nr-line); border-radius: 28px; text-decoration: none; color: inherit; overflow: hidden; transition: transform .22s, border-color .22s, box-shadow .22s; }
.nr-tile:hover { transform: translateY(-5px); border-color: rgba(196,160,75,.5); box-shadow: 0 28px 70px rgba(0,0,0,.55); }
.nr-tile-lg { grid-column: span 4; } .nr-tile-wide { grid-column: span 4; }
.nr-tile-copy h3 { margin: 12px 0 8px; font: 400 26px/1.15 Fraunces, Georgia, serif; letter-spacing: -.02em; color: var(--nr-tx); }
.nr-tile-copy p { margin: 0; color: var(--nr-mut); font-size: 15px; line-height: 1.5; max-width: 30em; }
.nr-chip { display: inline-block; padding: 5px 11px; border: 1px solid rgba(196,160,75,.4); border-radius: 999px; font: 600 11px/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--nr-gold2); }
.nr-tile-art { display: flex; gap: 12px; margin-top: auto; align-items: flex-end; }
.nr-tile-art img { flex: 1 1 0; min-width: 0; width: 100%; aspect-ratio: 794/1123; object-fit: cover; border-radius: 8px; box-shadow: 0 18px 40px rgba(0,0,0,.6), 0 0 0 1px rgba(196,160,75,.25); }
.nr-tile-art img:nth-child(2) { transform: translateY(-14px); }

/* steps */
.nr-steps { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.nr-steps li { padding-top: 24px; border-top: 1px solid var(--nr-line2); }
.nr-num { display: block; font: 300 64px/1 Fraunces, Georgia, serif; letter-spacing: -.04em; color: var(--nr-gold); margin-bottom: 16px; }
.nr-steps h3 { margin: 0 0 8px; font: 600 20px/1.25 Inter, sans-serif; color: var(--nr-tx); }
.nr-steps p { margin: 0; color: var(--nr-mut); font-size: 15.5px; line-height: 1.55; }

/* features */
.nr-feats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 44px; }
.nr-feat { padding: 28px; background: var(--nr-s1); border: 1px solid var(--nr-line); border-radius: 24px; }
.nr-feat h3 { margin: 0 0 10px; font: 400 23px/1.2 Fraunces, Georgia, serif; letter-spacing: -.015em; color: var(--nr-tx); }
.nr-feat p { margin: 0; color: var(--nr-mut); font-size: 15.5px; line-height: 1.55; }

/* price */
.nr-price-wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.nr-list { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; color: #cfc7b8; font-size: 16px; line-height: 1.45; }
.nr-list li { padding-left: 28px; position: relative; }
.nr-list li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--nr-gold); font-weight: 700; }
.nr-price-card { padding: 34px; background: linear-gradient(160deg,#1b170f,#120f0b); border: 1px solid rgba(196,160,75,.42); border-radius: 32px; box-shadow: 0 34px 90px rgba(0,0,0,.55); }
.nr-price-top { display: flex; align-items: baseline; gap: 12px; margin-bottom: 22px; }
.nr-amount { font: 300 112px/.9 Fraunces, Georgia, serif; letter-spacing: -.05em; color: var(--nr-tx); }
.nr-amount small { font-size: 44px; vertical-align: top; position: relative; top: 12px; margin-right: 4px; color: var(--nr-gold2); letter-spacing: 0; }
.nr-once { color: var(--nr-mut); font-size: 15px; letter-spacing: .1em; text-transform: uppercase; }
.nr-addon { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--nr-line2); }
.nr-addon strong { display: block; font-size: 15px; color: var(--nr-tx); } .nr-addon span { display: block; margin-top: 3px; font-size: 13.5px; color: var(--nr-mut); }
.nr-addon .nr-btn { flex: none; }

/* faq */
.nr-faq { margin-top: 36px; display: grid; gap: 10px; }
.nr-faq details { background: var(--nr-s1); border: 1px solid var(--nr-line); border-radius: 18px; padding: 0 22px; transition: border-color .2s; }
.nr-faq details[open], .nr-faq details:hover { border-color: rgba(196,160,75,.4); }
.nr-faq summary { cursor: pointer; list-style: none; padding: 20px 28px 20px 0; font: 600 17px/1.35 Inter, sans-serif; color: var(--nr-tx); position: relative; }
.nr-faq summary::-webkit-details-marker { display: none; }
.nr-faq summary::after { content: "+"; position: absolute; right: 0; top: 17px; font: 300 26px/1 Inter, sans-serif; color: var(--nr-gold); }
.nr-faq details[open] summary::after { content: "\2212"; }
.nr-faq .a { padding: 0 0 22px; color: var(--nr-mut); font-size: 16px; line-height: 1.62; }
.nr-faq .a a { color: var(--nr-gold2); }

/* final */
.nr-final { padding: 110px 0 120px; text-align: center; background: radial-gradient(ellipse 60% 70% at 50% 100%, rgba(196,160,75,.16), transparent 70%), var(--nr-bg); border-top: 1px solid var(--nr-line); }
.nr-final .nr-h2 { margin-left: auto; margin-right: auto; max-width: 14em; }

/* sticky buy bar (mobile) */
.nr-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: none; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(11,10,8,.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--nr-line2); transform: translateY(110%); transition: transform .28s ease; }
.nr-bar.show { transform: none; }
.nr-bar-txt strong { display: block; font: 400 17px/1.1 Fraunces, Georgia, serif; color: var(--nr-tx); }
.nr-bar-txt span { font-size: 12.5px; color: var(--nr-mut); }
.nr-bar .nr-btn { padding: 13px 22px; font-size: 15px; }

/* responsive */
@media (max-width: 1000px) {
  .nr-hero-grid, .nr-price-wrap { grid-template-columns: 1fr; }
  .nr-hero-grid { min-height: 0; gap: 8px; }
  .nr-hero-art { height: 470px; order: 2; }
  .nr-c-m { width: 270px; } .nr-c-l, .nr-c-r { width: 210px; top: 100px; }
  .nr-tile, .nr-tile-lg, .nr-tile-wide { grid-column: span 6; }
  .nr-steps, .nr-feats { grid-template-columns: 1fr; }
  .nr-section { padding: 76px 0; }
}
@media (max-width: 760px) {
  body.noir { padding-bottom: 76px; }
  .nr-bar { display: flex; }
  .nr-wrap { padding: 0 20px; }
  .nr-hero { padding-top: 22px; }
  .nr-cta-row { gap: 14px; } .nr-cta-row .nr-btn-lg { width: 100%; }
  .nr-hero-art { height: 400px; }
  .nr-c-m { width: 228px; top: 6px; } .nr-c-l, .nr-c-r { width: 168px; top: 78px; }
  .nr-glow { width: 440px; height: 440px; }
  .nr-amount { font-size: 92px; } .nr-addon { flex-direction: column; align-items: stretch; text-align: left; }
  .nr-tile { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { .nr-cover { animation: none !important; } .nr-bar { transition: none; } .nr-btn-gold:hover, .nr-tile:hover { transform: none; } }

/* ---------- refinements ---------- */
body.noir.luxe .on-dark, body.noir .on-dark { background: var(--nr-bg) !important; }
body.noir.luxe .block-signin .field input, body.noir.luxe .block-signin input { background: #0b0a08; color: var(--nr-tx); border: 1px solid var(--nr-line2); }
body.noir.luxe .block-signin .field input:focus { border-color: var(--nr-gold); box-shadow: 0 0 0 3px rgba(196,160,75,.18); outline: 0; }
body.noir .block-signin .btn-dark { background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; }
body.noir .block-signin .btn-ghost { color: var(--nr-tx); border: 1px solid var(--nr-line2); }
body.noir .block-signin .auth-tabs button.active { background: var(--nr-gold); color: #0b0a08; }
body.noir .block-billing h3, body.noir .block-profile h3, body.noir .block-signin h3 { color: var(--nr-tx); }

/* library */
body.noir .lib-grid { grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr)); }
body.noir .lib-card { grid-template-columns: 78px 1fr; gap: 12px 16px; padding: 16px; border-radius: 20px; }
body.noir .lib-card:hover { box-shadow: 0 24px 60px rgba(0,0,0,.55); border-color: rgba(196,160,75,.5); }
body.noir .lib-act { grid-column: 1 / -1; }
body.noir .lib-act .btn { width: 100%; justify-content: center; }
body.noir .lib-cover { background: #0b0a08; border: 1px solid var(--nr-line); }
body.noir .lib-info h3 { color: var(--nr-tx) !important; font-size: 18px; }
body.noir .luxe .lib-band .lib-card.own, body.noir .lib-card.own { border-color: rgba(196,160,75,.45); }
body.noir.luxe .lib-band .lib-status.own, body.noir .lib-status.own { background: rgba(196,160,75,.16); color: var(--nr-gold2); }
body.noir.luxe .lib-band .lib-status.no, body.noir .lib-status.no { background: rgba(245,240,232,.07); color: #a69d8d; }

/* landing hero art + type spacing */
.nr-h2 + .nr-lede { margin-top: 16px; }
.nr-c-m { width: 312px; }
.nr-c-l { left: -34px; } .nr-c-r { right: -34px; }
@media (max-width: 1000px) { .nr-c-l { left: 0; } .nr-c-r { right: 0; } }

/* pricing faq (on-dark legacy green) + pills */
body.noir.luxe .on-dark .faq details { background: var(--nr-s1) !important; border: 1px solid var(--nr-line) !important; border-left: 1px solid var(--nr-line) !important; box-shadow: none; }
body.noir.luxe .on-dark .faq details[open], body.noir.luxe .on-dark .faq details:hover { border-color: rgba(196,160,75,.4) !important; }
body.noir.luxe .on-dark .faq summary { color: var(--nr-tx); }
body.noir.luxe .on-dark .faq summary::after { color: var(--nr-gold); }
body.noir.luxe .on-dark .faq .a { color: var(--nr-mut); }
body.noir.luxe .on-dark .faq .a a, body.noir.luxe .on-dark .faq .a strong { color: var(--nr-gold2); }
body.noir.luxe .lib-card .lib-status.no { background: rgba(245,240,232,.09) !important; color: #b9b0a0 !important; }
body.noir.luxe .lib-card .lib-status.own { background: rgba(196,160,75,.18) !important; color: #e0c383 !important; }

@media (max-width: 760px) { .nr-hero-art { margin-top: 36px; } }

/* ---------- Playbook (landing section + guide brand) ---------- */
.nr-pb { display: grid; grid-template-columns: minmax(0, 380px) 1fr; gap: 72px; align-items: center; }
.nr-pb-cover { position: relative; aspect-ratio: 3 / 4; border-radius: 18px; padding: 34px 30px; display: flex; flex-direction: column; justify-content: space-between; background: radial-gradient(120% 80% at 0% 0%, rgba(224,195,131,.16), transparent 60%), linear-gradient(160deg, #1b1710, #0e0c09 70%); border: 1px solid rgba(196,160,75,.55); box-shadow: 0 40px 90px rgba(0,0,0,.6), inset 0 0 0 7px #0b0a08, inset 0 0 0 8px rgba(196,160,75,.25); transform: rotate(-2deg); }
.nr-pb-mark { width: 46px; height: 46px; border-radius: 12px; background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; display: grid; place-items: center; font: 700 22px/1 Inter, sans-serif; }
.nr-pb-title { font: 400 clamp(34px, 4vw, 46px)/1.02 Fraunces, Georgia, serif; letter-spacing: -.02em; color: var(--nr-tx); }
.nr-pb-title em { color: var(--nr-gold2); font-style: italic; }
.nr-pb-ed { font: 600 11px/1 Inter, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--nr-gold); }
@media (max-width: 900px) { .nr-pb { grid-template-columns: 1fr; gap: 40px; } .nr-pb-cover { max-width: 300px; margin: 0 auto; } }

.gd-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
.gd-brand .gd-mark { width: 40px; height: 40px; border-radius: 11px; background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; display: grid; place-items: center; font: 700 19px/1 Inter, sans-serif; }
.gd-brand span { font: 600 11.5px/1.3 Inter, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--nr-gold); }
.gd-head h1 em { color: var(--nr-gold2); font-style: italic; }
.gd-ed { display: inline-block; margin-top: 22px; border: 1px solid rgba(196,160,75,.45); color: var(--nr-gold2); border-radius: 999px; padding: 7px 14px; font: 600 11.5px/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.gd-sign { display: flex; align-items: center; gap: 14px; margin: 8px 0 96px; padding: 24px; background: var(--nr-s1); border: 1px solid var(--nr-line); border-radius: 20px; color: var(--nr-mut); }
.gd-sign .gd-mark { flex: none; width: 42px; height: 42px; border-radius: 11px; background: linear-gradient(145deg,#f1d99a,#C4A04B); color: #0b0a08; display: grid; place-items: center; font: 700 20px/1 Inter, sans-serif; }
.gd-sign strong { display: block; font: 400 20px/1.2 Fraunces, Georgia, serif; color: var(--nr-tx); }
.gd-sign a { color: var(--nr-gold2); }
.gd-printhead { display: none; }
