/* Financial direction: architectural, precise, and restrained. */
:root { --ink: #10283b; --ink-soft: #586673; --accent: #a98b54; --line: #dce2e6; --paper: #f3f5f7; }
body { color: var(--ink); }
.hero-shell:has(.hero-panel-home) { background: #10283b; min-height: 90svh; }
.hero-shell:has(.hero-panel-home)::before { background-image: url('/building.jpg'); background-position: center 45%; filter: saturate(.2); animation: none; }
.hero-shell:has(.hero-panel-home)::after { background: linear-gradient(90deg, #071b2aed 0%, #0b2338c7 45%, #0b233864 100%); }
.topbar { min-height: 96px; }
.wordmark, .footer-wordmark { font-family: Georgia, 'Times New Roman', serif; font-size: 2rem; font-weight: 400; letter-spacing: -.045em; }
.topnav a { color: #4f6070; font-size: .875rem; }
.topnav a:last-child { background: #10283b; border-radius: 0; }
.hero-shell:has(.hero-panel-home) .topnav a:last-child { background: transparent; color: #fff; border: 1px solid #ffffff70; }
.hero-panel-home { min-height: calc(90svh - 96px); padding: clamp(80px, 12vh, 140px) 0 100px; justify-content: center; gap: 30px; }
.hero-panel-home .hero-headline h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.045em; font-size: clamp(3.8rem, 6.5vw, 6.6rem); line-height: 1.07; max-width: 900px; }
.hero-panel-home .hero-headline h1 em { color: #d5bf95; font-style: normal; }
.hero-panel-home .hero-aside { max-width: 510px; }
.hero-panel-home .hero-aside-copy { color: #dce4eb; line-height: 1.8; max-width: 48ch; }
.hero-panel-home .button-primary { background: #d5bf95; border-color: #d5bf95; color: #10283b; }
.hero-panel-home .button-primary:hover { background: #e4d3b4; }
.hero-panel-home .button-secondary { border-color: #ffffff65; }
.button { border-radius: 0; min-height: 50px; }
.button-outline:hover, .button-secondary:hover { background: #edf1f5; border-color: #aebbc6; color: #10283b; }
.hero-panel-home .button-secondary:hover { background: #ffffff12; color: #fff; }
.hero-panel:not(.hero-panel-home) .hero-headline h1, .section-title, .statement-block h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.035em; }
.hero-shell-compact { background: #10283b; color: white; }
.hero-shell-compact .topbar { border-color: #ffffff26; }
.hero-shell-compact .topnav a, .hero-shell-compact .menu-toggle { color: white; }
.hero-shell-compact .topnav a:last-child { border: 1px solid #ffffff60; }
.hero-shell-compact .hero-aside-copy { color: #d0dbe4; }
.light-section:has(.partner-shell), .contact-form-preview { background: #f2f5f7; }
.platform-card, .platform-card-link:hover { border-color: #bbc6cf; }
.platform-card h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.8rem; font-weight: 400; }
.platform-link-meta, .publication-cta a { color: #183e5e; }
.platform-link-meta:hover, .publication-cta a:hover { color: #806532; }
.approach-card { border-color: #dce2e6; }
.insight-home-card:hover, .insight-preview-card:hover { border-color: #a98b54; }
.contact-panel:not(:has(form)) { background: #10283b; border-radius: 0; color: #fff; }
.contact-panel:not(:has(form)) p { color: #d0dbe4; }
.contact-panel:not(:has(form)) .button { background: #d5bf95; color: #10283b; border-color: #d5bf95; }
.site-footer { background: #0b1e2d; color: #fff; border: 0; }
.footer-brand p, .footer-contact p, .footer-nav a, .footer-contact a, .footer-legal { color: #b9c6d0; }
.footer-label { color: #d5bf95; }
.footer-nav a:hover, .footer-contact a:hover { color: white; }
.footer-legal { border-color: #ffffff20; }
.contact-form-preview, .contact-form-preview input, .contact-form-preview textarea, .contact-form-preview select { border-radius: 0; }
.contact-form-preview input:focus, .contact-form-preview select:focus, .contact-form-preview textarea:focus { border-color: #183e5e; box-shadow: 0 0 0 3px #183e5e12; }
@media (max-width: 1000px) {
  .topbar { min-height: 80px; }
  .hero-panel-home { min-height: calc(90svh - 80px); padding: 80px 0 100px; }
  .hero-shell:has(.hero-panel-home) .topnav.is-open { background: #10283bf5; border-radius: 0; }
  .hero-shell:has(.hero-panel-home)::before { background-position: center; }
}
@media (max-width: 680px) {
  .hero-panel-home .hero-headline h1 { font-size: clamp(3.1rem, 12vw, 4.5rem); }
  .hero-panel-home { padding: 70px 0 84px; }
  .hero-shell:has(.hero-panel-home)::after { background: linear-gradient(90deg, #071b2aeb, #0b2338b0); }
  .hero-panel-home .hero-aside-copy { font-size: 1rem; }
}
