@charset "UTF-8";
@font-face { font-family:Manrope; src:url('fonts/Manrope.ttf') format('truetype'); font-weight:200 800; font-style:normal; font-display:swap; }
:root { --bg:#151716; --surface:#202321; --ink:#eeefea; --muted:#a5aba3; --lime:#d5ef99; --line:#363c36; --paper:#f1f2ec; --paper-ink:#20271f; --paper-muted:#586250; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--bg); color:var(--ink); font:1rem/1.65 Manrope,Arial,sans-serif; overflow-wrap:break-word; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
.arrow-icon { width:18px; height:18px; display:block; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid currentColor; outline-offset:7px; }
::selection { background:var(--lime); color:var(--bg); }
.shell { width:min(1344px,calc(100% - 112px)); margin-inline:auto; }
.skip { position:absolute; top:-100px; left:20px; z-index:10; background:var(--lime); color:var(--bg); padding:12px 20px; }
.skip:focus { top:12px; }
.header { display:flex; justify-content:space-between; gap:32px; align-items:center; padding-block:30px; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:12px; font-size:1.8rem; font-weight:700; line-height:1; letter-spacing:-.065em; }
.brand-mark { width:29px; height:29px; flex-shrink:0; fill:none; stroke:var(--lime); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.brand-suffix { font-size:.8rem; font-weight:400; color:var(--muted); letter-spacing:0; margin-left:7px; }
nav { display:flex; align-items:center; gap:37px; font-size:.875rem; }
nav a { transition:color .2s; }
nav a:last-child { display:flex; gap:25px; align-items:center; }
nav a:hover { color:var(--lime); }
.mobile-nav { display:none; }
.hero { padding-top:56px; }
.hero-layout { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:80px; padding-bottom:54px; }
.hero-lead,.letter,.principle-panel>div { min-width:0; }
.eyebrow { color:var(--muted); font-size:.6875rem; letter-spacing:.08em; margin:0; }
h1 { font-size:clamp(4rem,7.6vw,8rem); line-height:1.045; font-weight:500; letter-spacing:-.065em; margin:28px 0 27px; }
h1>span { display:block; animation:arrive .7s both; }
h1>span:nth-child(2) { animation-delay:.1s; }
.hero-accent { color:var(--lime); }
.hero-copy { color:var(--muted); font-size:.9375rem; max-width:390px; margin:0 0 30px; }
.round-link { display:inline-flex; align-items:center; gap:17px; font-size:.875rem; }
.round-icon { width:48px; height:48px; flex-shrink:0; border:1px solid #68745e; border-radius:50%; display:grid; place-items:center; color:var(--lime); transition:background .25s,color .25s,transform .25s; }
.round-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.round-link:hover .round-icon { background:var(--lime); color:var(--bg); transform:translateY(-3px); }
.letter { background:var(--paper); color:var(--paper-ink); padding:29px 34px 18px; margin:16px 16px 20px 0; box-shadow:10px 12px 0 #252c23; transform:rotate(3deg); }
.letter-top { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:.625rem; letter-spacing:.08em; padding-bottom:21px; }
.letter-top svg { width:32px; height:32px; flex-shrink:0; fill:none; stroke:var(--paper-ink); stroke-width:1.3; }
.letter-routing { margin:0; border-block:1px solid #d0d5c9; padding-block:13px; font-size:.75rem; }
.letter-routing>div { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:18px; padding-block:3px; }
.letter-routing dt { color:var(--paper-muted); }
.letter-routing dd { margin:0; }
.letter h2 { font-size:clamp(2.2rem,3.6vw,3.5rem); line-height:1.08; letter-spacing:-.055em; font-weight:500; margin:27px 0 19px; }
.letter p { font-size:.875rem; line-height:1.7; margin:0 0 24px; color:var(--paper-muted); }
.letter .letter-signature { font-size:.75rem; margin-bottom:23px; }
.letter-signature strong { font-weight:500; color:var(--paper-ink); }
.letter-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #d0d5c9; padding-top:13px; font-size:.5625rem; letter-spacing:.03em; color:var(--paper-muted); }
.letter-bottom>span:last-child { font-size:1.2rem; }
.hero-end { display:flex; justify-content:space-between; gap:25px; border-top:1px solid var(--line); padding-block:22px 25px; color:var(--muted); font-size:.75rem; }
.light-section { background:var(--paper); color:var(--paper-ink); }
.perspective-grid>*,.principles-grid>*,.information-grid>*,.outlook-inner>* { min-width:0; }
h2 { font-size:clamp(2.3rem,4.6vw,4.4rem); line-height:1.1; font-weight:500; letter-spacing:-.055em; margin:0; }
.section-reference { display:flex; gap:20px; align-items:baseline; font-size:.8125rem; }
.section-reference>span:first-child { color:var(--muted); font-size:.75rem; }
.light-section .section-reference>span:first-child { color:var(--paper-muted); }
.perspective { padding-block:76px; }
.perspective-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.perspective h2 { margin-top:28px; }
.perspective-content { padding-top:5px; }
.perspective-content p { color:var(--paper-muted); font-size:.9375rem; margin:0 0 19px; max-width:480px; }
.perspective-content .perspective-intro { font-size:1.5rem; line-height:1.35; color:var(--paper-ink); margin-bottom:23px; letter-spacing:-.03em; }
.perspective-content .perspective-note { border-top:1px solid #d0d5c9; margin:25px 0 0; padding-top:17px; font-size:.75rem; }
.principles { padding-block:73px; }
.principles-heading { display:flex; justify-content:space-between; align-items:baseline; gap:35px; margin-bottom:43px; }
.principles-heading h2 { font-size:clamp(1.7rem,2.8vw,2.6rem); letter-spacing:-.045em; }
.heading-aside { display:block; color:var(--muted); font-size:.9375rem; letter-spacing:0; margin-top:11px; }
.principles-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:start; }
.principle-selector { display:grid; grid-template-columns:minmax(0,1fr); }
.principle-choice { display:flex; width:100%; min-width:0; align-items:center; gap:20px; text-align:left; padding:21px 0; border:0; border-top:1px solid var(--line); background:none; color:#979f95; cursor:pointer; font-size:1.8rem; font-weight:500; letter-spacing:-.045em; transition:color .2s; }
.principle-choice:last-child { border-bottom:1px solid var(--line); }
.principle-choice>span { min-width:0; }
.choice-index { font-size:.6875rem; letter-spacing:0; }
.choice-indicator { margin-left:auto; font-size:1.2rem; opacity:0; }
.principle-choice.selected { color:var(--lime); }
.principle-choice.selected .choice-indicator { opacity:1; }
.principle-choice:hover { color:var(--ink); }
.principle-choice.selected:hover { color:var(--lime); }
.principle-panel { border-top:1px solid var(--line); padding-top:22px; min-height:300px; }
.principle-panel[hidden] { display:none; }
.principle-number { display:block; color:var(--lime); font-size:.6875rem; letter-spacing:.05em; margin-bottom:23px; }
.principle-panel h3 { font-size:clamp(2rem,3.1vw,3rem); line-height:1.15; letter-spacing:-.05em; font-weight:500; margin:0 0 20px; }
.principle-panel p { max-width:470px; font-size:.9375rem; color:var(--muted); margin:0 0 23px; }
.principle-caption { font-size:.75rem; color:var(--lime); }
.principle-panel:not([hidden])>div { animation:arrive .35s both; }
.principle-panel:not([hidden])+.principle-panel:not([hidden]) { margin-top:25px; }
.no-script-note { color:var(--muted); font-size:.875rem; }
.outlook { background:var(--lime); color:var(--paper-ink); }
.outlook-inner { display:grid; grid-template-columns:1.5fr 1fr; gap:100px; align-items:center; padding-block:49px; }
.outlook-label { font-size:.6875rem; letter-spacing:.05em; }
.outlook-inner>div>p { font-size:clamp(2.2rem,4.4vw,4.2rem); font-weight:500; line-height:1.1; letter-spacing:-.055em; margin:21px 0 0; }
.outlook-inner>div>p>span { color:#587436; }
.outlook-bottom { border-left:1px solid #a9c676; padding-left:35px; }
.outlook-inner .outlook-bottom p { font-size:.9375rem; font-weight:400; line-height:1.65; letter-spacing:0; margin:0 0 24px; max-width:310px; }
.outlook-bottom>a { display:inline-flex; align-items:center; gap:28px; font-size:.875rem; }
.outlook-bottom>a:hover { text-decoration:underline; text-underline-offset:6px; }
.outlook-bottom>a>span { font-size:1.25rem; }
.information { padding-block:75px 80px; }
.information-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:100px; }
.information h2 { font-size:clamp(2.3rem,4vw,3.6rem); margin-top:27px; }
.faq-list { border-top:1px solid #d0d5c9; }
details { border-bottom:1px solid #d0d5c9; }
summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:1rem; padding-block:23px; }
summary::-webkit-details-marker { display:none; }
summary>span { font-size:1.5rem; font-weight:400; flex-shrink:0; transition:transform .2s; }
summary:hover { color:#425b24; }
details[open] summary { padding-bottom:12px; }
details[open] summary>span { transform:rotate(45deg); }
details p { font-size:.9375rem; color:var(--paper-muted); margin:0 24px 25px 0; }
.footer { padding-top:34px; }
.footer-top { display:flex; justify-content:space-between; align-items:flex-start; gap:35px; }
.footer-top p { font-size:.8125rem; margin:0; color:var(--muted); }
.footer-top a { font-size:.8125rem; display:flex; gap:27px; align-items:center; }
.footer-top a:hover { color:var(--lime); }
.footer-wordmark { display:block; font-size:clamp(4rem,19.3vw,18.5rem); font-weight:600; line-height:1.15; letter-spacing:-.075em; margin-top:18px; }
.footer-wordmark>span { color:var(--lime); }
.footer-bottom { display:flex; justify-content:space-between; gap:25px; border-top:1px solid var(--line); padding-block:24px 28px; color:var(--muted); font-size:.75rem; }
.footer-bottom a:hover { color:var(--ink); }
@keyframes arrive { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1100px) {
 .shell { width:calc(100% - 64px); }
 .hero-layout { gap:40px; }
 .letter { padding-inline:25px; }
 .perspective-grid,.principles-grid,.information-grid,.outlook-inner { gap:60px; }
}
@media(max-width:900px) {
 .hero-layout { grid-template-columns:1fr; gap:39px; }
 .hero-lead { max-width:650px; }
 h1 { font-size:clamp(4rem,10vw,6rem); }
 .letter { transform:none; margin:0 12px 12px 0; max-width:600px; }
 .letter h2 { font-size:2.8rem; }
 .perspective-grid,.principles-grid,.outlook-inner { gap:40px; }
 .principles-heading { display:block; }
 .principles-heading h2 { margin-top:23px; }
 .principle-choice { font-size:1.5rem; gap:13px; }
 .principle-panel h3 { font-size:2rem; }
}
@media(max-width:760px) {
 .header { padding-block:23px; }
 .header>nav { display:none; }
 .mobile-nav { display:block; position:relative; border:0; }
 .mobile-nav>summary,.mobile-nav[open]>summary { padding:0; min-height:44px; font-size:.875rem; gap:14px; white-space:nowrap; }
 .mobile-nav>summary>span { color:var(--lime); }
 .mobile-nav>summary:hover { color:var(--lime); }
 .mobile-nav nav { position:absolute; z-index:5; right:0; top:calc(100% + 12px); width:min(300px,calc(100vw - 40px)); display:flex; flex-direction:column; align-items:stretch; padding:8px 22px; gap:0; border:1px solid var(--line); background:var(--surface); box-shadow:0 14px 30px #0003; }
 .mobile-nav nav a,.mobile-nav nav a:last-child { display:block; padding-block:14px; border-bottom:1px solid var(--line); font-size:1rem; }
 .mobile-nav nav a:last-child { border-bottom:0; }
 .hero { padding-top:35px; }
 .hero-layout { padding-bottom:35px; }
 .perspective { padding-block:53px; }
 .perspective-grid { grid-template-columns:1fr; gap:29px; }
 .perspective-content { padding:0; }
 .principles { padding-block:53px; }
 .principles-heading { margin-bottom:30px; }
 .principles-grid { grid-template-columns:1fr; gap:27px; }
 .principle-selector { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
 .principle-choice { flex-wrap:wrap; align-content:flex-start; min-height:80px; padding-block:14px; gap:7px; font-size:1rem; border-bottom:1px solid var(--line); line-height:1.3; }
 .choice-index { width:100%; font-size:.625rem; }
 .choice-indicator { display:none; }
 .principle-choice.selected { border-bottom-color:var(--lime); }
 .principle-panel { border-top:0; padding:0; min-height:270px; }
 .outlook-inner { grid-template-columns:1fr; gap:28px; padding-block:38px; }
 .outlook-bottom { padding:23px 0 0; border-left:0; border-top:1px solid #a9c676; }
 .outlook-inner .outlook-bottom p { max-width:450px; }
 .information { padding-block:53px; }
 .information-grid { grid-template-columns:1fr; gap:30px; }
}
@media(max-width:520px) {
 .shell { width:calc(100% - 48px); }
 .header { flex-wrap:wrap; gap:18px; padding-block:15px; }
 .brand { font-size:1.6rem; }
 .brand-mark { width:25px; height:25px; }
 .eyebrow { font-size:.625rem; letter-spacing:.06em; }
 h1 { font-size:clamp(3.35rem,13.4vw,4.75rem); letter-spacing:-.055em; margin:22px 0 21px; }
 .hero-copy { margin-bottom:25px; }
 .hero-copy br { display:none; }
 .round-link { gap:13px; }
 .round-icon { width:44px; height:44px; }
 .letter { padding:23px 23px 15px; box-shadow:7px 8px 0 #252c23; margin-right:8px; }
 .letter-top { gap:15px; padding-bottom:15px; font-size:.5625rem; }
 .letter-top svg { width:27px; height:27px; }
 .letter-routing { font-size:.6875rem; }
 .letter-routing>div { gap:12px; }
 .letter h2 { font-size:2.35rem; margin-block:24px 17px; }
 .letter-bottom { font-size:.5rem; }
 .hero-end { flex-wrap:wrap; gap:12px; font-size:.625rem; padding-block:19px; }
 .hero-end>span:last-child { margin-left:auto; text-align:right; }
 h2 { font-size:clamp(2rem,8.8vw,2.6rem); }
 .perspective { padding-block:44px; }
 .perspective h2 { margin-top:22px; }
 .perspective-content .perspective-intro { font-size:1.3rem; margin-bottom:19px; }
 .principles { padding-block:44px; }
 .principles-heading h2 { font-size:1.75rem; }
 .heading-aside { font-size:.875rem; }
 .principle-selector { gap:12px; }
 .principle-choice { font-size:.875rem; min-height:83px; }
 .principle-number { margin-bottom:17px; }
 .principle-panel h3 { font-size:1.9rem; letter-spacing:-.04em; }
 .outlook-inner>div>p { font-size:clamp(2rem,8.4vw,2.8rem); }
 .information { padding-block:44px; }
 .information h2 { font-size:2rem; }
 summary { font-size:.9375rem; padding-block:21px; }
 .footer { padding-top:29px; }
 .footer-top { flex-wrap:wrap; gap:22px; }
 .footer-wordmark { font-size:21vw; margin-block:24px 12px; }
 .footer-bottom { flex-wrap:wrap; gap:12px 22px; padding-block:21px 24px; }
 .footer-bottom>span:nth-child(2) { display:none; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
