:root{--color-bg: #F2F0E9;--color-bg-subtle: #EBE8E0;--color-text-primary: #0A0A0B;--color-text-secondary: #5A5853;--color-text-muted: #8C8A83;--color-border: #DCD8CF;--color-border-dark: #0A0A0B;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--max-width: 1120px;--header-height: 68px;--transition: .18s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button{background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}html{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.65;overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:clamp(1.25rem,5vw,3rem);padding-right:clamp(1.25rem,5vw,3rem)}h1,h2,h3,h4{color:var(--color-text-primary);font-weight:450;letter-spacing:-.03em;line-height:1.15}h1{font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:-.035em;line-height:1.08}h2{font-size:clamp(1.85rem,4vw,2.75rem);line-height:1.15}h3{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500;letter-spacing:-.02em}p{color:var(--color-text-secondary);font-size:1.0625rem;line-height:1.7}p.lead{font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.55;color:var(--color-text-primary)}.label-eyebrow{display:inline-block;font-size:.75rem;font-weight:550;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:1.5rem}.editorial-section{padding-top:clamp(4.5rem,9vw,8rem);padding-bottom:clamp(4.5rem,9vw,8rem)}.editorial-section-hero{padding-top:clamp(6.5rem,14vw,11rem);padding-bottom:clamp(4.5rem,10vw,8.5rem)}.hero-sky-bg{position:relative;margin-top:calc(-1 * var(--header-height));padding-top:calc(var(--header-height) + clamp(4.5rem,10vw,8.5rem));background-image:url(/hero-bg.png);background-size:cover;background-position:center right;background-repeat:no-repeat;overflow:hidden}.hero-sky-bg:after{content:"";position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(to bottom,transparent,var(--color-bg));pointer-events:none}.hero-sky-bg .container{position:relative;z-index:1}.hero-sky-bg .label-eyebrow{color:#0a0a0bb8}.section-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 820px){.section-grid{grid-template-columns:240px 1fr;gap:4rem}}.section-number{font-size:.8125rem;font-weight:550;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding-top:.35rem}.section-content{display:flex;flex-direction:column;gap:2rem}.divider{width:100%;height:1px;background-color:var(--color-border);border:none}a{color:inherit;text-decoration:none;transition:opacity var(--transition),color var(--transition)}.text-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.9375rem;font-weight:500;color:var(--color-text-primary);background:transparent;border:none;border-bottom:1px solid var(--color-border-dark);padding:0 0 2px;margin:0;text-decoration:none;font-family:inherit;line-height:inherit;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:opacity var(--transition)}.text-link:hover{opacity:.65}.external-arrow{display:inline-block;transition:transform var(--transition)}.text-link:hover .external-arrow{transform:translate(2px,-2px)}.site-header{position:sticky;top:0;z-index:100;background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-bottom:none;height:var(--header-height);display:flex;align-items:center;transition:background-color .22s ease,backdrop-filter .22s ease,-webkit-backdrop-filter .22s ease}.site-header.header-scrolled{background-color:#f2f0e973;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header-container{display:flex;align-items:center;justify-content:space-between;width:100%}.site-wordmark{font-size:1.05rem;font-weight:550;letter-spacing:-.02em;color:var(--color-text-primary);display:inline-flex;align-items:center;gap:.65rem}.site-wordmark:hover{opacity:.8}.nav-menu{display:none;align-items:center;gap:2rem;list-style:none}@media (min-width: 768px){.nav-menu{display:flex}}.nav-item-link{font-size:.875rem;font-weight:450;color:var(--color-text-secondary);transition:color var(--transition);position:relative;padding:.25rem 0}.nav-item-link:hover,.nav-item-link.active{color:var(--color-text-primary)}.mobile-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-border);border-radius:2px;padding:.4rem;color:var(--color-text-primary);cursor:pointer}@media (min-width: 768px){.mobile-toggle{display:none}}.mobile-drawer{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:var(--color-bg);padding:2.5rem clamp(1.25rem,5vw,3rem);z-index:99;display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid var(--color-border)}.mobile-drawer-list{list-style:none;display:flex;flex-direction:column;gap:1.75rem}.mobile-drawer-link{font-size:1.5rem;font-weight:450;color:var(--color-text-primary)}.portfolio-list{list-style:none;display:flex;flex-direction:column}.portfolio-item{border-top:1px solid var(--color-border);padding:2rem 0;display:grid;grid-template-columns:1fr;gap:1rem;transition:background-color var(--transition)}@media (min-width: 680px){.portfolio-item{grid-template-columns:60px 180px 1fr auto;align-items:baseline;gap:2rem}}.portfolio-item:last-child{border-bottom:1px solid var(--color-border)}.portfolio-item-num{font-size:.8125rem;font-weight:550;color:var(--color-text-muted)}.portfolio-item-name{font-size:1.25rem;font-weight:500;color:var(--color-text-primary)}.portfolio-item-desc{font-size:1rem;color:var(--color-text-secondary);line-height:1.6}:root{--timeline-gap: clamp(1.5rem, 3.5vw, 2.75rem)}.research-timeline-wrapper{margin:2.25rem 0 0}.research-timeline-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}@media (min-width: 768px){.research-timeline-grid{grid-template-columns:repeat(3,1fr);gap:var(--timeline-gap)}}.timeline-step{display:flex;flex-direction:column}.timeline-track{display:flex;align-items:center;height:20px;margin-bottom:1.75rem;position:relative}.timeline-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;z-index:2}.timeline-dot.dot-filled{background-color:var(--color-text-primary)}.timeline-dot.dot-hollow{background-color:var(--color-bg);border:1.5px solid var(--color-text-primary)}.timeline-line{flex:1;height:1px;background-color:var(--color-border)}@media (min-width: 768px){.timeline-step:not(:last-child) .timeline-line{margin-right:calc(-1 * var(--timeline-gap));z-index:1}}.timeline-arrow{flex-shrink:0;color:var(--color-border);display:flex;align-items:center;margin-left:-2px}.timeline-num{font-size:.75rem;font-weight:550;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.6rem}.timeline-title{font-size:clamp(1.2rem,2vw,1.4rem);font-weight:500;letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:.75rem}.timeline-desc{font-size:.9375rem;line-height:1.65;color:var(--color-text-secondary)}.research-editorial-quote{font-size:clamp(1.35rem,2.2vw,1.85rem);color:#7d7a73;font-weight:400;letter-spacing:-.025em;line-height:1.35;max-width:520px;margin-top:2.25rem;margin-bottom:1.5rem}.research-more-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-primary);border-bottom:1px solid var(--color-text-primary);padding-bottom:2px;transition:opacity var(--transition)}.research-more-link:hover{opacity:.6}.writing-list{list-style:none;display:flex;flex-direction:column}.writing-item{border-top:1px solid var(--color-border);padding:1.75rem 0;display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 680px){.writing-item{grid-template-columns:140px 1fr auto;align-items:baseline;gap:2rem}}.writing-item:last-child{border-bottom:1px solid var(--color-border)}.writing-date{font-size:.8125rem;color:var(--color-text-muted)}.writing-title{font-size:1.125rem;font-weight:500;color:var(--color-text-primary)}.site-footer{border-top:1px solid var(--color-border);padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem);margin-top:auto}.footer-inner{display:flex;flex-direction:column;gap:3rem}.footer-nav{display:flex;flex-wrap:wrap;gap:1.75rem;list-style:none}.footer-nav a{font-size:.875rem;color:var(--color-text-secondary)}.footer-nav a:hover{color:var(--color-text-primary)}.footer-bottom{display:flex;flex-direction:column;gap:1rem;padding-top:2rem;border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-muted)}@media (min-width: 640px){.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}}:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:3px}@keyframes editorialFadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.animate-hero-eyebrow{animation:editorialFadeUp .8s cubic-bezier(.16,1,.3,1) forwards}.animate-hero-title{opacity:0;animation:editorialFadeUp .9s cubic-bezier(.16,1,.3,1) .12s forwards}.animate-hero-desc{opacity:0;animation:editorialFadeUp .95s cubic-bezier(.16,1,.3,1) .24s forwards}.animate-hero-cta{opacity:0;animation:editorialFadeUp 1s cubic-bezier(.16,1,.3,1) .36s forwards}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.portfolio-item,.research-stage-row{transition:background-color .22s ease,transform .22s ease}.portfolio-item:hover,.research-stage-row:hover{background-color:#0a0a0b05}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal-on-scroll{opacity:1!important;transform:none!important}}
