:root{--bg: #ede8db;--ink: #18181b;--ink-muted: #6a6457;--ink-quiet: #8b8475;--rule: #c4beae;--rule-soft: #d8d2c4;--serif: "Instrument Serif", "Times New Roman", Times, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light;color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:16px;line-height:1.55;font-weight:400;letter-spacing:-.003em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{margin:0;padding:0}body{background:var(--bg);color:var(--ink);min-height:100vh;overflow-x:hidden}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}p{margin:0}h1,h2,h3{margin:0;font-weight:400}.page{min-height:100vh;display:flex;flex-direction:column}.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 2.5rem;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule-soft)}.logo{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--serif);font-size:1.3rem;font-style:italic;letter-spacing:-.005em;color:var(--ink);line-height:1}.logo-word{position:relative;top:1px}.nav-links{display:flex;align-items:center;gap:2rem}.nav-link{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:lowercase;color:var(--ink-muted);transition:color .16s ease}.nav-link:hover,.nav-link.active{color:var(--ink)}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:0 2.5rem}.main.centered{display:flex;align-items:center}.hero{padding:12vh 0;max-width:1040px}.eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:2.25rem}.eyebrow:before{content:"";width:28px;height:1px;background:var(--ink-muted)}.hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,7.2vw,6rem);line-height:1;letter-spacing:-.028em;color:var(--ink)}.hero-title em{font-style:italic}.hero-title .soft{color:var(--ink-quiet)}.hero-sub{max-width:38rem;margin-top:2.75rem;font-size:1.02rem;line-height:1.6;color:var(--ink-muted)}.footer{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 2.5rem;border-top:1px solid var(--rule-soft);font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.footer-mark{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-muted)}.research-hero{padding:10vh 0 2vh}.thesis-body{padding:2vh 0 7vh}.thesis-body p{max-width:46rem;font-family:var(--serif);font-size:1.35rem;line-height:1.45;color:var(--ink);letter-spacing:-.003em}.thesis-body p+p{margin-top:1.5rem}.research-section{padding:3vh 0 14vh}.research-section .eyebrow{margin-bottom:3rem}.notes-list{list-style:none;padding:0;margin:0}.note-row{display:grid;grid-template-columns:10rem 1fr 4rem;gap:2rem;padding:2rem 0;border-top:1px solid var(--rule-soft);align-items:baseline}.note-date{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.note-title{font-family:var(--serif);font-size:1.2rem;line-height:1.3;color:var(--ink);letter-spacing:-.003em}.note-title a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--ink) 25%,transparent);transition:text-decoration-color .16s ease}.note-title a:hover{text-decoration-color:var(--ink)}.note-status{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);text-align:right}:root{--gain: #4a6b3a;--loss: #8b3a2e}.portfolio-main{max-width:960px}.portfolio-meta{padding:0 0 4vh}.portfolio-meta p{max-width:42rem;font-family:var(--serif);font-size:1.25rem;line-height:1.45;color:var(--ink);letter-spacing:-.003em}.portfolio-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:1rem 0 4vh;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft)}.stat{padding:1.5rem;border-right:1px solid var(--rule-soft)}.stat:first-child{padding-left:0}.stat:last-child{border-right:none;padding-right:0}.stat-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1rem}.stat-value{font-family:var(--serif);font-size:2.4rem;line-height:1;letter-spacing:-.02em;color:var(--ink)}.stat-value.mono{font-family:var(--serif);font-size:2.4rem;letter-spacing:-.015em;text-transform:none}.stat-value.gain{color:var(--gain)}.stat-value.loss{color:var(--loss)}.stat-sub{font-family:var(--mono);font-size:.85rem;color:var(--ink-quiet);letter-spacing:.04em}.position-header{display:grid;grid-template-columns:4.5rem minmax(0,14rem) 1fr 6.5rem 1rem 6.5rem 5.75rem 7rem;gap:1rem;align-items:baseline;padding:0 0 .85rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted)}.position-header .th-num{text-align:right}.group-header{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:1.25rem;margin-bottom:.5rem}.group-label{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--ink);letter-spacing:-.01em}.group-count{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.position-list{list-style:none;padding:0;margin:0}.position-row{display:grid;grid-template-columns:4.5rem minmax(0,14rem) 1fr 6.5rem 1rem 6.5rem 5.75rem 7rem;gap:1rem;align-items:center;padding:1.1rem 0;border-top:1px solid var(--rule-soft)}.pos-prices{display:contents}.pos-ticker{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;color:var(--ink)}.pos-name{font-family:var(--serif);font-size:1.1rem;color:var(--ink);letter-spacing:-.003em}.pos-cost,.pos-current{font-family:var(--mono);font-size:.82rem;color:var(--ink-muted);text-align:right;font-variant-numeric:tabular-nums}.pos-arrow{font-family:var(--mono);color:var(--ink-quiet);text-align:center;font-size:.85rem}.pos-return{font-family:var(--mono);font-size:.88rem;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.02em}.pos-return.gain{color:var(--gain)}.pos-return.loss{color:var(--loss)}.pos-spark{display:block;width:100%;height:28px}.pos-spark-empty{display:block;height:1px;background:var(--rule-soft);align-self:center}.pos-spark .recharts-responsive-container{pointer-events:none}.portfolio-chart-section{padding:4vh 0 2vh}.portfolio-chart{margin:0 -.5rem}.chart-range{display:flex;justify-content:flex-end;gap:.25rem;padding:0 .5rem .75rem}.chart-range-btn{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);background:transparent;border:1px solid transparent;padding:.35rem .65rem;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}.chart-range-btn:hover{color:var(--ink)}.chart-range-btn.active{color:var(--ink);border-color:var(--rule)}.recharts-brush-texts text{font-family:var(--mono);font-size:9px;fill:var(--ink-muted);letter-spacing:.06em}.recharts-brush-traveller rect{fill:var(--bg);stroke:var(--ink-muted)}.portfolio-chart-empty{border:1px dashed var(--rule);padding:3rem 2rem;text-align:center}.portfolio-chart-empty p{font-family:var(--serif);font-size:1.05rem;color:var(--ink-quiet);max-width:32rem;margin:0 auto;line-height:1.5}.chart-tooltip{background:var(--bg);border:1px solid var(--rule);padding:.6rem .85rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--ink);box-shadow:0 2px 8px #18181b0a}.chart-tooltip-date{text-transform:uppercase;color:var(--ink-muted);margin-bottom:.35rem;font-size:.62rem;letter-spacing:.18em}.chart-tooltip-value{font-family:var(--serif);font-size:1.4rem;letter-spacing:-.01em;line-height:1}.chart-tooltip-value.gain{color:var(--gain)}.chart-tooltip-value.loss{color:var(--loss)}.chart-tooltip-meta{margin-top:.4rem;color:var(--ink-quiet);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}.portfolio-footnote{padding:6vh 0 12vh;border-top:1px solid var(--rule-soft);margin-top:4vh}.portfolio-footnote p{max-width:36rem;font-family:var(--mono);font-size:.72rem;line-height:1.7;letter-spacing:.04em;color:var(--ink-quiet)}@media (max-width: 640px){.nav{padding:1.1rem 1.25rem}.nav-links{gap:1.25rem}.main{padding:0 1.25rem}.hero{padding:8vh 0}.research-hero{padding:6vh 0 2vh}.note-row{grid-template-columns:1fr;gap:.4rem;padding:1.25rem 0}.note-status{text-align:left}.footer{padding:1.25rem;flex-direction:column;gap:.75rem}.portfolio-stats{grid-template-columns:repeat(4,1fr);padding:.6rem 0 2.5vh;gap:0}.stat{padding:.85rem .5rem;border-right:1px solid var(--rule-soft)}.stat:first-child{padding-left:0}.stat:last-child{padding-right:0;border-right:none}.stat-label{font-size:.54rem;letter-spacing:.14em;margin-bottom:.4rem}.stat-value{font-size:1.05rem;letter-spacing:-.01em}.stat-value.mono{font-size:.78rem;letter-spacing:.02em;padding-top:.18rem}.stat-sub{font-size:.6rem}.portfolio-meta p{font-size:1.05rem}.portfolio-chart-section{padding:3vh 0 1vh}.chart-range{gap:.15rem;padding:0 0 .5rem}.chart-range-btn{font-size:.6rem;letter-spacing:.12em;padding:.3rem .5rem}.position-row{grid-template-columns:3.75rem 1fr auto 3.5rem;grid-template-areas:"ticker name   return spark" "ticker prices prices spark";column-gap:.65rem;row-gap:.2rem;padding:1rem 0;align-items:center}.pos-ticker{grid-area:ticker;align-self:center}.pos-name{grid-area:name;font-size:1rem;align-self:end}.pos-return{grid-area:return;align-self:end;text-align:right}.pos-prices{grid-area:prices;display:flex;align-items:baseline;gap:.4rem;font-family:var(--mono);font-size:.72rem;color:var(--ink-quiet);align-self:start}.pos-cost,.pos-current,.pos-arrow{text-align:left;font-size:.72rem;color:var(--ink-quiet)}.pos-spark{grid-area:spark;align-self:center;height:32px;margin:0}.pos-spark-empty{grid-area:spark;align-self:center;height:1px}.pos-spacer,.position-header{display:none}.group-label{font-size:1.35rem}.group-header{padding-bottom:.85rem}.portfolio-footnote{padding:4vh 0 8vh}}@media (max-width: 380px){.stat-label{font-size:.5rem;letter-spacing:.1em}.stat-value{font-size:.95rem}.stat-value.mono{font-size:.7rem}}.r-progress{position:fixed;top:0;left:0;height:2px;background:var(--ink);z-index:50;transition:width .12s linear;pointer-events:none}.research-nav .nav-links{flex-wrap:wrap;gap:1.5rem;justify-content:flex-end}.research-nav-brand{display:inline-flex;align-items:center;gap:.55rem}.research-nav-brand .roman{font-family:var(--mono);font-style:normal;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);margin-left:.15rem;padding-left:.55rem;border-left:1px solid var(--rule);align-self:center}@media (max-width: 820px){.research-nav .nav-links{display:none}}.research-piece .section{scroll-margin-top:80px}.research-piece .geo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:2rem;max-width:44rem}.research-piece .geo-tag{padding:1rem 1.1rem;border:1px solid var(--rule-soft);background:color-mix(in srgb,var(--bg) 50%,white 50%)}.research-piece .geo-tag .country{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-quiet);margin-bottom:.4rem}.research-piece .geo-tag .age{font-family:var(--serif);font-size:1.6rem;line-height:1;color:var(--ink)}.research-piece .geo-tag .label{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-top:.35rem}.research-piece *{box-sizing:border-box}.research-piece #root{margin:0;padding:0}.research-piece a{color:inherit;text-decoration:none}.research-piece p{margin:0}.research-piece h1,.research-piece h2,.research-piece h3,.research-piece h4{margin:0;font-weight:400}.research-piece .r-hero-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 2.5rem}.research-piece .r-hero{padding:10vh 0 8vh;max-width:1080px}.research-piece .r-eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:2rem}.research-piece .r-eyebrow:before{content:"";width:28px;height:1px;background:var(--ink-muted)}.research-piece .r-hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,8vw,6.4rem);line-height:.98;letter-spacing:-.028em;color:var(--ink)}.research-piece .r-hero-title em{font-style:italic}.research-piece .r-hero-title .soft{color:var(--ink-quiet)}.research-piece .r-hero-sub{max-width:44rem;margin-top:2.5rem;font-size:1.08rem;line-height:1.62;color:var(--ink-muted)}.research-piece .r-hero-meta{display:flex;flex-wrap:wrap;gap:2.25rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--rule-soft);font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.research-piece .r-hero-meta span b{display:block;color:var(--ink);font-weight:500;margin-top:.3rem;letter-spacing:.06em}.research-piece .article{width:100%;max-width:1200px;margin:0 auto;padding:0 2.5rem}.research-piece .prose{max-width:44rem}.research-piece .section{padding:6rem 0 2rem;border-top:1px solid var(--rule-soft)}.research-piece .section:first-child{border-top:none;padding-top:2rem}.research-piece .section-eyebrow{font-family:var(--mono);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-quiet);margin-bottom:1.25rem}.research-piece .section-title{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.02;letter-spacing:-.02em;color:var(--ink);max-width:38rem}.research-piece .section-title em{font-style:italic;color:var(--ink-quiet)}.research-piece .section-lede{max-width:42rem;margin-top:1.5rem;font-size:1.05rem;line-height:1.62;color:var(--ink-muted)}.research-piece .prose p+p{margin-top:1.05rem}.research-piece .prose p{font-size:1.02rem;line-height:1.65;color:var(--ink)}.research-piece .prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .16s ease}.research-piece .prose a:hover{text-decoration-color:var(--ink)}.research-piece .prose em{font-style:italic}.research-piece .prose strong{font-weight:500}.research-piece .alloc{margin-top:3rem;border-top:1px solid var(--rule)}.research-piece .alloc-row{display:grid;grid-template-columns:2.2rem 4.5rem 1fr 8rem 4rem;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--rule-soft);font-size:.92rem;align-items:baseline}.research-piece .alloc-row.alloc-head{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-quiet);padding:.7rem 0;border-bottom:1px solid var(--rule)}.research-piece .alloc-row.alloc-head>*{font-weight:500}.research-piece .alloc-row.alloc-total{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-top:1px solid var(--rule);border-bottom:none;padding-top:.95rem}.research-piece .alloc-ticker{font-family:var(--mono);font-size:.82rem;font-weight:500;letter-spacing:.03em}.research-piece .alloc-sleeve{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.research-piece .alloc-pct{font-family:var(--mono);font-size:.82rem;font-variant-numeric:tabular-nums}.research-piece .alloc-idx{font-family:var(--mono);font-size:.72rem;color:var(--ink-quiet)}@media (max-width: 720px){.research-piece .alloc-row{grid-template-columns:1.8rem 3.5rem 1fr 3rem;font-size:.88rem}.research-piece .alloc-sleeve{display:none}}.research-piece .ticker{padding:4.5rem 0 2rem;border-top:1px solid var(--rule-soft);scroll-margin-top:80px}.research-piece .ticker:first-of-type{border-top:1px solid var(--rule)}.research-piece .ticker-head{max-width:44rem;margin-bottom:2rem}.research-piece .ticker-sym{font-family:var(--mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-quiet)}.research-piece .ticker-name{font-family:var(--serif);font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.04;letter-spacing:-.02em;color:var(--ink);margin-top:.6rem}.research-piece .ticker-name em{font-style:italic;color:var(--ink-muted);font-size:.6em;margin-left:.3rem;letter-spacing:0}.research-piece .ticker-tagline{margin-top:1rem;font-size:1.05rem;line-height:1.55;color:var(--ink-muted);max-width:40rem;font-style:italic;font-family:var(--serif)}.research-piece .ticker-meta{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--rule-soft);font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-quiet)}.research-piece .ticker-meta span b{display:block;margin-top:.28rem;color:var(--ink);font-weight:500;letter-spacing:.06em}.research-piece .subhead{font-family:var(--mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-quiet);margin:2.2rem 0 .8rem}.research-piece .prose .bear{margin-top:1.5rem;padding:0 0 0 1.4rem;border-left:2px solid var(--accent-rust)}.research-piece .prose .bear p{color:var(--ink-muted);font-size:.99rem}.research-piece .pill{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.5rem;padding:.42rem .75rem .42rem .62rem;border:1px solid var(--rule);border-radius:2px;font-family:var(--mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:transparent}.research-piece .pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-quiet)}.research-piece .pill.off:before{background:var(--accent-sage)}.research-piece .pill.approaching:before{background:var(--accent-amber)}.research-piece .pill.hit:before{background:var(--accent-rust)}.research-piece .pill.event:before{background:var(--accent-ink)}.research-piece .toc{position:fixed;top:110px;right:2.5rem;width:210px;z-index:5;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--ink-quiet);border-left:1px solid var(--rule-soft);padding-left:1rem;max-height:calc(100vh - 160px);overflow-y:auto}.research-piece .toc h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-quiet);margin-bottom:.8rem}.research-piece .toc ul{list-style:none;padding:0;margin:0 0 1rem}.research-piece .toc li{margin-bottom:.35rem}.research-piece .toc a{color:var(--ink-muted);transition:color .16s ease;display:inline-flex;gap:.4rem}.research-piece .toc a:hover{color:var(--ink)}.research-piece .toc .ticker-code{color:var(--ink);font-weight:500;min-width:3rem;display:inline-block}@media (max-width: 1280px){.research-piece .toc{display:none}}.research-piece .callout{margin:2.5rem 0;padding:1.5rem 1.75rem;background:color-mix(in srgb,var(--bg) 50%,white 50%);border:1px solid var(--rule-soft);border-radius:2px;max-width:44rem}.research-piece .callout h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-quiet);margin-bottom:.8rem}.research-piece .callout p{font-size:.98rem;line-height:1.58;color:var(--ink)}.research-piece .callout p+p{margin-top:.8rem}@media (max-width: 640px){.research-piece .r-hero-wrap,.research-piece .article{padding:0 1.25rem}.research-piece .r-hero{padding:7vh 0 5vh}.research-piece .section{padding:4rem 0 1rem}.research-piece .ticker{padding:3rem 0 1rem}}@media print{.research-piece .toc{display:none}.research-piece .ticker{page-break-inside:avoid;break-inside:avoid}}@media (max-width: 500px){.research-piece .ticker-meta{gap:.6rem;flex-direction:column;align-items:flex-start}.research-piece .ticker-meta span{display:flex;width:100%;justify-content:space-between;border-top:1px solid var(--rule-soft);padding-top:.6rem}.research-piece .ticker-meta span:first-child{border-top:none;padding-top:0}.research-piece .ticker-meta span b{margin-top:0}.research-piece .alloc-row{grid-template-columns:1.5rem 3rem 1fr 3rem;gap:.6rem;font-size:.82rem}.research-piece .r-hero-meta{gap:1rem}.research-piece .r-hero-meta span{flex:0 0 calc(50% - .5rem)}}
