@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');
:root{color-scheme:dark;--bg:#06121b;--bg2:#091926;--surface:#0b1b27;--surface2:#112331;--surface3:#152937;--paper:#f6f3ee;--muted:#aebcca;--quiet:#8093a5;--line:rgba(175,201,220,.19);--line-strong:rgba(189,216,238,.28);--violet:#ac86ff;--violetlight:#c3aaff;--mint:#9ce9ce;--coral:#ff856e;--yellow:#f3dba2;--max:1260px;--serif:'Instrument Serif','Times New Roman',serif;--sans:'DM Sans',system-ui,-apple-system,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.56;-webkit-font-smoothing:antialiased;min-height:100vh}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 62% 48% at 81% -2%,rgba(41,68,98,.28),transparent 74%),radial-gradient(ellipse 52% 38% at -12% 38%,rgba(19,47,67,.17),transparent 70%)}
::selection{background:var(--violet);color:#09131c}
button,input,select{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
a,button,input{ -webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--mint);outline-offset:4px}
img{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:400}
p{color:var(--muted)}
.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}
.narrow{max-width:790px}
.skip-link{position:absolute;top:-80px;left:15px;background:var(--mint);color:var(--bg);padding:9px 16px;z-index:100;border-radius:2px}.skip-link:focus{top:10px}
.site-header{position:relative;z-index:30;border-bottom:1px solid transparent;transition:background .25s,border-color .25s;}
.site-header.is-scrolled{background:rgba(6,18,27,.92);border-color:var(--line);backdrop-filter:blur(20px)}
.site-header:not(.is-scrolled){background:linear-gradient(180deg,rgba(7,20,32,.65),transparent)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;height:94px}
.logo{font-family:var(--serif);font-size:35px;white-space:nowrap;letter-spacing:-.6px;line-height:1;display:inline-flex;align-items:flex-start;gap:4px}.logo-star{font-family:var(--sans);font-weight:700;font-size:26px;color:var(--violet);line-height:.92;transition:transform .35s}.logo:hover .logo-star{transform:rotate(45deg)}
.desktop-nav{display:flex;align-items:center;gap:36px;margin-left:auto}.desktop-nav a{font-size:13px;font-weight:550;position:relative;padding:12px 1px;color:#e0e5ea;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--violetlight)}.desktop-nav a:after{content:"";position:absolute;bottom:5px;left:0;right:100%;height:1px;background:var(--violet);transition:right .24s}.desktop-nav a:hover:after,.desktop-nav a.is-active:after{right:0}
.header-tools{display:flex;align-items:center;gap:10px;margin-left:11px}.icon-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid transparent;color:var(--paper);background:transparent;border-radius:50%;transition:border-color .2s,background .2s}.icon-button:hover{border-color:var(--line-strong);background:rgba(161,174,189,.07)}.icon-button svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}
.menu-toggle{display:none}
.mobile-menu{display:none}
.eyebrow{display:inline-flex;align-items:center;gap:14px;color:#b3c2d0;text-transform:uppercase;letter-spacing:.22em;font-family:var(--mono);font-size:10px;font-weight:500}.eyebrow:after{content:"";display:block;height:1px;width:56px;background:var(--line-strong)}.eyebrow.no-line:after{display:none}
.hero{position:relative;isolation:isolate;padding-top:52px}.hero-main{min-height:493px;position:relative;display:flex;align-items:flex-start}.hero-copy{position:relative;z-index:2;width:60%;padding-top:5px}.hero h1{font-family:var(--serif);font-size:clamp(69px,7.25vw,117px);line-height:.88;letter-spacing:-.026em;margin:25px 0 22px;max-width:890px;text-wrap:balance}.hero h1 span{display:block;white-space:nowrap}.hero h1 em{color:var(--violet);font-weight:400;white-space:nowrap}.hero-intro{color:#d0d9e0;max-width:475px;font-size:16.5px;line-height:1.57;margin-bottom:24px}.hero-cta{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.button{border-radius:999px;border:1px solid var(--violet);display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:47px;padding:11px 23px;font-weight:650;font-size:13px;background:var(--violet);color:#101327;transition:transform .25s,box-shadow .25s,background .25s;white-space:nowrap}.button:hover{background:#c2a8ff;transform:translateY(-2px);box-shadow:0 10px 28px rgba(172,134,255,.18)}.button svg,.underlink svg,.text-link svg{height:16px;width:16px;stroke:currentColor;stroke-width:1.7;fill:none}.button.outline{background:transparent;color:var(--paper);border-color:var(--line-strong)}.button.outline:hover{border-color:var(--violet);color:var(--violetlight);box-shadow:none}
.underlink{display:inline-flex;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid var(--violet);font-size:13px;font-weight:550;color:#f1eef8;transition:gap .2s,color .2s}.underlink:hover{gap:17px;color:var(--violetlight)}
.hero-art{position:absolute;width:56%;right:-15px;top:-45px;height:520px;pointer-events:none;z-index:1;display:grid;place-items:center;filter:saturate(1.05)}.hero-art img{height:100%;width:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.5) 5%,black 17%,black 91%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.5) 5%,black 17%,black 91%,transparent 100%)}.hero-orbit{position:absolute;right:-10%;top:4%;width:45%;height:45%;border:1px solid rgba(169,135,255,.14);border-radius:50%;pointer-events:none}.hero-orbit:after{content:"";width:8px;height:8px;background:var(--mint);border-radius:50%;position:absolute;top:21%;right:16%}.hero-side-note{position:absolute;right:10px;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--quiet);writing-mode:vertical-rl;text-transform:uppercase}
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;position:relative;z-index:3;margin-top:-5px;margin-bottom:65px}.quick-card{min-height:169px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(137deg,rgba(18,35,49,.86),rgba(12,27,39,.82));padding:24px 21px;position:relative;overflow:hidden;display:grid;grid-template-columns:57px 1fr;gap:13px;transition:transform .25s,border-color .25s,background .25s}.quick-card:hover{transform:translateY(-5px);border-color:rgba(169,135,255,.52);background:linear-gradient(137deg,rgba(22,44,58,.92),rgba(13,28,42,.96))}.quick-icon{width:51px;height:51px}.quick-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.violet{color:var(--violet)}.mint{color:var(--mint)}.coral{color:var(--coral)}.white{color:var(--paper)}.quick-card h2{font-size:15px;font-weight:650;margin:2px 0 8px}.quick-card p{font-size:12px;line-height:1.55;max-width:175px;margin:0;color:#b7c5d2}.card-arrow{width:31px;height:31px;border:1px solid rgba(219,230,238,.27);border-radius:50%;position:absolute;right:14px;bottom:14px;display:grid;place-items:center;font-size:19px;font-weight:300;transition:background .2s}.quick-card:hover .card-arrow{background:var(--violet);color:var(--bg);border-color:var(--violet)}
.section{padding-block:0 63px}.section+.section{padding-top:0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;border-top:1px solid var(--line-strong);padding-top:22px;margin-bottom:21px}.section-title{font-family:var(--serif);font-size:clamp(45px,5.1vw,69px);line-height:1.02;letter-spacing:-.014em;margin:8px 0 0}.section-copy{max-width:510px;font-size:15px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--violetlight);font-size:12px;font-weight:600;white-space:nowrap;border-bottom:1px solid var(--violet);padding-bottom:4px;transition:gap .2s}.text-link:hover{gap:15px}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.topic-card{min-height:247px;border:1px solid var(--line);border-radius:7px;overflow:hidden;position:relative;background:var(--surface);display:block;transition:transform .3s,border-color .3s}.topic-card:hover{transform:translateY(-4px);border-color:rgba(166,192,220,.55)}.topic-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .65s ease}.topic-card:hover img{transform:scale(1.07)}.topic-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,17,27,.98) 0%,rgba(6,17,27,.91) 48%,rgba(6,17,27,.04) 100%)}.topic-card-inner{position:relative;z-index:1;padding:24px 24px 46px;max-width:270px;height:100%;display:flex;flex-direction:column;align-items:flex-start}.topic-number{color:#b4c0d0;font-family:var(--mono);font-size:11px;letter-spacing:.08em}.topic-card h3{font-size:21px;line-height:1.19;letter-spacing:-.03em;font-weight:600;margin:16px 0 12px}.topic-card p{font-size:13px;line-height:1.5;margin:0;color:#b7c5d0}.circle-arrow{position:absolute;bottom:16px;right:17px;border:1px solid rgba(255,255,255,.31);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;z-index:2;color:var(--paper);font-size:18px;transition:background .2s}.topic-card:hover .circle-arrow{background:var(--violet);color:var(--bg)}
.feature-section{padding-bottom:62px}.feature-panel{position:relative;min-height:310px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(114deg,#111e29 0%,#111d28 44%,#0a1722 100%);overflow:hidden;isolation:isolate;display:flex;align-items:center}.feature-panel:before{content:"";position:absolute;width:370px;height:370px;border:1px solid rgba(181,171,242,.12);border-radius:50%;right:-180px;bottom:-270px;pointer-events:none}.feature-text{width:58%;position:relative;z-index:2;padding:36px 30px}.chip{display:inline-flex;align-items:center;border:1px solid var(--violet);color:var(--violetlight);border-radius:999px;padding:3px 11px;text-transform:uppercase;letter-spacing:.12em;font-family:var(--mono);font-size:10px;line-height:1.5}.feature-title{font-family:var(--serif);font-size:clamp(38px,4vw,60px);line-height:1.02;margin:15px 0 12px}.feature-text p{font-size:14px;max-width:540px;line-height:1.52;margin:0 0 20px;color:#c6d0da}.feature-art{position:absolute;right:0;top:0;width:52%;height:100%;object-fit:cover;object-position:center;opacity:.95;mask-image:linear-gradient(to right,transparent,black 18%,black);-webkit-mask-image:linear-gradient(to right,transparent,black 18%,black)}
.writing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.writing-card{background:linear-gradient(130deg,rgba(14,30,43,.78),rgba(7,20,31,.9));border:1px solid var(--line);border-radius:7px;display:grid;grid-template-columns:42% 58%;min-height:174px;overflow:hidden;transition:transform .25s,border-color .25s}.writing-card:hover{transform:translateY(-4px);border-color:var(--line-strong)}.writing-card img{width:100%;height:100%;object-fit:cover;min-height:174px}.writing-content{padding:17px 16px 18px;display:flex;flex-direction:column}.writing-content h3{font-size:16px;line-height:1.28;font-weight:600;margin:0 0 7px;letter-spacing:-.02em}.writing-content p{font-size:12px;line-height:1.45;color:#adbdca;margin-bottom:15px}.micro-meta{color:#879eb0;font-size:10px;font-family:var(--mono);margin-top:auto}.micro-meta strong{color:var(--mint);font-weight:400}.writing-card.wide{min-height:240px}.writing-card.wide img{min-height:240px}.writing-card.wide .writing-content{padding:25px}.writing-card.wide h3{font-size:23px}.writing-card.wide p{font-size:14px}
.publication-teaser{padding-bottom:68px}.publication-teaser-inner{border-top:1px solid var(--line-strong);padding-top:25px;display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.teaser-list{display:flex;flex-direction:column}.teaser-item{border-bottom:1px solid var(--line);padding:11px 0;display:flex;align-items:flex-start;gap:19px;transition:color .2s}.teaser-item:hover{color:var(--violetlight)}.teaser-year{font-family:var(--mono);font-size:11px;color:var(--mint);padding-top:3px}.teaser-item p{margin:0;color:inherit;font-size:14px;font-weight:500}.teaser-item span:last-child{margin-left:auto;white-space:nowrap;color:var(--quiet)}
.contact-strip{background:linear-gradient(130deg,rgba(50,45,78,.28),rgba(9,27,37,.25));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-inner h2{font-family:var(--serif);font-size:46px;margin:4px 0}.contact-inner p{margin:0;font-size:14px}
.site-footer{padding:32px 0 42px}.footer-inner{border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{font-family:var(--serif);font-size:25px}.footer-brand span{color:var(--violet);font-family:var(--sans)}.footer-mid{font-size:11px;color:var(--muted)}.footer-links{display:flex;gap:23px;align-items:center}.footer-links a{font-family:var(--mono);font-size:11px;color:#dce6ec;transition:color .2s}.footer-links a:hover{color:var(--mint)}.footer-note{font-size:10px;font-family:var(--mono);color:#758c9b;margin-top:18px}
/* Inner pages */
.page-intro{position:relative;padding:76px 0 55px;border-bottom:1px solid var(--line-strong);overflow:hidden}.page-intro:after{content:"*";position:absolute;right:11%;top:-52px;font-family:var(--serif);font-size:380px;line-height:1;color:rgba(172,134,255,.06);pointer-events:none}.page-intro h1{font-family:var(--serif);font-size:clamp(70px,8vw,128px);letter-spacing:-.028em;line-height:.92;max-width:1040px;margin:19px 0 27px}.page-intro h1 em{color:var(--violet);font-weight:400}.page-intro .lede{font-size:19px;line-height:1.52;max-width:715px;color:#d3dce3;margin:0}.page-intro .small-meta{margin-top:23px;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--quiet);font-size:11px}.inner-section{padding:55px 0 73px}.inner-section.alt{background:linear-gradient(to bottom,rgba(19,38,54,.3),rgba(9,20,30,.05));border-block:1px solid var(--line)}.numbered-title{display:flex;align-items:baseline;gap:20px;margin-bottom:27px}.numbered-title span{font-family:var(--mono);font-size:11px;color:var(--mint)}.numbered-title h2{font-family:var(--serif);font-size:57px;line-height:1;margin:0}.lead-lines{display:grid;grid-template-columns:1fr 1fr;gap:55px}.lead-lines p{font-size:17px;color:#d0d9e2;margin:0}.lead-lines p:last-child{color:var(--muted)}
.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.research-card{overflow:hidden;border:1px solid var(--line);background:var(--surface);border-radius:7px}.research-card img{width:100%;height:204px;object-fit:cover}.research-card .research-content{padding:23px}.research-card .kicker{font-size:10px;text-transform:uppercase;color:var(--violetlight);letter-spacing:.1em;font-family:var(--mono)}.research-card h3{font-family:var(--serif);font-size:36px;line-height:1.05;margin:12px 0 14px}.research-card p{font-size:14px;margin:0}.research-card .mini{font-family:var(--mono);font-size:11px;color:var(--mint);margin-top:22px;display:block}
.feature-research{margin-top:21px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:265px;background:#0d1d29}.feature-research .content{padding:32px}.feature-research h3{font-family:var(--serif);font-size:44px;line-height:1.04;margin:13px 0}.feature-research p{font-size:14px;max-width:480px}.feature-research img{width:100%;height:100%;object-fit:cover}
.stat-rails{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-rail{border-top:1px solid var(--line-strong);padding:19px 16px 0 0}.stat-rail strong{font-family:var(--serif);font-size:52px;font-weight:400;color:var(--paper)}.stat-rail p{font-size:14px;margin:2px 0 0}
.filter-layout{display:flex;align-items:center;flex-wrap:wrap;gap:17px;margin:26px 0 26px}.search-field{flex:1;min-width:240px;border:1px solid var(--line-strong);background:var(--surface);display:flex;align-items:center;gap:10px;border-radius:4px;padding:0 16px}.search-field svg{width:18px;height:18px;stroke:var(--quiet);stroke-width:1.6;fill:none}.search-field input{min-height:48px;background:transparent;border:none;color:var(--paper);width:100%;outline:none;font-size:13px}.search-field:focus-within{border-color:var(--violet)}.search-field input::placeholder{color:#8196a7}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{border:1px solid var(--line-strong);color:#c3d0dd;background:transparent;font-size:12px;font-weight:550;border-radius:100px;padding:8px 13px;transition:.2s}.filter-btn:hover{border-color:var(--violet)}.filter-btn[aria-pressed=true]{background:var(--violet);border-color:var(--violet);color:#141423}.filter-summary{font-family:var(--mono);font-size:11px;color:var(--quiet);margin:12px 0 14px}
.publication-list{border-top:1px solid var(--line-strong)}.pub-row{border-bottom:1px solid var(--line);padding:26px 2px 24px;display:grid;grid-template-columns:75px 1fr auto;align-items:start;gap:25px}.pub-year{font-family:var(--serif);font-size:32px;color:var(--mint);line-height:1}.pub-title{font-size:19px;line-height:1.32;font-weight:600;max-width:800px;margin:0 0 7px;letter-spacing:-.02em}.pub-authors{font-size:12px;color:var(--quiet);margin:0 0 9px}.pub-venue{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--violetlight);letter-spacing:.08em}.pub-summary{color:var(--muted);font-size:13px;max-width:700px;margin:12px 0 0}.pub-actions{display:flex;flex-direction:column;align-items:end;gap:10px}.pub-actions a{font-size:12px;white-space:nowrap;border-bottom:1px solid transparent;color:var(--paper)}.pub-actions a:hover{border-color:var(--violet);color:var(--violetlight)}.pub-actions .unpack-link{color:var(--mint)}.empty-state{color:var(--muted);padding:35px 5px}
.teaching-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.teaching-card{padding:35px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(130deg,#142636,#0b1925)}.teaching-card h2{font-family:var(--serif);font-size:58px;line-height:1;margin:14px 0}.teaching-card p{font-size:16px;max-width:620px}.teaching-card .course-meta{font-family:var(--mono);font-size:11px;color:var(--mint);margin:18px 0}.teaching-aside{border:1px solid var(--line);border-radius:7px;padding:32px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 12%,rgba(155,236,211,.18),transparent 50%),#0e222c}.teaching-aside .big-asterisk{font-size:148px;color:var(--mint);position:absolute;right:18px;top:-54px;opacity:.24}.teaching-aside h3{font-family:var(--serif);font-size:34px;margin-top:90px}.teaching-aside p{font-size:14px}
.topic-pill-grid{display:flex;gap:11px;flex-wrap:wrap;margin:23px 0}.topic-pill{display:inline-flex;align-items:center;border:1px solid var(--line-strong);padding:9px 16px;border-radius:3px;color:#d1dfe6;font-size:13px}.teaching-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.principle{border-top:1px solid var(--line-strong);padding-top:18px}.principle h3{font-family:var(--serif);font-size:35px;margin:0 0 8px}.principle p{font-size:14px}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.article-tile{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column;transition:transform .25s,border-color .25s}.article-tile:hover{transform:translateY(-4px);border-color:var(--line-strong)}.article-tile img{width:100%;height:215px;object-fit:cover}.article-tile-content{padding:21px;flex:1;display:flex;flex-direction:column}.article-tile h3{font-family:var(--serif);font-size:30px;line-height:1.1;margin:11px 0 9px}.article-tile p{font-size:13px;line-height:1.53;margin:0 0 24px}.article-tile-meta{font-family:var(--mono);font-size:10px;color:var(--mint);margin-top:auto}.article-tile-meta span{color:var(--quiet)}
.about-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:start}.about-layout h2{font-family:var(--serif);font-size:54px;line-height:1.08}.about-layout p{font-size:17px;line-height:1.75}.about-image{border:1px solid var(--line);background:#101f2c;overflow:hidden;position:relative;aspect-ratio:4/5}.about-image img{height:100%;width:100%;object-fit:cover;object-position:right center}.about-image:after{content:'PORTRAIT PLACEHOLDER';position:absolute;left:18px;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#fff;background:rgba(9,17,29,.7);padding:6px 9px;border:1px solid rgba(255,255,255,.2)}.quote-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0;margin:10px 0}.quote-band blockquote{font-family:var(--serif);font-size:clamp(39px,5vw,72px);line-height:1.07;max-width:1050px;margin:0}.quote-band em{color:var(--violet)}
.link-rows{border-top:1px solid var(--line)}.link-row{display:flex;align-items:center;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line);padding:22px 2px;transition:color .2s}.link-row:hover{color:var(--violetlight)}.link-row strong{font-size:17px;font-weight:550}.link-row span{font-size:13px;color:var(--muted)}
.article-hero{padding:67px 0 30px}.article-back{font-family:var(--mono);color:var(--quiet);font-size:11px;display:inline-flex;align-items:center;gap:10px;margin-bottom:33px}.article-back:hover{color:var(--violet)}.article-hero h1{font-family:var(--serif);font-size:clamp(66px,8vw,117px);line-height:.92;letter-spacing:-.025em;max-width:1030px;margin:20px 0}.article-hero .deck{font-size:21px;max-width:730px;color:#c7d4dd}.article-header-meta{display:flex;gap:19px;flex-wrap:wrap;margin-top:26px;align-items:center;color:var(--quiet);font-family:var(--mono);font-size:11px}.article-cover{height:400px;width:100%;object-fit:cover;border:1px solid var(--line);border-radius:7px;margin:20px 0 55px;background:#0e1d29}.article-body{display:grid;grid-template-columns:190px 1fr;gap:70px;padding-bottom:70px}.article-sidebar{position:relative}.article-sidebar-inner{position:sticky;top:122px}.article-sidebar p{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--quiet)}.article-sidebar a,.article-sidebar button{font-size:12px;display:block;color:var(--violetlight);background:transparent;border:0;padding:8px 0;text-align:left}.article-prose{max-width:750px}.article-prose .opening{font-family:var(--serif);font-size:37px;line-height:1.26;color:var(--paper);margin:0 0 34px}.article-prose h2{font-family:var(--serif);font-size:46px;line-height:1.05;margin:49px 0 16px}.article-prose p{font-size:17px;line-height:1.79;color:#c9d4dc}.article-prose .callout{border-left:2px solid var(--violet);padding:13px 0 13px 25px;margin:42px 0;font-family:var(--serif);font-size:34px;line-height:1.19;color:var(--paper)}.article-paper-link{padding:26px 0;border-top:1px solid var(--line);display:block}.article-paper-link small{font-family:var(--mono);color:var(--mint)}.article-paper-link strong{display:block;margin-top:6px;font-size:16px;line-height:1.35}.article-note{background:rgba(151,177,198,.07);border:1px solid var(--line);border-radius:4px;padding:14px 17px;color:var(--muted);font-size:12px;margin-top:25px}
/* Search */
.search-overlay[hidden]{display:none}.search-overlay{position:fixed;inset:0;z-index:100;background:rgba(1,7,12,.84);backdrop-filter:blur(13px);display:flex;justify-content:center;align-items:flex-start;padding:clamp(60px,12vh,150px) 18px 18px}.search-dialog{width:min(740px,100%);background:#0b1d2b;border:1px solid rgba(181,204,229,.3);border-radius:9px;box-shadow:0 25px 90px rgba(0,0,0,.6);padding:28px}.search-top{display:flex;justify-content:space-between;align-items:center}.search-dialog h2{font-family:var(--serif);font-size:49px;margin:0 0 20px}.search-dialog .search-field{margin:12px 0}.search-results{max-height:44vh;overflow:auto;margin-top:16px;border-top:1px solid var(--line)}.search-result{display:block;border-bottom:1px solid var(--line);padding:13px 4px}.search-result:hover{color:var(--violetlight)}.search-result small{font-family:var(--mono);color:var(--mint);font-size:10px}.search-result strong{display:block;font-size:15px;margin-top:3px}
/* responsive */
@media (min-width:1500px){.hero h1{font-size:117px}}
@media (max-width:1160px){.container{width:min(var(--max),calc(100% - 80px))}.desktop-nav{gap:23px}.hero h1{font-size:clamp(66px,7vw,98px)}.hero-copy{width:62%}.hero-art{width:56%;right:-20px;top:5px;height:460px}.hero-main{min-height:468px}.quick-card{grid-template-columns:45px 1fr;padding:21px 15px}.quick-icon{width:43px;height:43px}.quick-card p{font-size:11.5px}.writing-card{grid-template-columns:40% 60%}.writing-content{padding:13px}}
@media (max-width:900px){.container{width:calc(100% - 48px)}.header-inner{height:77px}.desktop-nav{gap:16px}.desktop-nav a{font-size:12px}.logo{font-size:30px}.hero-main{min-height:470px}.hero-copy{width:70%;padding-top:11px}.hero h1{font-size:clamp(66px,8vw,83px)}.hero-art{right:-21%;top:15px;width:70%;opacity:.73}.hero-intro{max-width:465px}.quick-grid{grid-template-columns:repeat(2,1fr);margin-top:8px}.topic-grid,.research-grid,.articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-grid{grid-template-columns:1fr}.writing-card{grid-template-columns:34% 66%;min-height:160px}.writing-card img{min-height:160px}.writing-content{padding:19px}.publication-teaser-inner{gap:25px}.feature-text{width:65%}.feature-art{width:51%}.article-body{gap:32px;grid-template-columns:150px 1fr}.about-layout{gap:30px}}
@media (max-width:670px){.container{width:calc(100% - 36px)}.header-inner{height:72px}.logo{font-size:30px}.desktop-nav{display:none}.header-tools{margin-left:auto}.menu-toggle{display:grid}.mobile-menu{display:block;position:absolute;left:0;right:0;top:72px;background:rgba(8,24,35,.98);border-bottom:1px solid var(--line-strong);padding:12px 18px 24px;box-shadow:0 24px 40px rgba(0,0,0,.2)}.mobile-menu[hidden]{display:none}.mobile-menu a{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:32px;border-bottom:1px solid var(--line);padding:11px 7px}.mobile-menu a:after{content:'↗';font-family:var(--sans);font-size:16px;color:var(--violet)}.hero{padding-top:27px}.hero-main{display:block;min-height:auto;padding-bottom:0}.hero-copy{width:100%;padding-top:12px}.eyebrow{font-size:9px;letter-spacing:.17em}.eyebrow:after{width:30px}.hero h1{font-size:clamp(58px,12vw,78px);margin:20px 0 15px}.hero h1 span{white-space:normal}.hero-intro{font-size:15px;max-width:500px}.hero-art{position:relative;width:calc(100% + 36px);right:auto;top:auto;margin:4px -18px -22px;height:330px;opacity:1}.hero-art img{object-position:center}.hero-side-note{display:none}.hero-cta{gap:20px}.hero-orbit{display:none}.quick-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:3px;margin-bottom:47px}.quick-card{min-height:179px;grid-template-columns:1fr;gap:10px;padding:19px}.quick-icon{height:35px;width:35px}.quick-card h2{font-size:14px}.quick-card p{font-size:12px;max-width:230px}.card-arrow{width:27px;height:27px;bottom:9px;right:9px}.section{padding-bottom:45px}.section-heading{gap:10px;align-items:flex-start}.section-title{font-size:48px}.section-heading .text-link{margin-top:27px}.topic-grid,.research-grid,.articles-grid{grid-template-columns:1fr}.topic-card{min-height:221px}.topic-card-inner{max-width:290px}.feature-panel{min-height:480px;align-items:flex-start}.feature-text{width:100%;padding:27px 22px}.feature-title{font-size:44px}.feature-text p{font-size:13px;max-width:95%}.feature-art{width:100%;height:43%;top:auto;bottom:0;object-fit:cover;object-position:center;mask-image:linear-gradient(to bottom,transparent 0,black 16%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 16%)}.writing-card{grid-template-columns:39% 61%}.writing-card img{min-height:166px}.writing-content{padding:16px}.writing-content h3{font-size:15px}.publication-teaser-inner{grid-template-columns:1fr}.contact-inner{align-items:flex-start;flex-direction:column;gap:19px}.contact-inner h2{font-size:42px}.footer-inner{flex-wrap:wrap;align-items:flex-start}.footer-mid{order:3;width:100%}.footer-links{gap:14px}.page-intro{padding:51px 0 46px}.page-intro h1{font-size:clamp(66px,13vw,88px)}.page-intro .lede{font-size:16px}.inner-section{padding:43px 0 55px}.numbered-title h2{font-size:46px}.lead-lines{grid-template-columns:1fr;gap:20px}.lead-lines p{font-size:16px}.feature-research,.teaching-feature,.about-layout{grid-template-columns:1fr}.feature-research .content{padding:23px}.feature-research img{height:225px}.stat-rails{grid-template-columns:1fr;gap:24px}.stat-rail{padding-top:10px}.teaching-card,.teaching-aside{padding:25px}.teaching-card h2{font-size:51px}.teaching-aside h3{margin-top:37px}.teaching-principles{grid-template-columns:1fr}.articles-grid{grid-template-columns:1fr}.article-tile img{height:210px}.pub-row{grid-template-columns:1fr;gap:7px;padding:22px 0}.pub-year{font-size:26px}.pub-actions{flex-direction:row;justify-content:flex-start;align-items:center;gap:20px;margin-top:6px}.publication-list{margin-top:15px}.filter-layout{gap:11px}.filter-buttons{gap:6px}.filter-btn{font-size:11px;padding:7px 11px}.about-layout h2{font-size:45px}.about-layout p{font-size:15px}.about-image{max-height:450px}.article-hero{padding:43px 0 15px}.article-hero h1{font-size:clamp(59px,13vw,83px)}.article-hero .deck{font-size:18px}.article-cover{height:245px;margin:22px 0 40px}.article-body{grid-template-columns:1fr;gap:10px}.article-sidebar{order:2;padding-top:30px;border-top:1px solid var(--line)}.article-sidebar-inner{position:static}.article-prose .opening{font-size:30px}.article-prose h2{font-size:37px;margin-top:33px}.article-prose p{font-size:15.5px}.article-prose .callout{font-size:27px}.search-dialog{padding:21px}.search-dialog h2{font-size:36px}.link-row{flex-wrap:wrap;gap:6px}.link-row span{width:100%}}
@media (max-width:390px){.hero h1{font-size:56px}.quick-grid{gap:8px}.quick-card{padding:15px;min-height:176px}.quick-card p{font-size:11px}.section-title{font-size:42px}.hero-art{height:282px}.hero-cta{gap:15px}.button{padding:10px 17px}.underlink{font-size:12px}.writing-content p{font-size:11px}.writing-card{grid-template-columns:38% 62%}}
@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.hero-art img{animation:heroFloat 10s ease-in-out infinite}@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}}
