
:root{--black:#111;--ink:#161616;--muted:#666;--subtle:#8a8a8a;--line:#dedede;--paper:#fff;--soft:#f5f5f5;--strong:#000;--max:1260px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration-thickness:1px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #555;outline-offset:4px}
img,svg{max-width:100%;height:auto}::selection{background:#111;color:#fff}
.wrap{max-width:var(--max);margin:auto;padding:0 42px}
.skip{position:absolute;left:12px;top:-100px;background:#000;color:#fff;z-index:100;padding:10px 18px}.skip:focus{top:12px}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}
.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-size:22px;font-weight:800;letter-spacing:-.08em;white-space:nowrap}.logo-dot{font-size:27px}
.nav-list{list-style:none;display:flex;align-items:center;gap:29px;margin:0;padding:0}
.nav-list a{font-size:12px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;transition:opacity .2s}
.nav-list a:hover{opacity:.55}.nav-list a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.nav-contact{border:1px solid #222;padding:11px 18px;display:inline-block}
.menu-toggle{display:none;appearance:none;border:1px solid #111;background:#fff;cursor:pointer;padding:9px 13px;font-size:12px;font-weight:700}
.tiny-label,.eyebrow,.sec-label{font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase}
.tiny-label{color:var(--muted)}.eyebrow{margin:0 0 25px}.muted{color:var(--muted)}.small{font-size:13px}.meta{font-size:12px;color:var(--muted);letter-spacing:.04em}
.hero{padding:110px 0 92px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:8%;align-items:end}
.hero-title{font-size:clamp(58px,7.8vw,122px);line-height:1.01;letter-spacing:-.085em;font-weight:600;margin:0 0 34px;max-width:980px}
.hero-title em{font-style:normal;font-family:Georgia,"Times New Roman",serif;letter-spacing:-.07em;font-weight:400}
.hero-lede{max-width:710px;font-size:21px;line-height:1.6;color:#454545}
.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:40px}
.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-height:47px;background:#111;color:#fff;border:1px solid #111;padding:13px 19px;font-size:12px;font-weight:700;letter-spacing:.04em}
.btn:hover{background:#fff;color:#111}.btn-outline{background:#fff;color:#111}.btn-outline:hover{background:#111;color:#fff}
.underline-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:6px}
.hero-aside{border-left:1px solid #222;padding:0 0 0 22px}.hero-aside p{font-size:13px;margin:0 0 17px;color:#555}.hero-aside ul{list-style:none;padding:0;margin:0}.hero-aside li{font-size:14px;border-top:1px solid #ddd;padding:11px 0}
.hero-base{display:flex;justify-content:space-between;gap:24px;padding-top:68px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#666}
.section{padding:110px 0;border-bottom:1px solid var(--line)}
.section-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:8%}.sec-label{margin:7px 0 0}.sec-number{color:#999;margin-right:15px}
.section-title{font-size:clamp(36px,4.8vw,68px);line-height:1.11;letter-spacing:-.068em;font-weight:600;max-width:850px;margin:0 0 31px}
.section-intro{font-size:18px;line-height:1.75;color:#505050;max-width:760px}
.section-intro strong{color:#111}.section-copy p{font-size:16px;line-height:1.85;color:#4c4c4c;max-width:740px}
.kicker-line{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:33px}.kicker-line .section-title{margin-bottom:0}
.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #111;padding-bottom:6px;white-space:nowrap}
.ventures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line)}
.venture{display:flex;flex-direction:column;min-height:360px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:#fff;transition:background .2s}
.venture:hover,.venture:focus-visible{background:#f4f4f4}.venture-top{display:flex;justify-content:space-between;gap:15px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#777}
.venture-body{margin-top:auto}.venture h3{font-size:clamp(26px,3vw,45px);font-weight:600;letter-spacing:-.065em;line-height:1.1;margin:16px 0}
.venture p{font-size:14px;max-width:445px;color:#555;margin-bottom:0}.venture-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:31px;font-size:11px;font-weight:700}
.venture-footer span:last-child{font-size:24px;line-height:1}.project-note{border-top:1px solid var(--line);padding:24px 0;margin-top:32px;color:#646464;font-size:14px;max-width:830px}
.simple-list{border-top:1px solid #ccc}.simple-list a,.simple-list .list-row{display:grid;grid-template-columns:170px 1fr 26px;align-items:start;gap:20px;padding:26px 0;border-bottom:1px solid #ddd;transition:background .2s}
.simple-list a:hover{background:#f5f5f5}.simple-list .row-label{font-size:11px;letter-spacing:.10em;font-weight:700;text-transform:uppercase;color:#777;margin:7px 0}
.simple-list strong{font-size:clamp(19px,2.5vw,28px);letter-spacing:-.045em;font-weight:600}
.simple-list p{font-size:14px;color:#666;line-height:1.65;margin:7px 0 0}.row-arrow{font-size:22px;text-align:right}
.essay-list a{grid-template-columns:165px 1fr 26px}
.timeline{border-top:1px solid #ccc}.timeline details{border-bottom:1px solid #ddd;padding:0}.timeline summary{cursor:pointer;display:grid;grid-template-columns:100px 1fr 24px;align-items:center;gap:18px;padding:21px 0;list-style:none}.timeline summary::-webkit-details-marker{display:none}
.timeline summary:after{content:"+";font-size:25px;line-height:1;text-align:right}.timeline details[open] summary:after{content:"−"}
.timeline summary span{font-size:11px;font-weight:700;letter-spacing:.1em;color:#666}.timeline summary strong{font-size:18px;letter-spacing:-.02em}
.timeline details p{margin:0 35px 23px 118px;max-width:630px;font-size:15px;color:#555}
.page-hero{padding:94px 0 76px;border-bottom:1px solid #ccc}.page-hero h1{font-size:clamp(56px,8vw,108px);letter-spacing:-.08em;line-height:1.02;font-weight:600;margin:25px 0}
.page-hero .subhead{font-size:clamp(17px,2.1vw,23px);line-height:1.7;color:#555;max-width:820px;margin:0}
.two-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:14%;align-items:start}.long-copy{max-width:770px}.long-copy h2,.long-copy h3{font-weight:600;letter-spacing:-.05em;line-height:1.17}
.long-copy h2{font-size:clamp(28px,3.5vw,47px);margin:58px 0 20px}.long-copy h3{font-size:25px;margin:38px 0 15px}
.long-copy p,.long-copy li{font-size:17px;line-height:1.85;color:#444}.long-copy ul{padding-left:20px}
.long-copy blockquote{font-size:clamp(23px,3vw,38px);font-family:Georgia,serif;font-style:italic;letter-spacing:-.035em;line-height:1.4;margin:38px 0;padding:25px 0;border-top:1px solid #ccc;border-bottom:1px solid #ccc}
.fact-panel{border-top:2px solid #111;padding-top:20px}.fact-item{padding:18px 0;border-bottom:1px solid #ddd}.fact-item dt{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.14em;color:#888;margin-bottom:8px}.fact-item dd{font-size:15px;margin:0;line-height:1.5}
.paper{border:1px solid #ccc;padding:28px;margin:35px 0}.paper .paper-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#777}.paper h3{font-size:26px;letter-spacing:-.04em;font-weight:600;margin:14px 0}.paper p{font-size:14px;line-height:1.7;color:#555}.tagline{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tagline span{border:1px solid #ccc;padding:7px 10px;font-size:11px;color:#555}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter{border:1px solid #aaa;background:#fff;color:#222;padding:10px 15px;font-size:12px;cursor:pointer}.filter[aria-pressed=true]{background:#111;color:#fff;border-color:#111}
.card-list{border-top:1px solid #ccc}.card-list article{display:grid;grid-template-columns:190px minmax(0,1fr) 55px;border-bottom:1px solid #ddd;padding:28px 0;gap:25px}.card-list h3{font-size:clamp(22px,2.6vw,32px);line-height:1.2;letter-spacing:-.045em;font-weight:600;margin:0 0 9px}
.card-list p{font-size:14px;color:#666;margin:0 0 14px}.card-list .label{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.12em}
.card-list a{font-size:12px;text-decoration:underline;text-underline-offset:4px;font-weight:700}.card-list .external{font-size:22px;text-align:right}
.article-head{max-width:930px;padding:95px 0 30px}.article-head h1{font-size:clamp(46px,7vw,89px);line-height:1.05;letter-spacing:-.073em;font-weight:600;margin:25px 0}
.article-meta{display:flex;gap:25px;flex-wrap:wrap;font-size:12px;color:#777;padding:20px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.article-body{max-width:730px;margin:auto;padding:50px 0 100px}.article-body p,.article-body li{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.9;color:#313131}
.article-body h2{font-size:35px;letter-spacing:-.05em;font-weight:600;line-height:1.2;margin:54px 0 20px}.article-body h3{font-size:24px;margin-top:34px}.article-body ul{padding-left:25px}
.article-body blockquote{font-family:Georgia,serif;font-size:29px;line-height:1.4;border-left:3px solid #111;padding:4px 0 4px 25px;margin:40px 0}
.article-body a{text-decoration:underline;text-underline-offset:4px}.article-note{font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;color:#777!important;border-top:1px solid #ddd;padding-top:20px;margin-top:55px}
.progress-track{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:100}.progress{height:100%;width:0;background:#111;transition:width .08s linear}
.contact-block{background:#111;color:#fff;padding:105px 0}.contact-block h2{font-size:clamp(44px,7vw,87px);letter-spacing:-.07em;line-height:1.05;font-weight:600;margin:0 0 25px}.contact-block p{max-width:630px;color:#ccc;font-size:18px}
.contact-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:37px}.contact-block .btn{background:#fff;color:#111;border-color:#fff}.contact-block .btn:hover{background:#111;color:#fff}
.contact-block .underline-link{color:#fff}.footer{border-top:1px solid #333;background:#0f0f0f;color:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:100px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.footer-inner a{text-decoration:underline;text-underline-offset:4px}
.breadcrumbs{font-size:12px;color:#888;padding-top:26px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.utility-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.notice{padding:20px 24px;background:#f4f4f4;border-left:2px solid #111;margin:28px 0;font-size:14px;color:#555;line-height:1.7}
.empty{text-align:left;padding:40px;border:1px dashed #aaa;background:#fafafa}.empty p{color:#666;font-size:14px}.now-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.now-box{border-top:2px solid #111;padding:24px 0}.now-box h2{font-size:27px;font-weight:600;letter-spacing:-.045em;margin:18px 0}.now-box p{font-size:15px;line-height:1.75;color:#666}
@media(max-width:1050px){.wrap{padding:0 28px}.hero-grid{grid-template-columns:1fr}.hero-aside{border-top:1px solid #ddd;border-left:0;padding:22px 0 0;max-width:650px}.hero-aside ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hero-aside li{font-size:12px}.section-grid{grid-template-columns:160px minmax(0,1fr);gap:6%}}
@media(max-width:760px){html{scroll-padding-top:76px}.wrap{padding:0 20px}.header-inner{min-height:72px}.logo{font-size:19px}.menu-toggle{display:block}.nav{position:absolute;top:calc(100% - 1px);left:0;right:0;display:none;border-bottom:1px solid #aaa;background:#fff;padding:10px 20px 22px;max-height:calc(100vh - 72px);overflow:auto}.nav.is-open{display:block}.nav-list{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-list li{border-top:1px solid #e2e2e2}.nav-list a{display:block;padding:15px 0;font-size:13px}.nav-contact{border:none;padding:15px 0}.hero{padding:82px 0 46px}.hero-title{font-size:clamp(57px,12vw,80px)}.hero-lede{font-size:17px}.hero-actions{align-items:stretch;gap:20px}.hero-base{padding-top:50px;font-size:9px}.hero-aside ul{grid-template-columns:1fr;gap:0}.section{padding:75px 0}.section-grid{display:block}.sec-label{margin-bottom:30px}.section-title{font-size:clamp(39px,9vw,55px)}.section-intro{font-size:16px}.kicker-line{align-items:start;display:block}.kicker-line .text-link{display:inline-block;margin-top:22px}.ventures{grid-template-columns:1fr}.venture{min-height:325px;padding:23px}.venture h3{font-size:36px}.simple-list a,.simple-list .list-row,.essay-list a{grid-template-columns:1fr 26px;gap:8px}.simple-list .row-label{grid-column:1 / -1;margin:0}.simple-list a>div:nth-child(2),.simple-list .list-row>div:nth-child(2){grid-column:1;grid-row:2}.simple-list .row-arrow{grid-column:2;grid-row:2}.page-hero{padding:72px 0 55px}.page-hero h1{font-size:clamp(54px,12vw,80px)}.page-hero .subhead{font-size:17px}.two-panel{grid-template-columns:1fr;gap:45px}.card-list article{grid-template-columns:1fr 25px;gap:8px}.card-list .label{grid-column:1/-1;margin-bottom:5px}.card-list article>div:nth-child(2){grid-column:1;grid-row:2}.card-list .external{grid-column:2;grid-row:2}.article-head{padding:60px 0 22px}.article-head h1{font-size:clamp(43px,10vw,65px)}.article-body{padding:30px 0 70px}.article-body p,.article-body li{font-size:19px}.article-body h2{font-size:30px}.now-grid{grid-template-columns:1fr}.contact-block{padding:80px 0}.footer-inner{padding:25px 0;flex-wrap:wrap;min-height:80px}.footer-inner span:nth-child(2){order:3;width:100%}.timeline summary{grid-template-columns:60px 1fr 24px;gap:10px}.timeline details p{margin-left:70px}.nav:not(.is-open){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.venture,.btn,.nav-list a,.progress{transition:none}}
