/* ─────────────────────────────────────────────────────────────────────────
   Honored Ancestors — Design Tokens v1 (deployed 2026-05-07)
   Shared source of truth between live PHP site and Next.js rebuild.
   All --text-* tokens verified WCAG AAA against --surface-base.
   Additive: no existing rule changes; future edits use var(--token).
   ───────────────────────────────────────────────────────────────────────── */
:root {
  /* Surfaces */
  --surface-base:        #0a0604;
  --surface-raised:      #1a1208;
  --surface-panel:       rgba(245, 230, 196, 0.04);
  --surface-input:       rgba(245, 230, 196, 0.05);
  --surface-input-focus: rgba(245, 230, 196, 0.08);
  --surface-eyebrow:     rgba(232, 196, 108, 0.05);
  --surface-overlay:     rgba(10, 6, 4, 0.85);
  /* Text — verified WCAG AAA on --surface-base */
  --text-primary:        #f5e6c4;  /* 16.3:1 */
  --text-secondary:      #e8d9b8;  /* 14.5:1 */
  --text-lede:           #e8d8b0;  /* 14.3:1 */
  --text-body:           #d4c5a0;  /* 11.8:1 */
  --text-muted:          #c4b896;  /* 10.2:1 */
  --text-quiet:          #c9a876;  /*  9.0:1 */
  --text-on-gold:        #1a1208;  /*  8.2:1 on --accent */
  --text-footer:         rgba(245, 230, 196, 0.78);
  --text-footer-soft:    rgba(245, 230, 196, 0.7);
  /* Accent — gold family */
  --accent:              #e8c46c;  /* 8.9:1 */
  --accent-bright:       #f4d488;
  --accent-soft:         #c8a872;  /* 7.5:1 */
  /* Borders */
  --border-subtle:       rgba(232, 196, 108, 0.18);
  --border-default:      rgba(232, 196, 108, 0.20);
  --border-medium:       rgba(232, 196, 108, 0.30);
  --border-input:        rgba(232, 196, 108, 0.40);
  --border-focus:        #e8c46c;
  --border-mobile-divider: rgba(232, 196, 108, 0.10);
  /* Glows */
  --glow-warm-strong:    rgba(232, 196, 108, 0.30);
  --glow-warm-soft:      rgba(232, 196, 108, 0.10);
  --glow-warm-faint:     rgba(232, 196, 108, 0.08);
  --glow-amber-faint:    rgba(180, 120,  50, 0.05);
  /* Edge case: placeholder — labels carry the load */
  --placeholder:         rgba(245, 230, 196, 0.40);
  /* Type & radius */
  --font-serif:          Georgia, 'Times New Roman', serif;
  --font-sans:           -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-pill: 50%;
}
/* Honored Ancestors — shared stylesheet */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{background:#0a0604}
html{scroll-behavior:smooth;color-scheme:dark}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  color:#f5e6c4;
  min-height:100vh;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
body::after{
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:600px;
  background:radial-gradient(ellipse at top, #1a1208 0%, #0a0604 70%);
  pointer-events:none;
  z-index:0;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 20% 30%, rgba(232,196,108,0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(180,120,50,0.05) 0%, transparent 50%);
  pointer-events:none;
  z-index:0;
}
.wrap{max-width:1080px;margin:0 auto;padding:2rem 1.5rem;position:relative;z-index:1;background:transparent}
/* lift page content above the body::after band (parity with .wrap) */
#main-content{position:relative;z-index:1}

.narrow{max-width:760px;margin:0 auto}

/* Nav */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(10,6,4,0.85);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(232,196,108,0.18);
}
.nav-inner{
  max-width:1080px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.5rem;flex-wrap:wrap;gap:1rem;
}
.brand{
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.15rem;letter-spacing:0.15em;text-transform:uppercase;
  color:#f5e6c4;text-decoration:none;
}
.brand .gold{color:#e8c46c;font-weight:600}
.nav-links{display:flex;gap:1.5rem;flex-wrap:wrap;list-style:none}
.nav-links a{
  color:#c9a876;text-decoration:none;font-size:0.9rem;
  letter-spacing:0.1em;text-transform:uppercase;
  padding:0.25rem 0;border-bottom:1px solid transparent;
  transition:color 0.2s,border-color 0.2s;
}
.nav-links a:hover,.nav-links a.active{color:#e8c46c;border-bottom-color:#e8c46c}

/* Headings */
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:0.03em;color:#f5e6c4}
h1{font-size:clamp(2rem,5vw,3.25rem);margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.05em}
h2{font-size:clamp(1.5rem,3.5vw,2.25rem);margin:2.5rem 0 1rem}
h3{font-size:1.25rem;margin:1.5rem 0 0.75rem;color:#e8c46c}
.gold{color:#e8c46c;font-weight:600}

/* Hero block */
.hero{text-align:center;padding:3rem 0 2rem}
.symbol{
  font-size:8.5rem;margin-bottom:1.25rem;
  filter:drop-shadow(0 4px 20px rgba(232,196,108,0.3));
  animation:float 6s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.tagline{
  font-size:clamp(1rem,2vw,1.2rem);font-style:italic;color:#c9a876;
  margin:0 auto 1.5rem;max-width:560px;
}
.divider{width:80px;height:2px;background:linear-gradient(90deg,transparent,#e8c46c,transparent);margin:2rem auto}
.eyebrow{
  display:inline-block;padding:0.5rem 1.5rem;
  border:1px solid rgba(232,196,108,0.5);border-radius:2px;
  font-size:0.75rem;letter-spacing:0.3em;color:#e8c46c;
  text-transform:uppercase;margin-bottom:1.5rem;
  background:rgba(232,196,108,0.05);
}

/* Body content */
p{margin-bottom:1.1rem;color:#d4c5a0}
.lede{font-size:1.15rem;color:#e8d8b0;margin-bottom:1.5rem}
ul.bul{list-style:none;padding:0;margin:1rem 0 1.5rem}
ul.bul li{padding-left:1.5rem;margin-bottom:0.6rem;position:relative;color:#d4c5a0}
ul.bul li::before{content:'◆';color:#e8c46c;position:absolute;left:0;top:0;font-size:0.7rem;line-height:1.8}

/* Buttons */
.btn{
  display:inline-block;padding:0.85rem 2rem;
  background:#e8c46c;color:#1a1208 !important;
  border:none;border-radius:2px;
  font-size:0.85rem;font-weight:600;letter-spacing:0.15em;
  text-transform:uppercase;cursor:pointer;text-decoration:none;
  transition:background 0.2s,transform 0.1s;font-family:inherit;
}
.btn:hover{background:#f4d488}
.btn:active{transform:translateY(1px)}
.btn-ghost{
  background:transparent;color:#e8c46c !important;
  border:2px solid #e8c46c;padding:0.75rem 1.85rem;
}
.btn-ghost:hover{background:rgba(232,196,108,0.1)}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin:2rem 0}

/* Cards / panels */
.panel{
  background:rgba(245,230,196,0.04);
  border:1px solid rgba(232,196,108,0.2);
  border-radius:4px;padding:2rem;margin:1.5rem 0;
}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin:2rem 0}
.card{
  background:rgba(245,230,196,0.04);
  border:1px solid rgba(232,196,108,0.2);
  border-radius:4px;padding:1.5rem;
}
.card h3{margin-top:0}

/* Forms */
form.std{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}
.field{display:flex;flex-direction:column;gap:0.4rem}
.field label{font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;color:#c9a876}
.field .hint{font-size:0.8rem;color:rgba(245,230,196,0.7);font-style:italic}
.field input,.field textarea,.field select{
  padding:0.85rem 1rem;
  background:rgba(245,230,196,0.05);
  border:1px solid rgba(232,196,108,0.4);
  border-radius:2px;color:#f5e6c4;
  font-size:1rem;font-family:inherit;line-height:1.5;
}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:#e8c46c;background:rgba(245,230,196,0.08);
}
.field input::placeholder,.field textarea::placeholder{color:rgba(245,230,196,0.4)}
.checkrow{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.95rem;color:#d4c5a0}
.checkrow input[type=checkbox]{
  width:18px;height:18px;margin-top:3px;flex-shrink:0;
  accent-color:#e8c46c;
}
.email-form{display:flex;flex-wrap:wrap;gap:0.5rem;margin:1.5rem 0;max-width:500px}
.email-form input{
  flex:1;min-width:220px;padding:0.85rem 1.25rem;
  background:rgba(245,230,196,0.05);
  border:1px solid rgba(232,196,108,0.4);
  border-radius:2px;color:#f5e6c4;font-size:1rem;font-family:inherit;
}
.email-form input:focus{outline:none;border-color:#e8c46c}

/* Story page */
.story-hero{text-align:center;padding:3rem 0 2rem;border-bottom:1px solid rgba(232,196,108,0.2);margin-bottom:2.5rem}
.portrait{
  width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,#3a2a14,#1a1208);
  border:3px solid #e8c46c;margin:0 auto 1.5rem;
  display:flex;align-items:center;justify-content:center;
  font-size:4rem;color:#e8c46c;
  font-family:Georgia,serif;font-weight:600;
  box-shadow:0 0 40px rgba(232,196,108,0.2);
}
.dates{font-size:0.95rem;letter-spacing:0.15em;color:#c9a876;margin-bottom:0.5rem}
.life-summary{font-size:1.2rem;font-style:italic;color:#e8d8b0;max-width:640px;margin:0 auto 1rem}
.remembrance p{font-size:1.05rem;line-height:1.85}
.closing-line{
  text-align:center;font-style:italic;color:#e8c46c;
  margin:3rem auto 1rem;letter-spacing:0.1em;
  border-top:1px solid rgba(232,196,108,0.3);padding-top:2rem;max-width:400px;
}

/* Footer */
footer{
  margin-top:5rem;padding:2.5rem 1.5rem 2rem;
  border-top:1px solid rgba(232,196,108,0.2);
  text-align:center;font-size:0.85rem;color:rgba(245,230,196,0.7);
  letter-spacing:0.05em;line-height:1.9;
}
footer a{color:#e8c46c;text-decoration:none}
footer a:hover{color:#f4d488;text-decoration:underline}
footer .footnav{margin-bottom:1rem}
footer .footnav a{margin:0 0.6rem;text-transform:uppercase;letter-spacing:0.15em;font-size:0.75rem}
footer .copy{color:rgba(245,230,196,0.78);letter-spacing:0.1em;font-size:0.75rem;margin-top:0.5rem}

/* Utility */
.center{text-align:center}
.muted{color:#d4c5a0}
.spacer{height:2rem}
@media (max-width:560px){
  .nav-inner{justify-content:center;text-align:center}
  .nav-links{justify-content:center;gap:1rem}
  .nav-links a{font-size:0.78rem}
  .symbol{font-size:6rem}
  .wrap{padding:1.5rem 1.25rem}
}

/* ── Mobile nav hamburger (HA-P1-003) ─────────────────────── */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.4rem;color:#f5e6c4;font-size:1.5rem;line-height:1}
@media(max-width:700px){
  .nav-toggle{display:block}
  .nav-links{
    display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:#1a1208;border-top:1px solid rgba(232,196,108,0.2);
    padding:1rem 1.5rem;z-index:200;gap:0;
  }
  .nav-links.open{display:flex}
  .nav-links li{border-bottom:1px solid rgba(232,196,108,0.1)}
  .nav-links li:last-child{border-bottom:none}
  .nav-links a{display:block;padding:0.75rem 0;font-size:1rem}
  .nav-links .btn{margin:0.75rem 0 0.25rem;display:block;text-align:center}
  /* Cards: 1 per row on mobile (HA-P1-004) */
  .grid{grid-template-columns:1fr !important}
}
/* ── Widget: shrink + move on mobile (HA-P1-004) ──────────── */
@media(max-width:700px){
  #zuri-launcher{bottom:0.75rem !important;right:0.75rem !important;width:48px !important;height:48px !important;font-size:1.2rem !important}
  #zuri-panel{bottom:4rem !important;right:0.5rem !important;left:0.5rem !important;width:auto !important;max-height:65vh !important}
}

/* ── HA-P2-008: Long-form readability ─────────────────────── */
.story-body, .article-body {
  max-width: 68ch;
  margin: 0 auto;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #e8d9b8;
}
.story-body p, .article-body p {
  margin-bottom: 1.4em;
}
.story-body h2, .article-body h2 {
  font-family: Georgia, serif;
  font-size: 1.35rem;
  font-weight: 400;
  color: #f5e6c4;
  margin: 2.5rem 0 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(232,196,108,0.15);
}
.story-body h3, .article-body h3 {
  font-size: 1.1rem;
  color: #e8c46c;
  margin: 1.75rem 0 0.5rem;
}
.story-body blockquote, .article-body blockquote {
  border-left: 3px solid #e8c46c;
  margin: 1.75rem 0;
  padding: 0.75rem 1.25rem;
  background: rgba(232,196,108,0.05);
  font-style: italic;
  color: #c9a876;
}
.story-body ul, .article-body ul,
.story-body ol, .article-body ol {
  padding-left: 1.5rem;
  margin-bottom: 1.4em;
}
.story-body li, .article-body li {
  margin-bottom: 0.5em;
  line-height: 1.7;
}
@media(max-width:700px){
  .story-body, .article-body { font-size: 1rem; line-height: 1.75; }
}

/* A11Y-01: contrast tightening + sr-only utility */
.muted.tiny{color:#c4b896}
.field .hint{font-size:0.85rem;color:#d4c5a0;font-style:italic}
.card p{color:#e8d9b8}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
footer a[aria-label^="Follow Honored Ancestors"]{color:#c8a872 !important}


/* Skip-to-content link (added 2026-05-07) — first consumer of design tokens */
.skip-link{
  position:absolute;
  top:-40px;
  left:0;
  background:var(--accent);
  color:var(--text-on-gold);
  padding:0.5rem 1rem;
  font-weight:600;
  text-decoration:none;
  z-index:100;
  border-radius:0 0 var(--radius-sm) var(--radius-sm);
  transition:top 0.2s;
}
.skip-link:focus{
  top:0;
  outline:2px solid var(--accent-bright);
  outline-offset:2px;
}

/* Submit nav link as primary button (UI/UX Critical #4, added 2026-05-07) */
.nav-links a[href="/submit.html"]{
  background:var(--accent);
  color:var(--text-on-gold);
  padding:0.45rem 1rem;
  border-radius:var(--radius-sm);
  font-weight:600;
  border-bottom:none;
  transition:background 0.2s, color 0.2s;
}
.nav-links a[href="/submit.html"]:hover,
.nav-links a[href="/submit.html"].active{
  background:var(--accent-bright);
  color:var(--text-on-gold);
  border-bottom:none;
}
@media(max-width:700px){
  .nav-links a[href="/submit.html"]{margin:0.5rem 0;text-align:center}
}

/* FAQ collapsible items (added 2026-05-07) — uses design tokens */
.faq-item{
  border-bottom:1px solid var(--border-default);
  padding:0.5rem 0;
}
.faq-item summary{
  cursor:pointer;
  color:var(--text-primary);
  font-family:var(--font-serif);
  font-size:1.15rem;
  font-weight:400;
  padding:1rem 0;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  transition:color 0.2s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:'+';
  color:var(--accent);
  font-size:1.5rem;
  line-height:1;
  flex-shrink:0;
  margin-top:0.15rem;
}
.faq-item[open] summary::after{content:'\2212'}
.faq-item summary:hover,.faq-item summary:focus-visible{color:var(--accent-bright);outline:none}
.faq-item p{
  color:var(--text-body);
  padding:0.25rem 0 1.25rem;
  line-height:1.75;
  font-size:1rem;
}
.faq-item a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.faq-item a:hover{color:var(--accent-bright)}

/* FAQ collapsible items (added 2026-05-07) — uses design tokens */
.faq-item{
  border-bottom:1px solid var(--border-default);
  padding:0.5rem 0;
}
.faq-item summary{
  cursor:pointer;
  color:var(--text-primary);
  font-family:var(--font-serif);
  font-size:1.15rem;
  font-weight:400;
  padding:1rem 0;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  transition:color 0.2s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:'+';
  color:var(--accent);
  font-size:1.5rem;
  line-height:1;
  flex-shrink:0;
  margin-top:0.15rem;
}
.faq-item[open] summary::after{content:'\2212'}
.faq-item summary:hover,.faq-item summary:focus-visible{color:var(--accent-bright);outline:none}
.faq-item p{
  color:var(--text-body);
  padding:0.25rem 0 1.25rem;
  line-height:1.75;
  font-size:1rem;
}
.faq-item a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.faq-item a:hover{color:var(--accent-bright)}

/* FAQ collapsible items (added 2026-05-07) — uses design tokens */
.faq-item{border-bottom:1px solid var(--border-default);padding:0.5rem 0}
.faq-item summary{cursor:pointer;color:var(--text-primary);font-family:var(--font-serif);font-size:1.15rem;font-weight:400;padding:1rem 0;list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;transition:color 0.2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';color:var(--accent);font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:0.15rem}
.faq-item[open] summary::after{content:'\2212'}
.faq-item summary:hover,.faq-item summary:focus-visible{color:var(--accent-bright);outline:none}
.faq-item p{color:var(--text-body);padding:0.25rem 0 1.25rem;line-height:1.75;font-size:1rem}
.faq-item a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.faq-item a:hover{color:var(--accent-bright)}

/* Archive browse cards (added 2026-05-07) — uses design tokens */
.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}
.archive-card{display:block;text-decoration:none;color:inherit;padding:1.5rem;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color 0.2s, transform 0.1s, background 0.2s}
.archive-card:hover,.archive-card:focus-visible{border-color:var(--accent);transform:translateY(-2px);background:rgba(245,230,196,0.06);outline:none}
.archive-card-name{font-family:var(--font-serif);font-size:1.4rem;color:var(--text-primary);margin:0 0 0.5rem;font-weight:400;letter-spacing:0.02em}
.archive-card-dates{font-size:0.78rem;letter-spacing:0.18em;color:var(--text-quiet);text-transform:uppercase;margin-bottom:0.5rem}
.archive-card-role{font-style:italic;color:var(--text-quiet);font-size:0.95rem;margin-bottom:0.75rem}
.archive-card-summary{color:var(--text-body);font-size:0.95rem;line-height:1.6;margin-bottom:1rem}
.archive-card-verified{display:inline-block;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent-soft);border:1px solid var(--border-default);padding:0.2rem 0.6rem;border-radius:var(--radius-sm)}


/* Phase 2.5 extraction (2026-05-09) - styles formerly inline on individual pages, consolidated here per audit S-15. */

/* === Extracted from founder.html === */
.founder-quote {
  font-family: Georgia, serif;
  font-size: 1.25rem;
  font-style: italic;
  color: #e8c46c;
  text-align: center;
  max-width: 600px;
  margin: 0 auto 2rem;
  line-height: 1.7;
  padding: 1.25rem 1.5rem;
  border-left: 3px solid #e8c46c;
  border-right: 3px solid #e8c46c;
  background: rgba(232,196,108,0.05);
  border-radius: 3px;
}
.founder-body {
  max-width: 68ch;
  margin: 0 auto;
  font-size: 1.05rem;
  line-height: 1.9;
  color: #e8d9b8;
}
.founder-body p {
  margin-bottom: 1.5em;
}
.founder-body strong {
  color: #f5e6c4;
}
.founder-sig {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(232,196,108,0.25);
  text-align: center;
}
.founder-sig .sig-name {
  font-family: Georgia, serif;
  font-size: 1.3rem;
  color: #f5e6c4;
  margin-bottom: 0.25rem;
}
.founder-sig .sig-title {
  font-size: 0.85rem;
  color: #e8c46c;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.founder-sig .sig-sub {
  font-size: 0.82rem;
  color: #8a7a5a;
  margin-top: 0.25rem;
  font-style: italic;
}

/* === Extracted from request-advisor.html === */
/* Senior-friendly type scale on this page */
  .advisor-page p, .advisor-page li, .advisor-page label { font-size: 1.15rem; line-height: 1.75; color: #e8d9b8; }
  .advisor-page h2 { font-size: 1.6rem; margin: 2rem 0 0.85rem; }
  .advisor-page h3 { font-size: 1.25rem; }
  .advisor-page .field input, .advisor-page .field select, .advisor-page .field textarea {
    font-size: 1.1rem; padding: 1rem 1.1rem;
  }
  .advisor-page .field label { font-size: 1.05rem; letter-spacing: 0.04em; }
  .advisor-page .big-phone {
    display: block; text-align: center; margin: 1.5rem auto 0.5rem;
    font-family: Georgia, serif; font-size: 2.4rem; font-weight: 600;
    color: #e8c46c; text-decoration: none; letter-spacing: 0.02em;
  }
  .advisor-page .big-phone:hover { color: #f4d488; text-decoration: underline; }
  .advisor-page .big-email {
    display: block; text-align: center; margin: 0.5rem auto 1.5rem;
    font-size: 1.3rem; color: #e8c46c; text-decoration: none;
  }
  .advisor-page .step-num {
    display: inline-block; width: 1.8rem; height: 1.8rem; line-height: 1.8rem;
    text-align: center; background: #e8c46c; color: #1a1208; border-radius: 50%;
    font-weight: 700; font-family: Georgia, serif; margin-right: 0.6rem;
    font-size: 1.05rem;
  }
  .advisor-page .or-divider {
    display: flex; align-items: center; text-align: center;
    color: #c8a872; margin: 2rem 0; font-size: 0.85rem; letter-spacing: 0.2em; text-transform: uppercase;
  }
  .advisor-page .or-divider::before, .advisor-page .or-divider::after {
    content: ''; flex: 1; height: 1px; background: rgba(232,196,108,0.3); margin: 0 1rem;
  }
  .advisor-page .btn { font-size: 1.05rem; padding: 1rem 2rem; }

/* === Extracted from blog/index.html === */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.75rem;padding:3rem 0}
.blog-card{background:rgba(245,230,196,0.03);border:1px solid rgba(232,196,108,0.18);border-radius:4px;padding:1.75rem;transition:border-color 0.2s,background 0.2s}
.blog-card:hover{border-color:rgba(232,196,108,0.5);background:rgba(245,230,196,0.05)}
.blog-card-tag{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:#e8c46c;margin-bottom:0.75rem}
.blog-card h2{font-family:Georgia,serif;font-size:1.3rem;font-weight:400;color:#f5e6c4;margin-bottom:0.75rem;line-height:1.35}
.blog-card h2 a{color:inherit;text-decoration:none}
.blog-card h2 a:hover{color:#e8c46c}
.blog-card p{font-size:0.92rem;color:rgba(245,230,196,0.7);line-height:1.6;margin-bottom:1rem}
.blog-card-meta{font-size:0.78rem;color:rgba(245,230,196,0.78);letter-spacing:0.05em}
.blog-cta{text-align:center;padding:3rem 1rem;border-top:1px solid rgba(232,196,108,0.15);margin-top:1rem}
.blog-cta h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:400;color:#f5e6c4;margin-bottom:0.75rem}
.blog-cta p{color:#c9a876;max-width:520px;margin:0 auto 1.5rem}

/* ─── AI explainer audio cards (embedded inside <details> blocks) ──────────
   When an audio explainer file exists at /audio/<id>.mp3, drop this pattern
   inside the corresponding <details> block:
     <div class="explainer-audio">
       <p class="explainer-label">Listen — Czar reads this principle</p>
       <audio controls preload="none" src="/audio/principle-1.mp3"></audio>
     </div>
   Card matches the brand palette: subtle gold tint, gold left-border accent.
   ───────────────────────────────────────────────────────────────────────── */
.explainer-audio {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  background: var(--surface-eyebrow, rgba(232, 196, 108, 0.05));
  border-left: 3px solid var(--accent, #e8c46c);
  border-radius: 2px;
}
.explainer-label {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  color: var(--text-quiet, #c9a876);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
}
.explainer-audio audio,
.explainer-audio video {
  width: 100%;
  max-width: 520px;
  display: block;
  border-radius: 2px;
}
/* HA-HERO-V1 · Pass IV S11 · 2026-05-18 */

/* base hero shape */
.ha-hero {
  text-align: center;
  padding: 3.5rem 0 2rem;
  position: relative;
  --ha-bg: #0E2342;
  --ha-gold: #C9A253;
  --ha-fg: #F5EBD8;
}

/* portrait container */
.ha-hero__portrait {
  margin: 0 auto 1.5rem;
  text-align: center;
}
.ha-hero__portrait picture,
.ha-hero__portrait img {
  width: 320px;
  height: 320px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid var(--ha-gold);
  box-shadow: 0 0 60px rgba(232, 196, 108, 0.30);
  display: block;
  margin: 0 auto;
}

/* eyebrow (heraldic) */
.ha-hero__eyebrow {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  border: 1px solid rgba(232, 196, 108, 0.5);
  border-radius: 2px;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  color: #e8c46c;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  background: rgba(232, 196, 108, 0.05);
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace);
}

/* h1 */
.ha-hero__h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #f5e6c4;
  margin-bottom: 1rem;
  line-height: 1.2;
}

/* tagline */
.ha-hero__tagline {
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-style: italic;
  color: #c9a876;
  margin: 0 auto 1.5rem;
  max-width: 560px;
  font-family: 'Cormorant Garamond', Georgia, serif;
}

/* CTA row */
.ha-hero__cta-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  margin: 1.75rem auto 0;
  max-width: 560px;
}

/* supporting paragraph */
.ha-hero__supporting {
  font-size: 0.92rem;
  color: #c9a876;
  margin-top: 0.5rem;
  font-style: italic;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}

/* shape modifiers (semantic hooks) */
/* Editorial — portrait present, no CTA row. */
.ha-hero--editorial {
}

/* Marquee — no portrait, has CTA row. */
.ha-hero--marquee {
  padding-bottom: 1.5rem;
}

/* Editorial-plus — portrait AND CTA row. Homepage only. */
.ha-hero--editorial-plus {
}

/* HA-HERO-V1 END */

/* HA-CAPTURE-V1 · Pass IV S10 · 2026-05-18 */

/* base panel form */
.ha-capture {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1.5rem 0;
  padding: 1.75rem;
  background: var(--surface-panel, rgba(245, 230, 196, 0.04));
  border: 1px solid var(--border-default, rgba(232, 196, 108, 0.20));
  border-radius: var(--radius-md, 4px);
}

/* inline-row modifier */
.ha-capture--inline-row {
  padding: 1.25rem;
  gap: 0.5rem;
}

/* eyebrow */
.ha-capture__eyebrow {
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent, #e8c46c);
  margin: 0 0 0.5rem;
}

/* inline row container */
.ha-capture__row {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: stretch;
}
.ha-capture--inline-row .ha-capture__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* label */
.ha-capture__label {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-quiet, #c9a876);
  display: block;
  margin-bottom: 0.4rem;
}

/* input / textarea */
.ha-capture__input,
.ha-capture__textarea {
  padding: 0.85rem 1rem;
  background: var(--surface-input, rgba(245, 230, 196, 0.05));
  border: 1px solid var(--border-input, rgba(232, 196, 108, 0.40));
  border-radius: 2px;
  color: var(--text-primary, #f5e6c4);
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.5;
  width: 100%;
  box-sizing: border-box;
}
.ha-capture__input:focus,
.ha-capture__textarea:focus {
  outline: none;
  border-color: var(--accent, #e8c46c);
  background: var(--surface-input-focus, rgba(245, 230, 196, 0.08));
}
.ha-capture__input::placeholder,
.ha-capture__textarea::placeholder {
  color: var(--placeholder, rgba(245, 230, 196, 0.40));
}
.ha-capture__textarea {
  min-height: 100px;
  resize: vertical;
}

/* inline-row input flex */
.ha-capture--inline-row .ha-capture__input {
  flex: 1 1 200px;
  min-width: 0;
}

/* submit button */
.ha-capture__submit {
  display: inline-block;
  padding: 0.85rem 2rem;
  background: var(--accent, #e8c46c);
  color: var(--text-on-gold, #1a1208);
  border: none;
  border-radius: 2px;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.2s;
}
.ha-capture__submit:hover {
  background: var(--accent-bright, #f4d488);
}
.ha-capture__submit[aria-busy="true"] {
  opacity: 0.7;
  cursor: wait;
}
.ha-capture--inline-row .ha-capture__submit {
  padding: 0.55rem 1.1rem;
  font-size: 0.78rem;
  flex: 0 0 auto;
}

/* status */
.ha-capture__status {
  font-size: 0.85rem;
  color: var(--text-body, #d4c5a0);
  margin: 0.5rem 0 0;
  min-height: 1.2em;
  line-height: 1.5;
}
.ha-capture__status[data-state="ok"] {
  color: var(--text-on-gold, #1a1208);
  background: rgba(160, 200, 130, 0.10);
  border-left: 3px solid #a0c882;
  padding: 0.5rem 0.75rem;
  border-radius: 0 2px 2px 0;
}
.ha-capture__status[data-state="error"] {
  color: #d97c5c;
}

/* fineprint */
.ha-capture__fineprint {
  font-size: 0.78rem;
  color: var(--text-quiet, #c9a876);
  font-style: italic;
  margin: 0.5rem 0 0;
  line-height: 1.55;
}

/* HA-CAPTURE-V1 END */


/* HA-FONTS-V1 · Tier 1 design polish · 2026-05-18 */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/inter-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/inter-medium.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-bold.woff2') format('woff2');
}
/* HA-FONTS-V1 END */

/* ===== HA-CANONICAL-HERO 2026-06-09 — single authority for hero sizing. =====
   Every page's two-column hero, listen-coin, ring, caption, and hero heading
   size resolve here so pages look & feel identical and cannot drift. !important
   defeats any leftover per-page inline/local overrides. Only TEXT differs per page. */
.ha-hero-v{display:grid !important;grid-template-columns:1fr 1.1fr !important;gap:3rem !important;align-items:start !important;max-width:1180px !important;margin:0 auto !important;text-align:left !important}
@media (max-width:900px){
  .ha-hero-v{grid-template-columns:1fr !important;gap:2rem !important;text-align:center !important}
  .ha-hero-v__copy .cta-row{justify-content:center !important}
  .ha-hero-v__film{padding-top:0 !important}
}
/* hero top padding fixed so the coin's Y is identical on every page (no shift) */
.ha-hero.ha-hero--video{padding-top:2.5rem !important}
/* coin column pinned to the top of the hero; fixed offset aligns it beside the heading.
   Top-aligned (not centred) so a taller/shorter text column can never move the coin. */
.ha-hero-v__film{align-self:start !important;padding-top:0.75rem !important}
/* listen coin — identical size AND position on every page */
.ha-hero-v__film .ha-vid{max-width:320px !important;margin:0 auto !important;position:relative !important}
/* coin IMAGE locked to a fixed 320x320 square so the box is byte-identical on every page
   (does NOT touch a <video> film slot, e.g. honored-ancestors, which isn't square) */
.ha-hero-v__film .ha-vid > img{width:320px !important;height:320px !important;max-width:320px !important;object-fit:contain !important;display:block !important;margin:0 auto !important}
/* hero heading — one uniform size everywhere (overrides per-page h1 tweaks) */
.ha-hero h1,.ha-hero-v__copy h1{font-size:clamp(2rem,5vw,3.25rem) !important;line-height:1.08 !important;text-transform:uppercase !important;letter-spacing:0.05em !important;margin-bottom:1rem !important}
.ha-hero .eyebrow,.ha-hero-v__copy .eyebrow{font-family:var(--ha-mono,'JetBrains Mono',ui-monospace,monospace) !important}
/* listen play-ring — canonical (pages no longer need to define it) */
.ha-vid__play{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;padding:0}
.ha-vid__play[hidden]{display:none}
.ha-vid__ring{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:rgba(10,6,4,0.55);border:2px solid #C9A253;box-shadow:0 6px 24px rgba(0,0,0,0.45);transition:transform 160ms ease,background 160ms ease}
.ha-vid__play:hover .ha-vid__ring,.ha-vid__play:focus-visible .ha-vid__ring{transform:scale(1.07);background:rgba(201,162,83,0.92)}
.ha-vid__tri{width:0;height:0;margin-left:6px;border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent #E8C46C}
.ha-vid__play:hover .ha-vid__tri,.ha-vid__play:focus-visible .ha-vid__tri{border-left-color:#0E2342}
/* coin caption — uniform mono caption under the coin */
.ha-coin-cap{font-family:var(--ha-mono,'JetBrains Mono',ui-monospace,monospace);font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:#c8a872;text-align:center;margin:1.1rem 0 0}
.ha-coin-sub{font-family:var(--ha-mono,'JetBrains Mono',ui-monospace,monospace);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:#9c8a66;text-align:center;margin:0.4rem 0 0}
/* ===== /HA-CANONICAL-HERO ===== */
