:root { color-scheme:dark; --ink:#e1fb96; --red:#ff5a5f; --base:#171a1a; --panel:#212525; --line:#424947; --muted:#a4ada7; --cream:#e5e7df; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--cream); background:var(--base); font-family:Arial, Helvetica, sans-serif; line-height:1.45; }
a { color:inherit; text-decoration:none; }
.site-header { min-height:86px; padding:14px max(5vw,28px); border-bottom:1px solid var(--line); display:flex; align-items:center; gap:36px; position:sticky; top:0; z-index:10; background:rgba(23,26,26,.95); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); letter-spacing:.12em; min-width:224px; }
.brand img { width:52px; height:52px; }.brand strong,.brand small { display:block; }.brand strong { font-size:17px; }.brand small { font-size:10px; letter-spacing:.28em; }
.nav { margin-left:auto; display:flex; align-items:center; gap:22px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }.nav a { color:var(--ink); padding:9px 0; }.nav a:hover,.nav a.active { color:var(--red); }
.menu-button { display:none; margin-left:auto; border:1px solid var(--line); background:none; color:var(--ink); padding:8px 11px; text-transform:uppercase; letter-spacing:.08em; }
.hero { min-height:640px; padding:clamp(90px,14vw,176px) max(5vw,28px) 100px; background:radial-gradient(circle at 83% 22%,#334b3e 0,#202726 23%,var(--base) 58%); }.eyebrow { color:var(--ink); font-size:11px; font-weight:bold; letter-spacing:.16em; text-transform:uppercase; margin:0 0 22px; }
h1,h2 { font-family:Georgia, 'Times New Roman', serif; font-weight:normal; letter-spacing:-.04em; margin:0; }.hero h1 { font-size:clamp(58px,10vw,128px); line-height:.89; max-width:900px; }.hero h1 em { color:var(--ink); }.hero-copy { color:var(--muted); max-width:510px; font-size:18px; margin:38px 0 34px; }.button { display:inline-block; color:var(--base); background:var(--ink); padding:15px 18px; font-size:12px; font-weight:bold; text-transform:uppercase; letter-spacing:.08em; }.button span { margin-left:12px; }
.section { padding:110px max(5vw,28px); border-top:1px solid var(--line); }.split { display:grid; grid-template-columns:minmax(280px,1fr) minmax(300px,1fr); gap:80px; }.section h2,.contact h2 { font-size:clamp(42px,5vw,72px); line-height:.96; }.copy-block { color:var(--muted); font-size:19px; max-width:560px; }.copy-block p { margin-top:0; }.goal-list { list-style:none; padding:10px 0 0; margin:28px 0 0; border-top:1px solid var(--line); }.goal-list li { padding:17px 0; border-bottom:1px solid var(--line); display:flex; gap:20px; }.goal-list span { color:var(--ink); font-size:11px; padding-top:4px; }
.portfolio { background:var(--panel); }.section-heading { margin-bottom:40px; }.disclaimer { font-size:12px; color:var(--muted); border-top:1px solid var(--line); padding:14px 0; }.watchlist-heading { display:flex; justify-content:space-between; color:var(--ink); padding:18px 0 12px; text-transform:uppercase; letter-spacing:.12em; font-size:11px; }.watchlist-heading span:last-child { color:var(--muted); }.watchlist-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:48px; }.market-card { min-height:230px; padding:18px; border:1px solid var(--line); background:#1a1e1d; overflow:hidden; }.market-card:last-child { grid-column:span 2; }.market-label { display:flex; align-items:baseline; gap:12px; padding:0 4px 10px; }.market-label strong { color:var(--ink); font-size:14px; letter-spacing:.1em; }.market-label span { color:var(--muted); font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.market-chart { display:block; width:100%; height:170px; border:0; background:#1a1e1d; }.allocation-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }.allocation-grid article { min-height:225px; padding:27px; border-right:1px solid var(--line); display:flex; flex-direction:column; }.allocation-grid article:last-child { border:0; }.allocation { color:var(--ink); text-transform:uppercase; letter-spacing:.13em; font-size:11px; margin:0 0 52px; }.allocation-grid strong { font-family:Georgia,serif; font-size:27px; font-weight:normal; }.allocation-grid span { color:var(--muted); margin-top:14px; font-size:14px; }
.study-list { border-top:1px solid var(--line); }.study-list a { display:grid; grid-template-columns:170px 1fr 110px; gap:20px; align-items:center; padding:27px 0; border-bottom:1px solid var(--line); }.study-list a:hover strong { color:var(--ink); }.study-list span,.study-list time { color:var(--muted); font-size:12px; }.study-list strong { font-family:Georgia,serif; font-size:clamp(21px,2.5vw,34px); font-weight:normal; }.study-list time { text-align:right; }
.resources { background:#0f1212; }.resource-links { border-top:1px solid var(--line); }.resource-links a { display:flex; justify-content:space-between; color:var(--ink); padding:18px 0; border-bottom:1px solid var(--line); }.resource-links a:hover { color:var(--red); }.resource-links span { font-size:20px; }
.contact { padding:120px max(5vw,28px); background:var(--ink); color:var(--base); }.contact .eyebrow { color:#4c6754; }.contact p:not(.eyebrow) { font-size:17px; margin:24px 0; }.email { font-family:Georgia,serif; font-size:clamp(29px,4vw,56px); border-bottom:2px solid var(--base); } footer { padding:25px max(5vw,28px); display:flex; justify-content:space-between; gap:25px; color:var(--muted); font-size:11px; }
@media (max-width:760px) { .site-header { flex-wrap:wrap; gap:10px; }.menu-button { display:block; }.nav { width:100%; display:none; flex-direction:column; align-items:flex-start; padding:10px 0; }.nav.open { display:flex; }.split,.allocation-grid,.watchlist-grid { grid-template-columns:1fr; gap:40px; }.watchlist-grid { gap:14px; }.market-card:last-child { grid-column:auto; }.watchlist-heading { gap:20px; }.watchlist-heading span:last-child { text-align:right; }.allocation-grid article { border-right:0; border-bottom:1px solid var(--line); min-height:170px; }.allocation-grid article:last-child { border-bottom:0; }.allocation { margin-bottom:24px; }.study-list a { grid-template-columns:1fr; gap:8px; }.study-list time { text-align:left; } footer { flex-direction:column; }.hero { min-height:560px; } }
