/* Donald MacPherson Bio */
/* Bio-only tokens (mockup :root; not in approved-homepage.css) */
.donald-macpherson-bio-page {
  --gold-600: #8b6914;
  --gold-500: #a07820;
  --gold-400: #c8a84b;
  --gold-300: #d4b86a;
  --gold-200: #e8d49a;
  --gold-100: #f8f0d8;
  --gold-50: #fdf8ee;
  --navy-950: #060e1c;
  --color-accent: var(--gold-600);
  --color-accent-hover: var(--gold-500);
}
.donald-macpherson-bio-page .inline-link {
  color: var(--navy-700);
  font-weight: 600;
  border-bottom: 1px solid var(--navy-100);
  transition: color var(--transition);
}
.donald-macpherson-bio-page .inline-link:hover {
  color: var(--color-accent);
}

/* ═══ BREADCRUMB ═══ */
.breadcrumb-bar{background:var(--color-surface);border-bottom:1px solid var(--color-divider);padding-block:var(--space-3)}
.breadcrumb{display:flex;align-items:center;gap:var(--space-2);list-style:none;flex-wrap:wrap}
.breadcrumb li{font-size:var(--text-xs);color:var(--color-text-muted)}
.breadcrumb a{color:var(--color-text-muted);transition:color var(--transition)}
.breadcrumb a:hover{color:var(--color-text)}
.breadcrumb [aria-current="page"]{color:var(--color-text);font-weight:600}

/* ═══ BIO HERO ═══ */
.bio-hero{background:var(--color-bg);border-bottom:1px solid var(--color-divider);padding-block:clamp(var(--space-10),6vw,var(--space-20))}
.bio-hero-inner{display:grid;grid-template-columns:300px 1fr;gap:clamp(var(--space-10),6vw,var(--space-20));align-items:start}
@media(max-width:900px){.bio-hero-inner{grid-template-columns:1fr}}
.bio-photo-col{display:flex;flex-direction:column;gap:var(--space-4)}
.bio-photo-frame{display:flex;flex-direction:column;gap:var(--space-4)}
.bio-photo-placeholder{width:100%;aspect-ratio:3/4;background:linear-gradient(160deg,#ede8d8,var(--gold-100));border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);border:1px dashed var(--gold-200)}
.bio-headshot{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;border-radius:var(--radius-xl);display:block}
.photo-placeholder-text{font-size:var(--text-xs);font-style:italic;color:var(--color-text-muted);text-align:center;line-height:1.8}

/* Of Counsel badge — gold, prominent */
.of-counsel-badge-block{background:var(--gold-600);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);text-align:center}
.oc-badge-inner{display:flex;flex-direction:column;gap:var(--space-1)}
.oc-badge-label{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:#fff;letter-spacing:.02em}
.oc-badge-sub{font-size:var(--text-xs);color:rgba(255,255,255,.7);letter-spacing:.05em;text-transform:uppercase}

/* West Point credential block */
.wp-credential-block{display:flex;align-items:center;gap:var(--space-4);background:var(--navy-800);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}
.wp-icon{color:var(--gold-400);flex-shrink:0}
.wp-text{display:flex;flex-direction:column;gap:2px}
.wp-label{font-size:var(--text-sm);font-weight:700;color:#fff}
.wp-sub{font-size:var(--text-xs);color:rgba(255,255,255,.55)}

/* Bio identity column */
.bio-identity-col{display:flex;flex-direction:column;gap:var(--space-6)}
.bio-eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-600)}
.bio-name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--navy-800);line-height:1.05}
.bio-designation{font-size:var(--text-sm);color:var(--color-text-muted)}

/* Double certification callout — the centrepiece */
.double-cert-callout{background:var(--navy-800);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;align-items:flex-start;gap:var(--space-4);border-left:5px solid var(--gold-400)}
.dcc-icon{flex-shrink:0;color:var(--gold-400);margin-top:2px}
.dcc-body{display:flex;flex-direction:column;gap:var(--space-2)}
.dcc-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:#fff;line-height:1.3}
.dcc-desc{font-size:var(--text-sm);color:rgba(255,255,255,.72);line-height:1.7;max-width:100%}
.dcc-desc em{color:var(--gold-300);font-style:normal;font-weight:600}

/* Credential strip */
.quick-creds{display:flex;align-items:center;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-divider);overflow:hidden;flex-wrap:wrap}
.quick-cred{display:flex;flex-direction:column;align-items:center;padding:var(--space-4) var(--space-5);text-align:center;gap:var(--space-1)}
.qc-num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--navy-800);line-height:1}
.qc-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.qc-divider{width:1px;height:52px;background:var(--color-divider);flex-shrink:0}
.bio-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}

/* ═══ PAGE LAYOUT ═══ */
.page-layout{padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.page-layout-inner{display:grid;grid-template-columns:1fr 300px;gap:clamp(var(--space-10),5vw,var(--space-16));align-items:start}
@media(max-width:1024px){.page-layout-inner{grid-template-columns:1fr}}
.page-main{display:flex;flex-direction:column;gap:clamp(var(--space-12),5vw,var(--space-20))}
.content-section{display:flex;flex-direction:column;gap:var(--space-5)}
.content-h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--navy-800);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-divider)}
.content-section>p{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.8}

/* Founding quote — large, centred */
.founding-quote{background:var(--gold-50);border-left:4px solid var(--gold-400);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:var(--space-6) var(--space-8);margin-block:var(--space-2)}
.founding-quote p{font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;color:var(--navy-800);line-height:1.55;max-width:100%}
.founding-quote cite{display:block;margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);font-style:normal;font-weight:600}

/* Pull quotes (smaller, in-body) */
.pull-quote{background:var(--color-surface);border-left:3px solid var(--gold-400);padding:var(--space-5) var(--space-6);border-radius:0 var(--radius-md) var(--radius-md) 0}
.pull-quote p{font-family:var(--font-display);font-size:var(--text-base);font-style:italic;color:var(--navy-700);line-height:1.6;max-width:100%}
.pull-quote cite{display:block;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);font-style:normal;font-weight:600}

/* Military timeline */
.military-timeline{display:flex;flex-direction:column;gap:0}
.mil-item{display:flex;gap:var(--space-6);padding-bottom:clamp(var(--space-8),4vw,var(--space-12))}
.mil-item-last{padding-bottom:0}
.mil-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:20px}
.mil-dot{width:14px;height:14px;border-radius:50%;background:var(--color-border);border:2px solid var(--color-bg);box-shadow:0 0 0 2px var(--color-border);flex-shrink:0;margin-top:4px}
.mil-dot-highlight{background:var(--gold-600);box-shadow:0 0 0 3px var(--gold-100)}
.mil-line{width:2px;background:var(--color-divider);flex:1;margin-top:var(--space-2)}
.mil-content{display:flex;flex-direction:column;gap:var(--space-3);padding-top:2px;flex:1}
.mil-period{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint)}
.mil-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--navy-800)}
.mil-content>p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.8;max-width:100%}
.mil-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--navy-800);color:rgba(255,255,255,.85);font-size:var(--text-xs);font-weight:600;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);width:fit-content}
.mil-badge svg{color:var(--gold-400);flex-shrink:0}

/* Medals row */
.medal-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.medal-item{font-size:var(--text-xs);font-weight:600;color:var(--gold-600);background:var(--gold-50);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--gold-200);white-space:nowrap}

/* Career highlights */
.career-highlights{display:flex;flex-direction:column;gap:var(--space-6)}
.career-highlight-item{display:flex;gap:var(--space-6);align-items:flex-start}
@media(max-width:600px){.career-highlight-item{flex-direction:column}}
.ch-num{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;color:var(--gold-200);line-height:1;flex-shrink:0;min-width:80px;text-align:center}
.ch-num-ussc{font-size:clamp(1.4rem,3.5vw,2.5rem);min-width:80px}
.ch-body{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2)}
.ch-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--navy-800)}
.ch-body p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.8;max-width:100%}
.client-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.client-tag{font-size:var(--text-xs);font-weight:600;color:var(--navy-700);background:var(--navy-50);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--navy-100);white-space:nowrap}

/* Books */
.books-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
@media(max-width:640px){.books-grid{grid-template-columns:1fr}}
.book-card{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-divider);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--transition)}
.book-card:hover{box-shadow:var(--shadow-md)}
.featured-book{display:grid;grid-template-columns:140px 1fr;gap:0}
@media(max-width:640px){.featured-book{grid-template-columns:1fr}}
.book-cover-placeholder{background:var(--navy-800);display:flex;align-items:center;justify-content:center;min-height:200px}
.book-cover-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center}
.book-cover-star{font-size:2rem;color:var(--gold-400)}
.book-cover-title{font-family:var(--font-display);font-size:.75rem;font-weight:700;color:#fff;letter-spacing:.08em;line-height:1.4;text-align:center}
.book-cover-sub{font-size:.65rem;color:rgba(255,255,255,.6);letter-spacing:.1em;text-transform:uppercase;text-align:center}
.book-info{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}
.book-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--navy-800)}
.book-author{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}
.book-isbn{font-size:var(--text-xs);color:var(--color-text-faint);font-family:monospace}
.book-desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.7;flex:1;max-width:100%}
.book-links{margin-top:auto;padding-top:var(--space-2)}
.book-link{font-size:var(--text-xs);font-weight:600;color:var(--navy-700)}
.book-link:hover{color:var(--gold-600)}
.book-card-placeholder{display:flex;align-items:center;justify-content:center}
.book-placeholder-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8);text-align:center}
.book-placeholder-inner p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:100%}
.book-placeholder-note{font-size:var(--text-xs);font-style:italic;color:var(--color-text-faint);max-width:100%}

/* Family gen strip */
.family-gen-strip{display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-6);flex-wrap:wrap;justify-content:center}
.fgs-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);text-align:center;padding:var(--space-4) var(--space-5)}
.fgs-gen{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint)}
.fgs-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--navy-800)}
.fgs-role{font-size:var(--text-xs);color:var(--color-text-muted)}
.fgs-current{background:var(--navy-800);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}
.fgs-current .fgs-gen{color:rgba(255,255,255,.5)}
.fgs-current .fgs-name{color:#fff}
.fgs-current .fgs-role{color:var(--gold-300)}
.fgs-arrow{font-size:var(--text-xl);color:var(--color-divider);flex-shrink:0}

/* Notable grid */
.notable-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
@media(max-width:640px){.notable-grid{grid-template-columns:1fr}}
.notable-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-divider)}
.notable-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--gold-600);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.notable-body{display:flex;flex-direction:column;gap:var(--space-1)}
.notable-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--navy-800);line-height:1.3}
.notable-item p{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.65;max-width:100%}

/* Counsel note */
.counsel-note{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--gold-50);border:1px solid var(--gold-200);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}
.counsel-note svg{flex-shrink:0;color:var(--gold-600);margin-top:2px}
.counsel-note p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;max-width:100%}

/* ═══ SIDEBAR ═══ */
.page-sidebar{display:flex;flex-direction:column}
.sidebar-sticky{position:sticky;top:96px;display:flex;flex-direction:column;gap:var(--space-6)}
.sidebar-contact-card{background:var(--navy-800);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.sidebar-contact-header{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.sidebar-contact-header svg{flex-shrink:0;color:rgba(255,255,255,.5)}
.sidebar-contact-body{font-size:var(--text-sm);color:rgba(255,255,255,.65);line-height:1.7;max-width:100%}
.sidebar-cta-btn{width:100%;justify-content:center}
.sidebar-divider{height:1px;background:rgba(255,255,255,.1)}
.sidebar-phone-link{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:700;color:#fff;padding:var(--space-3) 0}
.sidebar-response{font-size:var(--text-xs);color:rgba(255,255,255,.35);line-height:1.6;max-width:100%}

.sidebar-credentials-block{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);border:1px solid var(--color-divider)}
.sidebar-section-title{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-4)}
.sidebar-creds-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}
.sidebar-creds-list li{font-size:var(--text-xs);color:var(--color-text-muted);padding-left:var(--space-3);position:relative;max-width:100%}
.sidebar-creds-list li::before{content:'·';position:absolute;left:0;color:var(--gold-600);font-weight:700}
.sidebar-creds-list strong{color:var(--navy-800);font-weight:700}

.sidebar-books{background:var(--gold-50);border-radius:var(--radius-xl);padding:var(--space-5);border:1px solid var(--gold-200)}
.sidebar-book-item{display:flex;flex-direction:column;gap:var(--space-1);padding-block:var(--space-3);border-bottom:1px solid var(--gold-200)}
.sidebar-book-item:last-child{border-bottom:none}
.sbi-title{font-size:var(--text-sm);font-weight:700;color:var(--navy-800);font-family:var(--font-display)}
.sbi-isbn{font-size:var(--text-xs);color:var(--color-text-faint);font-family:monospace}
.sbi-link{font-size:var(--text-xs);font-weight:600;color:var(--gold-600);display:inline-block;margin-top:var(--space-1)}
.sbi-link:hover{color:var(--navy-800)}

.sidebar-related{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);border:1px solid var(--color-divider)}
.sidebar-related-title{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-4)}
.sidebar-related ul{list-style:none;display:flex;flex-direction:column;gap:0}
.sidebar-related li{border-bottom:1px solid var(--color-divider)}
.sidebar-related li:last-child{border-bottom:none}
.sidebar-related a{display:block;padding:var(--space-3) 0;font-size:var(--text-sm);color:var(--navy-700);font-weight:500;transition:color var(--transition)}
.sidebar-related a:hover{color:var(--gold-600)}

/* ═══ BOTTOM CTA ═══ */
.bottom-cta{background:var(--navy-900);padding-block:clamp(var(--space-16),8vw,var(--space-24))}
.bottom-cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-10),6vw,var(--space-20));align-items:start}
@media(max-width:800px){.bottom-cta-inner{grid-template-columns:1fr}}
.cta-text{display:flex;flex-direction:column;gap:var(--space-5)}
.cta-headline{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:#fff;line-height:1.1}
.cta-sub{font-size:var(--text-base);color:rgba(255,255,255,.65);line-height:1.8;max-width:50ch}
.cta-contact-options{display:flex;flex-direction:column;gap:var(--space-3)}
.cta-option{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:rgba(255,255,255,.55)}
.cta-phone-link{display:inline-flex;align-items:center;gap:var(--space-1);color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.4);vertical-align:middle}
.cta-phone-link:hover{border-bottom-color:#fff}
