/* TFH brand theme for the client portal. STAGED DRAFT (20 Oct 2026). NOT DEPLOYED.
   Loads AFTER css/style.css and only overrides it, so style.css stays untouched.
   Revert = delete the one <link href="css/tfh-brand-theme.css"> line (or delete this file). See apply-plan.md §3.
   Brand: purple #54348C leads; gold #BEAD6F rules/accents only; small gold text #7A6C38; #9C8A4A large text only;
   mist #F6F5FC; ink #2A224D; muted #5E5878. Headings Cormorant Garamond / Cormorant SC, body Alegreya Sans. */
:root{
  --primary:#54348C; --primary-dark:#3B337A; --indigo:#54348C; --indigo2:#3B337A; --purple:#54348C;
  --violet:#54348C;              /* links & focus: was #6C63D9; purple keeps AA (9.4:1) */
  --violet-soft:#C3B8D7;         /* ghost-button border */
  --gold:#BEAD6F; --gold-ink:#7A6C38; --gold-soft:#F5F3E9;
  --ink:#2A224D; --muted:#5E5878; --line:#DDD6E8; --tint:#F6F5FC; --lav:#EEEBF4;
  --font:"Alegreya Sans","Helvetica Neue",Arial,system-ui,sans-serif;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --shadow:0 1px 2px rgba(42,34,77,.05),0 2px 8px rgba(42,34,77,.05);
}
html{font-size:112.5%}  /* Alegreya Sans has a smaller x-height than Inter: 18px root keeps the same visual size (rem-based rules scale with it) */
body{font-size:1rem}
a{color:var(--primary)} a:hover{color:var(--primary-dark)}
:focus-visible{outline:2px solid #635AC0;outline-offset:2px}
input:focus,select:focus,textarea:focus{border-color:#54348C;outline:2px solid rgba(84,52,140,.22)}
input,select,textarea{border-color:#C3B8D7}
h1,h2,h3,h4{font-family:var(--serif);color:var(--primary);font-weight:600}
.kicker,th,.logo .portal-tag{font-family:"Alegreya Sans SC","Alegreya Sans",sans-serif;letter-spacing:.08em}
th{color:var(--primary);background:var(--lav)}
header.site{border-bottom:1px solid var(--line);box-shadow:inset 0 3px 0 #54348C}
nav.main a.on{border-bottom-color:var(--gold)}
.btn{font-family:var(--font);font-weight:700}
.btn:hover{background:#3B337A;border-color:#3B337A}
.btn.ghost{color:#54348C;border-color:#C3B8D7}.btn.ghost:hover{background:#EEEBF4}
.hero{border-top:3px solid #54348C;background:linear-gradient(180deg,#F6F5FC 0,#fff 140px)}
.hero h1{font-family:"Cormorant Garamond",Georgia,serif}
.card{border-color:var(--line)}
.pill{background:#EEEBF4;color:#54348C}
.tagline{color:#7A6C38}
footer.site{background:#F6F5FC;border-top:1px solid #BEAD6F}
footer.site a{color:#54348C}
.disclaimer{border-left-color:#BEAD6F;background:#F5F3E9;color:#2A224D}
/* hard-coded old purple (#5B2A86 / #f5f0fb / #F3EEF8) in style.css helpers */
.minit{background:#EEEBF4!important;color:#54348C!important}
.help-note{background:#F6F5FC!important;border-left-color:#54348C!important}
.ob-bar span,.practice-banner{background:#54348C!important}
.practice-banner .btn{color:#54348C!important}
.tour-ring{border-color:#BEAD6F!important}
.ob-mod.next{border-left-color:#BEAD6F!important}
.help-hit mark{background:#F5F3E9!important}
/* certificates: matches documents/certificate.html */
.certificate{border:1.4pt solid #54348C;outline:.6pt solid #BEAD6F;outline-offset:-8px;padding:40px;text-align:center;background:#fff}
.certificate h1{font-family:"Cormorant SC","Cormorant Garamond",Georgia,serif;letter-spacing:.06em}
.certificate .cert-name{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:2.2rem;color:#54348C;border-bottom:1px solid #BEAD6F;display:inline-block;padding:0 40px 4px}
.certificate .cert-sig{margin-top:28px;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;color:#54348C}
/* print (reports, generator register, certificates) */
@media print{
  body{font-family:"Alegreya Sans",Arial,sans-serif;color:#2A224D}
  h1,h2,h3{color:#54348C}
  .report-doc .rfoot{border-top:1px solid #BEAD6F!important;color:#5E5878}
  th{background:#EEEBF4!important;color:#54348C!important}
}
.logo img{height:64px}@media (max-width:720px){.logo img{height:46px}}
