/* ============================================================
   ROOTS TO RUBIES — REBRAND
   themes.css : per-direction flourishes beyond token swaps
   ============================================================ */

.brand-mark .mark-ground{ stroke:var(--gold); }
.footer-brand .mark-ground{ stroke:var(--feat-gold); opacity:.6; }

/* ---------------- APOTHECARY : editorial hairline restraint ---------------- */
[data-theme="apothecary"] .voice{ background:transparent; border-color:var(--rule); }
[data-theme="apothecary"] .voice:hover{ background:var(--surface); }

/* ---------------- LETTER : warm, tactile, hand-crafted ---------------- */
[data-theme="letter"] .hero-annotation{
  transform:rotate(-1.4deg);
  box-shadow:0 1px 0 color-mix(in oklab, var(--gold) 50%, transparent), 0 20px 38px -22px color-mix(in oklab, var(--ink) 50%, transparent);
}
[data-theme="letter"] .hero-annotation::before{
  /* a little piece of tape */
  content:""; position:absolute; top:-12px; left:50%; transform:translateX(-50%) rotate(-3deg);
  width:62px; height:22px; background:color-mix(in oklab, var(--gold) 26%, transparent);
  border:1px dashed color-mix(in oklab, var(--gold) 55%, transparent);
}
[data-theme="letter"] .practice-section{ background:linear-gradient(var(--paper), var(--paper-deep)); }
[data-theme="letter"] .practice-card:hover{ background:color-mix(in oklab, var(--gold) 8%, transparent); }
[data-theme="letter"] h1 em, [data-theme="letter"] h2 em{ font-weight:340; }
[data-theme="letter"] .voice{ box-shadow:0 14px 30px -24px color-mix(in oklab, var(--ink) 45%, transparent); }
[data-theme="letter"] .hero-masthead, [data-theme="letter"] .practice-grid{ border-color:color-mix(in oklab, var(--gold) 40%, transparent); }
[data-theme="letter"] .practice-card{ border-color:color-mix(in oklab, var(--gold) 35%, transparent); }

/* ---------------- NOIR : moody gallery glow ---------------- */
[data-theme="noir"] body{ background:var(--paper); }
[data-theme="noir"] .hero{
  background:
    radial-gradient(80% 70% at 78% 30%, color-mix(in oklab, var(--ruby) 22%, transparent), transparent 60%),
    radial-gradient(90% 90% at 10% 100%, color-mix(in oklab, var(--gold) 12%, transparent), transparent 55%),
    var(--paper);
}
[data-theme="noir"] .btn--primary{
  box-shadow:0 0 0 1px color-mix(in oklab, var(--ruby) 50%, transparent),
             0 14px 40px -14px color-mix(in oklab, var(--ruby) 60%, transparent);
}
[data-theme="noir"] .hero-figure .arch{ box-shadow:0 50px 100px -40px #000, 0 0 0 1px color-mix(in oklab, var(--gold) 20%, transparent); }
[data-theme="noir"] .hero-figure img{ filter:saturate(.85) brightness(.9); }
[data-theme="noir"] .letter-figure .frame, [data-theme="noir"] .turning-media img{ filter:saturate(.8) brightness(.85); }
[data-theme="noir"] .practice-section{ background:var(--paper); }
[data-theme="noir"] .paths-section{ background:var(--paper-deep); }
[data-theme="noir"] .path-card--paper{ background:var(--surface); border-color:color-mix(in oklab, var(--gold) 30%, transparent); }
[data-theme="noir"] .voice{ background:var(--surface); border-color:var(--rule); }
[data-theme="noir"] .voice blockquote p{ color:var(--ink); }
[data-theme="noir"] .cta-section{
  background:radial-gradient(120% 130% at 50% -10%, color-mix(in oklab, var(--gold) 22%, transparent), transparent 55%),
    linear-gradient(170deg, color-mix(in oklab, var(--ruby) 90%, black), var(--ruby-deep));
}
[data-theme="noir"] .noise-quiet .big em{ text-shadow:0 0 40px color-mix(in oklab, var(--feat-gold) 45%, transparent); }
[data-theme="noir"] .hero-masthead{ border-color:color-mix(in oklab, var(--gold) 26%, transparent); }
[data-theme="noir"] ::selection{ background:var(--ruby); color:#0b0e08; }

/* theme transition smoothing for big surfaces */
.hero, .noise-section, .letter-section, .practice-section, .paths-section,
.turning-section, .voices-section, .cta-section, .site-footer,
.path-card, .voice, .practice-card, .hero-figure .arch{
  transition:background-color .8s var(--ease-soft), border-color .8s var(--ease-soft),
             box-shadow .8s var(--ease-soft), color .8s var(--ease-soft);
}
