/* ===== Fonts ===== */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,400;0,500;0,600;1,400&family=Public+Sans:wght@400;500;600;700&display=swap');

/* ===== Design tokens ===== */
:root{
  --bg:oklch(97% 0.006 60);      --bg-alt:oklch(94% 0.008 60);
  --ink:oklch(20% 0.02 50);      --muted:oklch(46% 0.02 55);
  --navy:oklch(24% 0.015 55);    --navy-ink:oklch(95% 0.008 60);
  --accent:oklch(58% 0.11 50);   --accent-dark:oklch(46% 0.10 48);
  --border:oklch(88% 0.012 60);
  --max-w: 1160px;
  --radius: 4px;
}

/* ===== Reset ===== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; font-family:'Public Sans', system-ui, sans-serif; background:var(--bg); color:var(--ink); }
h1,h2,h3 { font-family:'Newsreader', Georgia, serif; font-weight:500; margin:0; }
p { margin:0; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
ul { margin:0; padding:0; list-style:none; }
button { font-family:inherit; }

/* ===== Layout ===== */
.container { max-width:var(--max-w); margin:0 auto; padding:0 40px; }

/* ===== Header / Nav ===== */
.site-header { background:var(--navy); border-bottom:1px solid oklch(100% 0 0 / 0.08); position:relative; z-index:50; }
.site-header .container { display:flex; align-items:center; justify-content:space-between; padding-top:22px; padding-bottom:22px; }
.brand { display:flex; align-items:center; gap:13px; }
.brand-mark { width:34px; height:34px; border:1.5px solid var(--accent); border-radius:3px; display:flex; align-items:center; justify-content:center; color:var(--accent); font-family:'Newsreader',serif; font-size:14px; flex-shrink:0; }
.brand-name { color:var(--navy-ink); font-family:'Newsreader',serif; font-size:16.5px; }

.site-nav { display:flex; align-items:center; gap:30px; }
.nav-link { color:oklch(95% 0.008 60 / 0.8); font-size:13.5px; font-weight:500; }
.nav-link:hover, .nav-link.is-active { color:var(--accent); font-weight:600; }
.ticker-chip { border:1px solid oklch(58% 0.11 50 / 0.55); color:var(--accent); padding:6px 13px; border-radius:999px; font-size:11.5px; letter-spacing:.08em; white-space:nowrap; }

.nav-toggle { display:none; width:44px; height:44px; align-items:center; justify-content:center; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0; }
.nav-toggle-bar, .nav-toggle-bar::before, .nav-toggle-bar::after { display:block; width:22px; height:2px; background:var(--navy-ink); border-radius:1px; position:relative; transition:transform .2s ease, background .2s ease; }
.nav-toggle-bar::before, .nav-toggle-bar::after { content:""; position:absolute; left:0; }
.nav-toggle-bar::before { top:-7px; }
.nav-toggle-bar::after { top:7px; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar { background:transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar::before { top:0; transform:rotate(45deg); background:var(--accent); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar::after { top:0; transform:rotate(-45deg); background:var(--accent); }

.mobile-nav-panel {
  display:flex; flex-direction:column;
  background:var(--navy); border-top:1px solid oklch(100% 0 0 / 0.08);
  padding:8px 24px 28px;
  position:absolute; top:100%; left:0; right:0;
  box-shadow:0 18px 32px -12px oklch(0% 0 0 / 0.35);
  opacity:0; transform:translateY(-8px); pointer-events:none; visibility:hidden;
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.mobile-nav-panel.is-open {
  opacity:1; transform:translateY(0); pointer-events:auto; visibility:visible;
  transition:opacity .18s ease, transform .18s ease;
}
.mobile-nav-panel .nav-link { padding:14px 4px; font-size:16px; border-bottom:1px solid oklch(100% 0 0 / 0.08); }
.mobile-nav-panel .ticker-chip { align-self:flex-start; margin-top:16px; }

/* ===== Buttons ===== */
.btn { display:inline-flex; align-items:center; justify-content:center; padding:13px 26px; border-radius:var(--radius); font-size:14.5px; font-weight:600; }
.btn-primary { background:var(--accent); color:oklch(20% 0.02 50); }
.btn-primary:hover { background:var(--accent-dark); }
.btn-secondary { color:var(--navy-ink); border:1px solid oklch(95% 0.008 60 / 0.3); }
.btn-secondary:hover { border-color:var(--accent); color:var(--accent); }

/* ===== Hero (Home only) ===== */
.hero { position:relative; background:var(--navy); color:var(--navy-ink); overflow:hidden; }
.hero-media { position:absolute; inset:0; }
.hero-media img { width:100%; height:100%; object-fit:cover; opacity:0.32; }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, oklch(24% 0.015 55 / 0.55), oklch(24% 0.015 55 / 0.92)); }
.hero-content { position:relative; z-index:1; max-width:820px; margin:0 auto; padding:96px 40px 88px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; border:1px solid oklch(58% 0.11 50 / 0.5); color:var(--accent); padding:6px 14px; border-radius:999px; font-size:12.5px; letter-spacing:.08em; margin-bottom:28px; }
.hero-content h1 { font-size:44px; line-height:1.15; margin-bottom:20px; }
.hero-lede { font-size:17px; line-height:1.6; color:oklch(95% 0.008 60 / 0.85); max-width:620px; margin:0 0 36px; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }

/* ===== Eyebrow labels ===== */
.eyebrow { font-size:12px; letter-spacing:.09em; color:var(--muted); margin-bottom:12px; text-transform:uppercase; }
.eyebrow--on-dark { color:oklch(95% 0.008 60 / 0.7); }
.page-banner-meta { margin-top:10px; margin-bottom:0; }

/* ===== Strategy blurb (Home) ===== */
.blurb { max-width:760px; margin:0 auto; text-align:center; padding:72px 40px 64px; }
.blurb p { font-size:19px; line-height:1.7; font-family:'Newsreader',serif; }

/* ===== Cards / quick links (Home) ===== */
.card { background:var(--bg-alt); border:1px solid var(--border); border-radius:var(--radius); }
.quick-links { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:20px; padding:0 40px 100px; max-width:var(--max-w); margin:0 auto; }
.quick-link { padding:24px 20px; display:flex; flex-direction:column; gap:8px; }
.quick-link-title { font-family:'Newsreader',serif; font-size:16.5px; color:var(--ink); }
.quick-link-desc { font-size:12.5px; color:var(--muted); line-height:1.55; }

/* ===== Page banners (inner pages) ===== */
.page-banner { background:var(--bg-alt); border-bottom:1px solid var(--border); padding:52px 40px 44px; }
.page-banner h1 { font-size:32px; }
.page-banner-media { position:relative; height:220px; overflow:hidden; }
.page-banner-media img { width:100%; height:100%; object-fit:cover; }
.page-banner-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, oklch(24% 0.015 55 / 0.15), oklch(24% 0.015 55 / 0.72)); }
.page-banner-text { position:absolute; left:0; right:0; bottom:0; z-index:1; padding:0 40px 28px; max-width:var(--max-w); margin:0 auto; color:var(--navy-ink); }
.page-banner-text h1 { font-size:32px; }

/* ===== Prose ===== */
.prose { max-width:820px; margin:0 auto; padding:64px 40px 24px; }
.prose p { font-size:17px; line-height:1.75; }
.prose-section { max-width:820px; margin:0 auto; padding:24px 40px 80px; }
.prose-section h2 { font-size:24px; margin-bottom:18px; }
.prose-section > p { font-size:16px; line-height:1.75; margin-bottom:28px; }

.split { display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; max-width:var(--max-w); margin:0 auto; padding:64px 40px 24px; }
.split p { font-size:17px; line-height:1.75; }
.split-media { border-radius:var(--radius); overflow:hidden; height:100%; min-height:260px; }
.split-media img { width:100%; height:100%; object-fit:cover; }

.factor-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin-bottom:28px; }
.factor-grid .card { padding:14px 18px; font-size:14.5px; }

/* ===== Management ===== */
.people-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:28px; max-width:var(--max-w); margin:0 auto; padding:64px 40px 96px; }
.person-card { padding:36px 32px; display:flex; flex-direction:column; gap:16px; }
.avatar { width:56px; height:56px; border-radius:50%; border:1.5px solid var(--accent); color:var(--accent); display:flex; align-items:center; justify-content:center; font-family:'Newsreader',serif; font-size:18px; }
.person-name { font-family:'Newsreader',serif; font-size:21px; margin-bottom:4px; color:var(--ink); }
.person-title { font-size:13.5px; color:var(--muted); }

/* ===== Corporate Information ===== */
.info-list { max-width:820px; margin:0 auto; padding:64px 40px 20px; }
.info-row { display:flex; justify-content:space-between; align-items:baseline; padding:16px 0; border-bottom:1px solid var(--border); gap:24px; }
.info-row:last-child { border-bottom:none; }
.info-label { font-size:13.5px; color:var(--muted); white-space:nowrap; }
.info-value { font-size:15.5px; text-align:right; }
.advisor-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.advisor-card { padding:22px 20px; }
.advisor-name { font-family:'Newsreader',serif; font-size:16.5px; color:var(--ink); }

/* ===== Investors ===== */
.link-cards { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; max-width:820px; margin:64px auto 0; padding:0 40px; }
.link-card { padding:22px 22px; display:flex; flex-direction:column; gap:6px; }
.link-card-title { font-family:'Newsreader',serif; font-size:17px; color:var(--ink); }
.link-card-desc { font-size:13px; color:var(--muted); }
.disclaimer-box { padding:24px 26px; max-width:820px; margin:40px auto 96px; }
.disclaimer-box p { font-size:13.5px; line-height:1.75; }

/* ===== Contact ===== */
.address-card { max-width:620px; margin:64px auto 96px; padding:32px 32px; display:flex; flex-direction:column; gap:6px; }
.address-card-name { font-family:'Newsreader',serif; font-size:19px; margin-bottom:6px; color:var(--ink); }
.address-card p { font-size:15px; line-height:1.8; }

/* ===== Legal pages ===== */
.legal-sections { display:flex; flex-direction:column; gap:34px; padding-top:56px; }
.legal-sections h2 { font-size:18px; margin-bottom:10px; }
.legal-sections p { font-size:14.5px; line-height:1.75; }
.legal-sections a { color:var(--accent); }

/* ===== Footer ===== */
.site-footer { background:var(--navy); padding:56px 0 30px; }
.footer-top { display:flex; justify-content:space-between; gap:56px; flex-wrap:wrap; }
.footer-brand { max-width:380px; display:flex; flex-direction:column; gap:14px; }
.footer-brand-name { color:var(--navy-ink); font-family:'Newsreader',serif; font-size:16px; }
.footer-address { color:oklch(95% 0.008 60 / 0.65); font-size:13px; line-height:1.7; }
.footer-columns { display:flex; gap:48px; flex-wrap:wrap; }
.footer-col { display:flex; flex-direction:column; gap:10px; }
.footer-col-title { color:oklch(95% 0.008 60 / 0.45); font-size:11px; letter-spacing:.09em; }
.footer-link { color:oklch(95% 0.008 60 / 0.75); font-size:13px; }
.footer-link:hover, .footer-link.is-active { color:var(--accent); }
.footer-legal { margin-top:34px; padding-top:22px; border-top:1px solid oklch(100% 0 0 / 0.1); color:oklch(95% 0.008 60 / 0.45); font-size:11px; line-height:1.7; }

/* ===== Responsive (this is the rebuilt, working mobile experience) ===== */
@media (max-width: 860px){
  .container { padding:0 24px; }
  .site-nav .nav-link, .site-nav .ticker-chip { display:none; }
  .nav-toggle { display:flex; }

  .hero-content { padding:64px 24px 56px; }
  .hero-content h1 { font-size:30px; }
  .hero-lede { font-size:15px; }
  .hero-actions { flex-direction:column; width:100%; }
  .hero-actions .btn { width:100%; }

  .blurb { padding:48px 24px; }
  .blurb p { font-size:17px; }

  .quick-links { grid-template-columns:1fr; padding:0 24px 56px; }

  .page-banner { padding:40px 24px 34px; }
  .page-banner h1, .page-banner-text h1 { font-size:26px; }
  .page-banner-media { height:180px; }
  .page-banner-text { padding:0 24px 22px; }

  .prose, .prose-section, .info-list, .people-grid, .link-cards, .disclaimer-box, .address-card { padding-left:24px; padding-right:24px; }
  .split { grid-template-columns:1fr; padding:40px 24px 24px; }
  .split-media { min-height:200px; }
  .people-grid { grid-template-columns:1fr; padding-top:40px; padding-bottom:56px; }
  .advisor-grid { grid-template-columns:1fr; }
  .factor-grid { grid-template-columns:1fr; }
  .link-cards { grid-template-columns:1fr; }
  .info-row { flex-direction:column; align-items:flex-start; gap:4px; }
  .info-value { text-align:left; }

  .footer-top { gap:32px; }
  .footer-columns { gap:32px; width:100%; }
}
