:root{--font-sans: Inter, "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Iowan Old Style", Charter, "Bitstream Charter", Cambria, Georgia, serif;--bg: #f5f4ef;--surface: #fbfaf6;--ink: #202522;--body: #555e58;--muted: #788079;--accent: #35604f;--accent-soft: #dfe8e1;--border: #d7dbd5;--border-strong: #b9c0ba;color-scheme:light;font-family:var(--font-sans)}:root[data-theme=dark]{--bg: #151715;--surface: #1c1f1c;--ink: #edf0eb;--body: #b7bdb7;--muted: #8e978f;--accent: #92b8a3;--accent-soft: #26342c;--border: #343a35;--border-strong: #555e57;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:18px}body{margin:0;background:var(--bg);color:var(--ink);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;position:relative;isolation:isolate}.site-header,main,.site-footer{position:relative;z-index:1}.city-backdrop{position:absolute;z-index:0;top:77px;right:0;left:0;height:690px;overflow:hidden;pointer-events:none;background:url(/images/padua-day.webp) center 46% / cover no-repeat}.city-backdrop:before,.city-backdrop:after{content:"";position:absolute;inset:0}.city-backdrop:before{background:url(/images/padua-night.webp) center 46% / cover no-repeat;opacity:0;transition:opacity .7s ease}:root[data-theme=dark] .city-backdrop:before{opacity:1}.city-backdrop:after{background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 28%,transparent) 0%,color-mix(in srgb,var(--bg) 48%,transparent) 60%,var(--bg) 100%),linear-gradient(90deg,color-mix(in srgb,var(--bg) 78%,transparent),color-mix(in srgb,var(--bg) 48%,transparent) 56%,color-mix(in srgb,var(--bg) 22%,transparent))}::selection{background:var(--accent-soft);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}p{color:var(--body);text-wrap:pretty}.site-shell{width:min(100% - 56px,1160px);margin-inline:auto}.skip-link{position:absolute;top:-100px;left:1rem;z-index:20;padding:.65rem .85rem;background:var(--ink);color:var(--bg)}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.kicker{margin:0 0 .8rem;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.site-header{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(12px) saturate(.9);backdrop-filter:blur(12px) saturate(.9)}.nav-inner{min-height:82px;display:grid;grid-template-columns:1fr auto 36px;align-items:center;gap:30px}.brand{width:max-content;font-family:var(--font-serif);font-size:1.16rem;font-weight:600;letter-spacing:-.015em}.nav-links{display:flex;align-items:center;gap:23px}.nav-links a{position:relative;color:var(--muted);font-size:.94rem}.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}.nav-links a[aria-current]:after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:1px;background:var(--accent)}.theme-button{width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:1.08rem}.theme-button:hover{background:var(--accent-soft);color:var(--ink)}.home-intro{display:grid;grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr);column-gap:clamp(48px,6vw,76px);row-gap:clamp(24px,3vw,34px);align-items:center;padding-top:clamp(38px,5vw,54px);padding-bottom:clamp(48px,6vw,66px);border-bottom:1px solid var(--border)}.home-statement{grid-column:1 / -1;margin:0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(1.4rem,2.25vw,1.9rem);letter-spacing:-.025em;line-height:1.25;white-space:nowrap}.home-portrait{width:min(100%,460px);margin:0;justify-self:start}.home-portrait img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover}.hero-copy h1{margin:0 0 1.5rem;font-family:var(--font-serif);font-size:clamp(3rem,5.8vw,4.8rem);font-weight:500;letter-spacing:-.045em;line-height:1}.hero-lead{max-width:610px;margin-bottom:2rem;color:var(--body);font-family:var(--font-serif);font-size:clamp(1.18rem,1.8vw,1.38rem);line-height:1.55}.quiet-link{display:inline-flex;align-items:center;gap:.45rem;width:max-content;color:var(--accent);font-size:.98rem;font-weight:650}.home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border-strong)}.home-links a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.05rem 1rem;align-items:center;min-height:88px;padding:.85rem 1rem .85rem 0;border-bottom:1px solid var(--border)}.home-links a:nth-child(odd){padding-right:1.4rem;border-right:1px solid var(--border)}.home-links a:nth-child(2n){padding-left:1.4rem}.home-links a>span{font-family:var(--font-serif);font-size:clamp(1.22rem,2vw,1.5rem);font-weight:500;line-height:1.1}.home-links small{grid-column:1;color:var(--muted);font-size:.84rem;line-height:1.4}.home-links b{grid-column:2;grid-row:1 / 3;color:var(--accent);font-size:1.05rem;font-weight:500;transition:transform .16s ease}.home-links a:hover{color:var(--accent)}.home-links a:hover b{transform:translate(3px,-3px)}.icon-label{display:inline-flex;align-items:center;gap:.45rem}.github-icon{width:1.05em;height:1.05em;flex:none}.quiet-link span{transition:transform .16s ease}.quiet-link:hover span{transform:translate(3px)}.home-section{padding-top:clamp(68px,9vw,100px);padding-bottom:clamp(76px,10vw,116px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-heading h2,.home-about h2,.cv-panel h2{margin:0;font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.035em;line-height:1.1}.paper-list{display:grid;gap:clamp(38px,6vw,68px)}.paper-card{position:relative;display:block;padding:0 0 clamp(38px,5vw,58px);border-bottom:1px solid var(--border)}.paper-card-summary{display:grid;grid-template-columns:minmax(380px,1.08fr) minmax(0,.92fr);gap:clamp(34px,5vw,64px);align-items:center;cursor:pointer;list-style:none}.paper-card-summary::-webkit-details-marker{display:none}.paper-card-image{aspect-ratio:3 / 2;margin:0;overflow:hidden;background:var(--accent-soft)}.paper-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .25s ease}.paper-card-main{min-width:0}.paper-card:hover .paper-card-image img,.paper-card:focus-within .paper-card-image img,.paper-card[open] .paper-card-image img{transform:scale(1.025);filter:saturate(1.06)}.paper-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem;color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase}.paper-card h3{margin:0 0 .55rem;font-family:var(--font-serif);font-size:clamp(1.55rem,2.6vw,2.15rem);font-weight:500;letter-spacing:-.025em;line-height:1.22;overflow-wrap:anywhere}.paper-card-main>p:not(.paper-coauthors){max-width:720px;margin:0 0 .9rem;font-size:1rem;line-height:1.72}.paper-coauthors{margin:0 0 .9rem;color:var(--accent);font-size:.9rem;font-weight:650;line-height:1.5}.person-link{border-bottom:1px solid color-mix(in srgb,currentColor 55%,transparent);transition:color .15s ease,border-color .15s ease}.person-link:hover{color:var(--ink);border-bottom-color:currentColor}.paper-meta{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--muted);font-size:.86rem}.paper-meta-sep{color:var(--border-strong)}.paper-expand{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.2rem;color:var(--accent);font-size:.92rem;font-weight:700}.paper-expand>span{position:relative;width:14px;height:14px}.paper-expand>span:before,.paper-expand>span:after{content:"";position:absolute;top:50%;left:0;width:14px;height:1.5px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.paper-expand>span:after{transform:rotate(90deg)}.paper-card[open] .paper-expand>span:after{opacity:0;transform:rotate(0)}.paper-card-details{margin-top:clamp(30px,4vw,48px);padding-top:clamp(28px,4vw,42px);border-top:1px solid var(--border)}.paper-abstract{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(26px,4vw,54px)}.paper-abstract .kicker,.paper-data .kicker{margin-top:.2rem}.paper-abstract>p:last-child{max-width:850px;margin:0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(1.05rem,1.7vw,1.22rem);line-height:1.72}.paper-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:2.2rem 0 0 204px}.home-about{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-top:clamp(58px,8vw,84px);padding-bottom:clamp(74px,10vw,116px);border-top:1px solid var(--border)}.home-about>div{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(0,1.4fr);gap:40px;align-items:start}.home-about p:not(.kicker){margin-bottom:1.25rem}.home-about .quiet-link{grid-column:2}.page-intro{max-width:850px;padding-top:clamp(68px,8vw,96px);padding-bottom:clamp(54px,7vw,76px)}.page-intro h1,.paper-detail>h1{margin:0 0 1.4rem;font-family:var(--font-serif);font-size:clamp(2.35rem,4.6vw,3.8rem);font-weight:500;letter-spacing:-.05em;line-height:1.04}.inline-interest{display:inline;margin:0;padding:0;border:0;border-bottom:1px dotted currentColor;background:transparent;color:var(--accent);cursor:pointer;font-family:inherit;font-size:inherit}.inline-interest:hover{border-bottom-style:solid}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.interest-dialog{width:min(940px,calc(100% - 32px));max-height:min(820px,calc(100dvh - 32px));padding:0;overflow:auto;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);box-shadow:0 24px 90px #080c0952}.interest-dialog[data-kind=reading]{width:min(720px,calc(100% - 32px))}.interest-dialog::backdrop{background:#0a0e0bad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.interest-close{position:absolute;z-index:2;top:15px;right:17px;padding:.25rem 0;border:0;border-bottom:1px solid var(--border-strong);background:transparent;color:var(--muted);cursor:pointer;font-size:.82rem}.interest-panel{padding:clamp(34px,5vw,64px)}.reading-panel h2{max-width:560px;margin:clamp(34px,5vw,52px) 0 .35rem;font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.35rem);font-weight:500;letter-spacing:-.04em;line-height:1.05}.reading-intro{margin-bottom:2rem;font-size:.96rem}.book-suggestions{margin:0 0 1.6rem;padding:0;border-top:1px solid var(--border-strong);list-style:none}.book-suggestions li{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.75fr);gap:2rem;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--border)}.book-suggestions strong{color:var(--ink);font-family:var(--font-serif);font-size:clamp(1.05rem,2.3vw,1.35rem);font-weight:500;line-height:1.28}.book-suggestions span{color:var(--muted);font-size:.88rem}.book-refresh{display:inline-flex;gap:.55rem;align-items:center;padding:.6rem 0;border:0;border-bottom:1px solid var(--border-strong);background:transparent;color:var(--accent);cursor:pointer;font-size:.88rem;font-weight:650}.book-refresh span{font-size:1rem;transition:transform .22s ease}.book-refresh:hover span{transform:rotate(90deg)}.interest-heading{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin:0 42px 1rem 0}.interest-heading p{margin-bottom:0;font-size:.9rem}.image-panel figure{margin:0}.image-panel img{display:block;width:100%;max-height:650px;object-fit:contain}.trekking-panel{width:min(100%,680px);margin-inline:auto}.trekking-panel img{max-height:660px}.chess-dialog{width:min(920px,calc(100% - 32px));max-height:min(760px,calc(100dvh - 32px));padding:0;overflow:auto;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);box-shadow:0 24px 90px #080c094d}.chess-dialog::backdrop{background:#0a0e0bad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.chess-modal{position:relative;display:grid;grid-template-columns:minmax(190px,.68fr) minmax(330px,1.32fr);gap:clamp(30px,5vw,62px);align-items:center;padding:clamp(28px,5vw,60px)}.chess-close{position:absolute;top:15px;right:17px;padding:.25rem 0;border:0;border-bottom:1px solid var(--border-strong);background:transparent;color:var(--muted);cursor:pointer;font-size:.82rem}.chess-copy h2{margin:0 0 1rem;font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,2.7rem);font-weight:500;letter-spacing:-.04em;line-height:1.05}.chess-status{min-height:1.7em;margin-bottom:1.35rem;font-family:var(--font-serif);font-size:1.03rem}.chess-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}.chess-meta span+span:before{content:"·";margin-right:12px}.chess-controls{display:flex;gap:8px;margin-top:1.8rem}.chess-controls button{min-width:76px;padding:.62rem .8rem;border:1px solid var(--border-strong);background:transparent;color:var(--ink);cursor:pointer;font-size:.86rem}.chess-controls button:first-child{border-color:var(--accent);background:var(--accent);color:var(--surface)}.chess-controls button:hover{transform:translateY(-1px)}.chess-stage{width:100%;max-width:500px;justify-self:end}.chess-board{position:relative;display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;overflow:hidden;border:8px solid #29352f;background:#e8e0cf;box-shadow:0 14px 35px #0f18132e}.chess-square{position:relative;aspect-ratio:1}.chess-square.light{background:#e6dfcf}.chess-square.dark{background:#748c7b}.chess-square[data-rank]:before,.chess-square[data-file]:after{position:absolute;z-index:1;color:#19231d94;font-size:clamp(.48rem,1.1vw,.62rem);font-weight:700;line-height:1}.chess-square[data-rank]:before{content:attr(data-rank);top:4px;left:4px}.chess-square[data-file]:after{content:attr(data-file);right:4px;bottom:4px}.chess-square.is-from{box-shadow:inset 0 0 0 999px #d2b95857}.chess-square.is-to:after{content:"";position:absolute;width:28%;aspect-ratio:1;top:50%;left:50%;border:2px solid rgba(42,60,49,.64);border-radius:50%;transform:translate(-50%,-50%)}.chess-piece{position:absolute;z-index:3;top:0;left:0;width:12.5%;height:12.5%;display:grid;place-items:center;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",serif;font-size:clamp(1.65rem,4.7vw,3.25rem);line-height:1;transition:transform .26s cubic-bezier(.2,.75,.25,1),opacity .16s ease;pointer-events:none}.white-piece{color:#fffdf4;text-shadow:0 1px 2px rgba(10,16,12,.92),0 0 1px #111}.black-piece{color:#17231c;text-shadow:0 1px 1px rgba(255,255,255,.22)}.chess-piece.is-moving{z-index:5}.chess-piece.is-captured{opacity:0}.chess-progress{display:flex;justify-content:space-between;gap:1rem;padding-top:.8rem;color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.chess-progress strong{color:var(--accent);font-weight:650}.page-intro>p:last-child{max-width:650px;margin-bottom:0;font-size:1.18rem}.page-intro .intro-links{margin-top:1.5rem}.research-page-list{padding-bottom:74px}.research-list-title{margin:0 0 1.5rem;font-family:var(--font-serif);font-size:clamp(1.85rem,3.4vw,2.65rem);font-weight:500;letter-spacing:-.035em;line-height:1.1}.developing-research{padding-top:20px;padding-bottom:86px}.developing-research .section-heading{align-items:end}.section-note{max-width:320px;margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}.developing-list{border-top:1px solid var(--border-strong)}.developing-card{display:grid;grid-template-columns:155px minmax(230px,.9fr) minmax(280px,1.1fr);grid-template-areas:"stage title description" ". people description";gap:.25rem clamp(24px,4vw,48px);padding:1.7rem 0 1.9rem;border-bottom:1px solid var(--border)}.developing-card .kicker{grid-area:stage;margin:0}.developing-card h3{grid-area:title;margin:0;font-family:var(--font-serif);font-size:clamp(1.3rem,2vw,1.65rem);font-weight:500;line-height:1.3}.developing-card .paper-coauthors{grid-area:people;margin:.4rem 0 0}.developing-card>p:last-child{grid-area:description;margin:0;font-size:1rem;line-height:1.7}.list-label{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.7rem;color:var(--muted);font-size:.84rem;letter-spacing:.06em;text-transform:uppercase}.small-callout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;padding-top:2.1rem;padding-bottom:100px;border-top:1px solid var(--border)}.small-callout p{max-width:620px;margin:0}.about-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,1fr);gap:clamp(46px,7vw,82px);align-items:center;padding-bottom:110px}.about-photo{margin:0}.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}.about-prose p{font-family:var(--font-serif);font-size:clamp(1.12rem,2vw,1.32rem);line-height:1.68}.timeline-section{padding-bottom:82px}.timeline{border-top:1px solid var(--border-strong)}.timeline>div{display:grid;grid-template-columns:150px minmax(180px,1fr) minmax(180px,1fr);gap:24px;align-items:baseline;padding:1.35rem 0;border-bottom:1px solid var(--border)}.timeline span{color:var(--accent);font-size:.88rem;font-variant-numeric:tabular-nums;font-weight:650}.timeline h3{margin:0;font-family:var(--font-serif);font-size:1.16rem;font-weight:500;line-height:1.4}.timeline p{margin:0;font-size:.98rem}.cv-download{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1.25rem;align-items:center;margin-top:1.6rem;padding:1.35rem 0;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border)}.cv-download>span{font-family:var(--font-serif);font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.2}.cv-download strong{color:var(--accent);font-size:.98rem}.cv-download b{color:var(--accent);font-size:1.25rem;font-weight:500;transition:transform .16s ease}.cv-download:hover b{transform:translate(3px,-3px)}.conference-section{padding-bottom:76px}.conference-list{border-top:1px solid var(--border-strong)}.conference-list article{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;align-items:start;padding:1.45rem 0;border-bottom:1px solid var(--border)}.conference-list article>span{color:var(--accent);font-size:.88rem;font-variant-numeric:tabular-nums;font-weight:650}.conference-list h3{margin:0 0 .3rem;font-family:var(--font-serif);font-size:clamp(1.12rem,1.8vw,1.35rem);font-weight:500;line-height:1.35}.conference-list p{margin:0;font-size:.94rem}.conference-list p strong{color:var(--ink);font-weight:650}.service-section{padding-bottom:120px}.service-list{border-top:1px solid var(--border-strong)}.service-list>div{display:flex;justify-content:space-between;gap:2rem;align-items:baseline;padding:1.45rem 0;border-bottom:1px solid var(--border)}.service-list h3{margin:0;font-family:var(--font-serif);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500}.service-list span{color:var(--accent);font-size:.9rem;font-weight:650}.cv-panel{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:100px;padding:2.4rem 0;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border)}.cv-panel h2{margin-bottom:.6rem;font-size:clamp(1.7rem,3vw,2.2rem)}.cv-panel p{margin-bottom:0}.cv-note{align-self:end}.cv-note p{margin-bottom:.8rem}.contact-intro{padding-bottom:70px}.contact-panel{margin-bottom:120px;padding:2rem 0;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border)}.contact-email+.contact-email{padding-top:1.5rem;border-top:1px solid var(--border)}.contact-email .email-big{padding-bottom:2.25rem}.email-big{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:.25rem 0 3rem;font-family:var(--font-serif);font-size:clamp(1.45rem,4vw,3.2rem);letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere}.email-big:hover,.contact-lower a:hover{color:var(--accent)}.email-big span{color:var(--accent);font-family:var(--font-sans);font-size:.65em}.contact-github{display:grid;grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:1.35rem 0;border-top:1px solid var(--border);font-size:1rem}.contact-github .icon-label{color:var(--ink);font-family:var(--font-serif);font-size:1.25rem}.contact-github>span:nth-child(2){color:var(--muted);overflow-wrap:anywhere}.contact-github b{color:var(--accent);font-size:1.15rem;font-weight:500}.contact-github:hover .icon-label,.contact-github:hover>span:nth-child(2){color:var(--accent)}.contact-lower{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.92rem}.paper-detail{max-width:850px;padding-top:65px;padding-bottom:120px}.back-link{display:inline-block;margin-bottom:70px;color:var(--muted);font-size:.9rem}.back-link:hover{color:var(--accent)}.detail-labels{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;color:var(--muted);font-size:.9rem}.detail-status{padding:.25rem .55rem;border:1px solid var(--border);border-radius:2px;color:var(--accent)}.detail-summary{display:grid;grid-template-columns:130px minmax(0,1fr);gap:28px;margin-top:3.5rem;padding:2rem 0;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border)}.detail-summary p{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:1.2rem;line-height:1.65}.detail-body{max-width:650px;margin-left:158px;padding:2.5rem 0 3rem}.detail-body h2{margin:2rem 0 .8rem;font-family:var(--font-serif);font-size:1.45rem;font-weight:500}.detail-body h2:first-child{margin-top:0}.detail-body p{margin-bottom:1.35rem}.detail-bottom{display:flex;justify-content:space-between;gap:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.paper-tags,.detail-actions{display:flex;flex-wrap:wrap;gap:.5rem}.paper-tags span{padding:.25rem .55rem;border:1px solid var(--border);color:var(--muted);font-size:.84rem}.site-footer{border-top:1px solid var(--border)}.footer-inner{min-height:205px;display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:center;color:var(--muted);font-size:.9rem}.footer-inner>div:first-child{display:flex;flex-direction:column;gap:.15rem}.footer-inner strong{color:var(--ink);font-family:var(--font-serif);font-size:1.15rem;font-weight:500}.footer-inner address{margin-top:.35rem;color:var(--muted);font-size:.82rem;font-style:normal;line-height:1.45}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.footer-links a:hover{color:var(--accent)}.footer-year{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:no-preference){.home-statement,.hero-copy>*,.home-portrait{animation:enter .5s both}.hero-copy>:nth-child(2){animation-delay:40ms}.hero-copy>:nth-child(3){animation-delay:80ms}.hero-copy>:nth-child(4),.home-portrait{animation-delay:.12s}}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}@media(max-width:760px){.site-shell{width:min(100% - 34px,1160px)}.nav-inner{grid-template-columns:1fr 36px;gap:8px 20px;padding:14px 0 12px}.nav-links{grid-column:1 / -1;grid-row:2;gap:19px;overflow-x:auto;padding:4px 0 6px}.theme-button{grid-column:2;grid-row:1}.home-intro{grid-template-columns:1fr;gap:36px;align-items:start;padding-top:42px;padding-bottom:54px}.home-statement{font-size:clamp(1.35rem,5.5vw,1.8rem);white-space:normal}.hero-copy h1{font-size:clamp(2.8rem,11vw,3.8rem)}.home-portrait{width:min(88%,400px);justify-self:center}.home-about,.home-about>div,.about-grid,.small-callout{grid-template-columns:1fr}.home-about{gap:8px}.home-about>div{gap:16px}.home-about .quiet-link{grid-column:auto}.page-intro h1,.paper-detail>h1{font-size:clamp(2.25rem,9.5vw,3.45rem)}.chess-modal{grid-template-columns:1fr;gap:30px;padding-top:48px}.chess-copy{display:grid;grid-template-columns:1fr auto;gap:0 20px}.chess-copy .kicker,.chess-copy h2,.chess-status,.chess-meta{grid-column:1 / -1}.chess-controls{grid-column:2;grid-row:1 / 3;align-self:start;margin:0 24px 0 0}.chess-stage{justify-self:center}.interest-panel{padding-top:48px}.about-grid{gap:42px}.paper-card-summary{grid-template-columns:1fr;gap:22px}.paper-card-image{width:min(100%,620px)}.paper-abstract{grid-template-columns:120px minmax(0,1fr);gap:24px}.paper-data{margin-left:144px}.developing-card{grid-template-columns:130px minmax(0,1fr);grid-template-areas:"stage title" ". people" ". description";gap:.35rem 24px}.timeline>div{grid-template-columns:110px minmax(0,1fr);gap:8px 20px}.conference-list article{grid-template-columns:125px minmax(0,1fr);gap:20px}.timeline p{grid-column:2}.cv-panel{grid-template-columns:1fr;gap:30px}.detail-summary{grid-template-columns:1fr;gap:8px}.detail-body{margin-left:0}.footer-inner{grid-template-columns:1fr;gap:18px;padding:34px 0}.footer-links{justify-self:start}.footer-year{grid-column:auto}}@media(max-width:480px){.nav-links{gap:16px}.nav-links a{font-size:.88rem}.home-links{grid-template-columns:1fr}.home-links a,.home-links a:nth-child(odd),.home-links a:nth-child(2n){min-height:76px;padding:.7rem 0;border-right:0}.chess-dialog,.interest-dialog,.interest-dialog[data-kind=reading]{width:calc(100% - 18px);max-height:calc(100dvh - 18px)}.chess-modal{padding:44px 18px 24px}.chess-copy{display:block}.chess-controls{margin-top:1.3rem}.chess-board{border-width:5px}.interest-panel{padding:44px 18px 22px}.interest-heading{display:block;margin-right:34px}.interest-heading>p:last-child{margin-top:.3rem}.book-suggestions li{grid-template-columns:1fr;gap:.15rem}.section-heading{align-items:start}.developing-research .section-heading{display:block}.developing-research .section-note{margin-top:.75rem}.paper-card-summary{gap:18px}.paper-card-top{margin-bottom:.65rem}.paper-abstract,.paper-data{grid-template-columns:1fr;gap:.7rem}.paper-data{margin-left:0}.paper-data>div+div{margin-top:.8rem}.developing-card{grid-template-columns:1fr;grid-template-areas:"stage" "title" "people" "description";gap:.45rem}.developing-card .paper-coauthors{margin-top:0}.timeline>div{grid-template-columns:1fr;gap:5px}.conference-list article{grid-template-columns:1fr;gap:.35rem 1rem}.conference-list article>span{grid-column:1}.conference-list article>div{grid-column:1}.timeline p{grid-column:auto}.email-big{align-items:start}.contact-github{grid-template-columns:1fr auto;gap:.35rem 1rem}.contact-github>span:nth-child(2){grid-column:1}.contact-github b{grid-column:2;grid-row:1 / 3}.cv-download{grid-template-columns:1fr auto;gap:.25rem 1rem}.cv-download strong{grid-column:1}.cv-download b{grid-column:2;grid-row:1 / 3}.detail-bottom{flex-direction:column}.footer-inner{grid-template-columns:1fr}.footer-links{justify-self:start}.footer-year{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
