:root{--ink:#152b43;--muted:#586779;--blue:#245bd4;--blue-dark:#1541a3;--line:#dbe2ec;--paper:#fff;--wash:#f3f6fb;--navy:#12243b;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--shadow:0 12px 40px -18px #13315936;--header-size:82px;--header-height:82px;color-scheme:light;font-family:var(--sans);color:var(--ink);font-size:16px;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;background:var(--paper);line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #4a7fef;outline-offset:6px;border-radius:2px}p{margin:0 0 1.2rem}h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.18}h2{font-size:clamp(2.15rem,3.5vw,3.5rem);letter-spacing:-.045em}h2 em{color:var(--muted);font-family:var(--serif);font-weight:400;letter-spacing:-.04em}h3{font-size:clamp(1.55rem,2.3vw,2rem);letter-spacing:-.03em}h4{font-size:1.05rem;font-weight:600;letter-spacing:-.015em}img{display:block;max-width:100%;height:auto}strong{font-weight:600}small{font-size:.875rem}ul,ol{padding-left:1.25rem}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);line-height:1.6}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:8px 18px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:sticky;z-index:10;top:0;background:#ffffffec;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 6px 24px #12243b0a}.header-inner{min-height:var(--header-size);display:flex;align-items:center;gap:36px}.wordmark{font-family:var(--serif);font-size:2.3rem;font-weight:bold;letter-spacing:-.1em;line-height:1}.wordmark span{color:var(--blue)}.header-inner nav{display:flex;gap:28px;margin-left:auto}.header-inner nav a{font-size:.875rem;color:var(--muted);position:relative;padding:9px 0}.header-inner nav a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header-inner nav a:hover,.header-inner nav a[aria-current]{color:var(--ink)}.header-inner nav a[aria-current]:after,.header-inner nav a:hover:after{transform:scaleX(1)}.edition-link{display:flex;gap:20px;align-items:center;color:var(--blue);background:#eef3ff;border:1px solid #d4e0f9;padding:9px 15px;font-size:.875rem;border-radius:5px;transition:background .2s,box-shadow .2s,transform .2s}.edition-link:hover{background:#e3ecff;box-shadow:var(--shadow);transform:translateY(-2px)}.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(var(--read-progress,0));transform-origin:left}
.hero{padding-top:clamp(32px,5.5vh,62px)}.hero-topline{display:flex;justify-content:space-between;gap:20px;align-items:center}.hero-topline p{margin:0}.location{font-size:.8125rem;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(50px,7vw,110px);padding:clamp(40px,6vh,76px) 0 60px;align-items:center}.hero-role{color:var(--muted);font-size:.9375rem;margin-bottom:14px}.hero h1{font-size:clamp(4.5rem,8vw,7.6rem);letter-spacing:-.065em;line-height:1.1;white-space:nowrap;margin-left:-.04em}.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.075em;color:var(--blue)}.hero-disciplines{margin-top:20px;font-size:.9375rem;color:var(--muted)}.hero-disciplines span{color:#9aa9bd;margin:0 7px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.button{display:inline-flex;justify-content:space-between;gap:26px;align-items:center;padding:12px 18px;border-radius:4px;font-size:.875rem;background:var(--blue);color:white;box-shadow:0 7px 18px #245bd428;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{background:var(--blue-dark);box-shadow:0 10px 22px #245bd43c;transform:translateY(-2px)}.text-link{display:inline-flex;gap:9px;align-items:center;font-size:.9375rem;border-bottom:1px solid #98afd4;padding-bottom:3px;color:var(--blue)}.text-link:hover{border-color:var(--blue)}.link-note{font-size:.75rem;color:var(--muted)}.hero-introduction{padding-top:12px}.hero-introduction h2{font-size:clamp(1.6rem,2.4vw,2.2rem);letter-spacing:-.035em;line-height:1.35;margin-bottom:22px}.hero-introduction>p{color:var(--muted);font-size:1rem;max-width:46ch}.current-work{display:grid;grid-template-columns:72px 1fr 18px;gap:10px;padding-top:20px;border-top:1px solid var(--line);line-height:1.5;font-size:.9375rem}.current-work small{color:var(--muted);font-size:.8125rem}.current-label{color:var(--blue);font-size:.75rem;font-weight:600;padding-top:3px}.current-work>span:last-child{color:var(--blue);transition:transform .2s}.current-work:hover>span:last-child{transform:translateY(3px)}
.section{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(56px,7vw,96px)}.section-heading{display:grid;grid-template-columns:240px 1fr;gap:56px;margin-bottom:52px;align-items:start}.section-heading>.eyebrow{padding-top:9px}.section-heading>div>p{color:var(--muted);max-width:57ch;margin:20px 0 0}.research-entry{display:grid;grid-template-columns:240px 1fr;gap:56px;padding:38px 0 40px;border-top:1px solid var(--line);scroll-margin-top:24px}.entry-meta>.eyebrow{margin-bottom:16px}.entry-date{display:block;font-size:.875rem;color:var(--muted)}.status{display:inline-block;margin-top:18px;font-size:.75rem;background:#ecf3ff;color:#244fa4;padding:4px 9px;border-radius:3px;line-height:1.6}.entry-role{color:var(--muted);font-size:.875rem;margin:10px 0 20px}.entry-lead{font-size:1.0625rem;max-width:68ch;line-height:1.8;margin-bottom:20px}.topic-list{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.8125rem;margin-bottom:20px}.topic-list span{display:inline-block}.topic-list span+span:before{content:'·';color:#8f9fb4;margin-right:18px}.project-detail{margin-top:22px}.project-detail>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;font-size:.875rem;color:var(--blue);padding:12px 0;min-height:44px;border-top:1px solid var(--line)}summary::-webkit-details-marker{display:none}.detail-icon{font-size:1.3rem;line-height:1;margin-left:auto;transition:transform .25s}.project-detail[open]>.summary .detail-icon,.project-detail[open]>summary .detail-icon{transform:rotate(45deg)}.detail-content{padding:20px 0 4px}.detail-content h4{margin:8px 0 14px}.detail-content p{color:var(--muted);max-width:72ch}.detail-content a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.detail-content code{background:#eaf0f8;padding:2px 5px;border-radius:3px;font-size:.875rem}.detail-content .subsection+.subsection{margin-top:26px}.contact-section{background:var(--navy);color:white;padding:70px 0;min-height:calc(100svh - var(--header-height));display:flex;align-items:center}.contact-section .eyebrow{color:#90b5ff}.contact-section h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:28px}.contact-email{font-size:clamp(1.2rem,3vw,2.5rem);letter-spacing:-.02em;border-bottom:1px solid #7588a2;padding-bottom:8px;display:inline-block}.contact-email span{display:inline-block;transition:transform .2s}.contact-email:hover span{transform:translate(4px,-4px)}.footer{display:flex;justify-content:space-between;gap:24px;padding-block:28px;font-size:.8125rem;color:var(--muted)}
@media(min-width:1600px){.hero-grid{padding-block:75px}.hero{padding-top:60px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header-inner{gap:24px}.header-inner nav{gap:20px}.hero-grid{gap:42px}.hero h1{font-size:clamp(4rem,8vw,6rem)}.hero-disciplines{font-size:.8125rem}.hero-disciplines span{margin:0 3px}.section-heading,.research-entry{grid-template-columns:195px 1fr;gap:36px}}
@media(max-width:800px){:root{--header-size:72px;--header-height:112px}.wrap{width:calc(100% - 40px)}.header-inner{flex-wrap:wrap;gap:0 20px;padding-top:12px;padding-bottom:8px}.wordmark{font-size:2rem}.edition-link{margin-left:auto;padding:6px 10px}.header-inner nav{order:3;flex:1 0 100%;justify-content:space-between;gap:16px;margin-top:8px}.header-inner nav a{font-size:.875rem;padding-block:5px}.hero-topline{align-items:start}.hero-topline .eyebrow{font-size:.75rem;max-width:32ch}.location{font-size:.75rem;text-align:right;max-width:13ch}.hero-grid{grid-template-columns:1fr;gap:30px;padding:36px 0}.hero h1{font-size:clamp(4.5rem,12vw,6.5rem)}.hero-disciplines{font-size:.875rem}.hero-introduction{border-top:1px solid var(--line);padding-top:28px}.hero-introduction h2{font-size:1.8rem}.hero-introduction>p{max-width:65ch}.current-work{max-width:520px}.section-heading,.research-entry{grid-template-columns:1fr;gap:20px}.section-heading{margin-bottom:36px}.section-heading>.eyebrow{padding:0;margin:0}.entry-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.entry-meta>.eyebrow{flex-basis:100%;margin-bottom:0}.entry-meta .status{margin-top:0}.research-entry{padding-top:28px;padding-bottom:30px}.contact-section{padding-block:48px}}
@media(max-width:400px){.hero h1{font-size:4rem}.hero-disciplines{font-size:.8125rem}.hero-actions{gap:20px}.edition-link{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Concise research summaries keep questions, contributions, and status easy to scan. */
.research-summary{margin:24px 0;max-width:72ch}
.research-summary>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;padding:10px 0}
.research-summary dt{font-size:.8125rem;line-height:1.75;color:var(--blue);font-weight:600;padding-top:2px}
.research-summary dd{margin:0;font-size:1rem;line-height:1.75}
.research-summary>div:last-child dd{color:var(--muted);font-size:.9375rem}
@media(max-width:560px){.research-summary>div{grid-template-columns:1fr;gap:4px;padding:10px 0}.research-summary dt{padding-top:0}}
@media print{.research-summary{margin:12px 0}.research-summary>div{grid-template-columns:84px 1fr;gap:12px;padding:5px 0}.research-summary dt,.research-summary dd,.research-summary>div:last-child dd{font-size:10pt}}

/* Full portfolio surfaces share the opening typography and spacing. */
.entry-overview p{max-width:72ch;font-size:1.0625rem;line-height:1.8}.research-sketch{width:min(400px,100%);margin:24px auto 30px;background:#f5f7fa;border-radius:4px;padding:12px}.research-sketch img{width:100%;object-fit:contain}.research-sketch figcaption{padding:0 12px 10px;text-align:center;font-size:.75rem;line-height:1.6;color:var(--muted)}
.reasoning-section{background:var(--navy);color:#fff}.reasoning-section .eyebrow{color:#91b6ff}.reasoning-section h2 em{color:#aebed5}.reasoning-section .section-heading>div>p{color:#bcc8d9}.reasoning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff29;margin-top:6px}.reasoning-card{padding:30px 30px 6px 0;position:relative;display:flex;flex-direction:column}.reasoning-card+.reasoning-card{padding-left:30px;border-left:1px solid #ffffff29}.reasoning-number{position:absolute;right:30px;top:19px;font:italic 3.7rem/1 var(--serif);color:#ffffff0c;margin:0;pointer-events:none}.reasoning-card h3{font-size:1.6rem;max-width:15ch;min-height:2.5em;letter-spacing:-.025em}.reasoning-card>.eyebrow{font-size:.75rem;max-width:26ch}.reasoning-chain{padding:0;margin:25px 0 26px;list-style:none;counter-reset:steps}.reasoning-chain li{position:relative;padding:0 0 20px 24px;border-left:1px solid #52657f;margin-left:4px}.reasoning-chain li:last-child{padding-bottom:0;border-left-color:transparent}.reasoning-chain li:before{content:'';position:absolute;top:7px;left:-4px;width:7px;height:7px;border-radius:50%;background:#8eb4ff;box-shadow:0 0 0 4px var(--navy)}.reasoning-chain strong{display:block;font-size:.875rem;line-height:1.6;font-weight:500}.reasoning-chain p{color:#bcc8d9;font-size:.9375rem;line-height:1.75;margin:4px 0 0}.reasoning-card>.text-link{align-self:start;margin-top:auto;color:#abcaff;border-color:#536e9a;font-size:.875rem}.reasoning-card>.text-link:hover{border-color:#abcaff}.code-feature{margin-top:64px;display:grid;grid-template-columns:300px 1fr;gap:45px;padding:36px;border:1px solid #ffffff29;background:#ffffff05;border-radius:6px;box-shadow:0 14px 38px #060f1e30;scroll-margin-top:24px}.code-label>p:not(.eyebrow){font-size:.875rem;color:#bcc8d9;margin-top:14px}.code-label .button{margin-top:8px;background:#dce8ff;color:#153057;box-shadow:none;font-size:.8125rem}.code-label .button:hover{background:#fff}.code-body>h4{margin:3px 0 18px;font-weight:500;font-size:1.2rem}.code-body p{color:#c5d0df;line-height:1.8}.reasoning-section code{background:#ffffff15;padding:2px 5px;border-radius:3px;font-size:.875rem;color:#e8f0ff}.reasoning-section .project-detail>summary{color:#abcaff;border-color:#ffffff29}.reasoning-section .detail-content p{color:#c5d0df}.reasoning-section .detail-content a{color:#abcaff}
.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}.experience-entry{padding:30px 0 28px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;scroll-margin-top:24px}.experience-entry>.eyebrow{font-size:.75rem;margin-bottom:16px}.experience-entry h3{font-size:1.55rem;max-width:28ch}.experience-entry .entry-role{line-height:1.7;margin-bottom:18px}.experience-overview{color:var(--muted)}.experience-overview>p:last-child{margin-bottom:12px}.experience-entry .project-detail{margin-top:auto}.experience-entry .detail-content{padding-top:12px}.experience-entry .entry-role span{color:var(--muted)}.presentations-section{background:var(--wash);border-block:1px solid var(--line)}.presentations-section .section{padding-block:64px}.presentations-section h2{font-size:clamp(1.8rem,3vw,2.7rem)}.presentations-section .section-heading{margin-bottom:32px}.presentation-list{list-style:none;padding:0;margin:0 0 0 296px}.presentation-list li{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}.presentation-year{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--blue);line-height:1.5}.presentation-list h3{font-size:1.125rem;line-height:1.6;letter-spacing:-.015em}.presentation-list p{margin:10px 0 5px;color:var(--muted);font-size:.875rem}.presentation-list li>div>span{display:block;font-size:.8125rem;color:var(--muted);line-height:1.7}
.qualification-page{margin-left:296px}.qualification-card{padding:26px 0 30px;border-top:1px solid var(--line)}.qualification-card header{display:flex;align-items:center;gap:20px}.credential-mark{width:58px;height:62px;display:grid;place-items:center;background:#f0f4fb;color:var(--blue);font-family:var(--serif);font-size:1.65rem;border-radius:3px;flex-shrink:0}.credential-status{font-size:.75rem;letter-spacing:.045em;color:var(--muted);margin:0 0 6px}.qualification-card h3{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.35}.qualification-detail{margin:22px 0;color:var(--muted);font-size:.9375rem}.qualification-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 25px;gap:20px}.qualification-subjects>div{border-left:2px solid #bdcef0;padding-left:14px}.qualification-subjects dt{font-size:.75rem;color:var(--muted);margin-bottom:4px}.qualification-subjects dd{font-size:1.0625rem;margin:0;font-weight:500;line-height:1.5}.qualification-honor{color:#2957a5;font-size:.875rem;margin:0}.qualification-card.is-complete{margin-top:10px}.qualification-award{color:var(--muted);margin:20px 0 0}
.skills-section{background:var(--wash);border-block:1px solid var(--line)}.skills-columns{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-left:296px}.skill-column-label{font-size:.9375rem;color:var(--blue);font-weight:600;border-bottom:2px solid #b4c9ed;padding-bottom:14px;margin-bottom:28px}.skill-group{margin-bottom:30px}.skill-group:last-child{margin-bottom:0}.skill-group h3{font-size:1rem;font-weight:600;line-height:1.4;letter-spacing:-.015em}.skill-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin-top:14px}.skill-tags>li{padding:4px 13px;border:1px solid #cbd7e8;background:#fff;border-radius:3px;color:var(--ink);font-size:.875rem}.skill-list{color:var(--muted);font-size:.9375rem;margin-top:14px;line-height:1.85}.skill-list li+li{margin-top:7px}.skill-list li::marker{color:#95a9c5}.skill-list strong{color:var(--ink);font-weight:500}
.contact-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:100px;align-items:center}.contact-grid>div>p:not(.eyebrow){color:#bac8d9}.contact-github{display:table;color:#cbdcf7;margin-top:24px;font-size:.9375rem;border-bottom:1px solid #597292}.contact-github:hover{color:#fff;border-color:#abcaff}.cv-note{border-left:1px solid #52627c;padding-left:34px}.cv-note>a{font-size:1.5rem;display:block;margin-bottom:10px}.cv-note>a:hover{color:#a8c7ff}.cv-note>span{font-size:.8125rem;color:#bac8d9}.cv-note>p:last-child{font-size:.8125rem;color:#a9bad1;margin-top:20px;line-height:1.8;max-width:35ch}
/* Motion is enhancement-only: reading never waits for an animation. */
@keyframes soft-arrival{from{opacity:.45;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes detail-arrival{from{opacity:.4;transform:translateY(-5px)}to{opacity:1;transform:none}}
.reveal.is-arriving{animation:soft-arrival .6s cubic-bezier(.22,.7,.2,1) both}.project-detail[open]>.detail-content{animation:detail-arrival .25s ease-out}.hero-identity{animation:soft-arrival .65s ease-out}.hero-introduction{animation:soft-arrival .8s ease-out}
@media(min-width:1500px){.skills-columns{gap:70px}.code-feature{grid-template-columns:350px 1fr}}
@media(max-width:1100px){.header-inner{gap:24px}.header-inner nav{gap:18px}.presentation-list,.qualification-page,.skills-columns{margin-left:231px}.skills-columns{gap:38px}.reasoning-card{padding-right:20px}.reasoning-card+.reasoning-card{padding-left:20px}.reasoning-card h3{font-size:1.35rem}.code-feature{padding:28px;grid-template-columns:245px 1fr;gap:30px}.experience-grid{column-gap:36px}.contact-grid{gap:50px}}
@media(max-width:800px){.header-inner nav{gap:0 10px;flex-wrap:wrap}.header-inner nav a{font-size:.875rem}.reasoning-grid{grid-template-columns:1fr;border-top:0;gap:32px}.reasoning-card,.reasoning-card+.reasoning-card{border-top:1px solid #ffffff29;border-left:0;padding:25px 0 0}.reasoning-card h3{font-size:1.6rem;max-width:none;min-height:0}.reasoning-card>.eyebrow{max-width:none}.reasoning-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-block:20px}.reasoning-chain li{border-left:0;border-top:1px solid #52657f;padding:18px 0 0;margin:0}.reasoning-chain li:last-child{border-left:0}.reasoning-chain li:before{top:-4px;left:0}.reasoning-chain p{font-size:.875rem}.code-feature{grid-template-columns:1fr;padding:24px;margin-top:40px;gap:26px}.code-label .button{margin-top:2px}.code-body>h4{border-top:1px solid #ffffff29;padding-top:24px}.experience-grid{gap:0 26px}.presentation-list,.qualification-page,.skills-columns{margin-left:0}.skills-columns{gap:32px}.presentation-list li{grid-template-columns:46px 1fr;gap:16px}.presentations-section .section{padding-block:50px}.qualification-subjects{gap:14px}.contact-grid{grid-template-columns:1fr;gap:44px}.cv-note{padding-left:22px}.cv-note>p:last-child{max-width:52ch}.footer>span:nth-child(2){display:none}}
@media(max-width:560px){.experience-grid,.skills-columns{grid-template-columns:1fr}.skills-columns{gap:42px}.reasoning-chain{grid-template-columns:1fr;gap:0}.reasoning-chain li{border-top:0;border-left:1px solid #52657f;padding:0 0 20px 24px;margin-left:4px}.reasoning-chain li:last-child{border-left-color:transparent;padding-bottom:0}.reasoning-chain li:before{top:7px;left:-4px}.reasoning-chain p{font-size:.9375rem}.qualification-subjects{grid-template-columns:1fr;gap:16px}.credential-mark{width:46px;height:52px;font-size:1.3rem}.qualification-card header{gap:14px}.credential-status{font-size:.75rem}.qualification-card h3{font-size:1.3rem}.topic-list{gap:6px 12px}.topic-list span+span:before{margin-right:12px}.hero-disciplines{max-width:34ch}.hero h1{white-space:normal}.entry-meta{gap:7px 14px}}

/* Four equal entry points, including the illustrated edition. */
.discipline-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.discipline-index>a{display:flex;align-items:flex-start;gap:14px;padding:24px 18px;min-width:0;transition:background .25s}
.discipline-index>a+a{border-left:1px solid var(--line)}
.discipline-index>a>span:nth-child(2){min-width:0}
.discipline-index strong{display:block;font-size:1rem;line-height:1.5}
.discipline-index small{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:4px}
.discipline-index .index-number{display:block;flex:none;font:italic .9375rem/1.6 var(--serif);color:var(--blue);padding-top:2px}
.discipline-index .index-arrow{display:block;flex:none;color:#8b9ab0;margin-left:auto;transition:transform .25s,color .25s}
.discipline-index>a:hover{background:var(--wash)}
.discipline-index>a:hover .index-arrow{transform:translate(2px,2px);color:var(--blue)}
.discipline-index .index-illustrated{background:#f1f5ff}
.discipline-index .index-illustrated strong,.discipline-index .index-illustrated .index-arrow{color:var(--blue)}
.discipline-index .index-illustrated:hover{background:#e7efff}
.discipline-index .index-illustrated:hover .index-arrow{transform:translate(2px,-2px)}
@media(max-width:1100px){
 .discipline-index{grid-template-columns:repeat(2,minmax(0,1fr))}
 .discipline-index>a:nth-child(odd){border-left:0}
 .discipline-index>a:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:560px){
 .discipline-index{grid-template-columns:minmax(0,1fr)}
 .discipline-index>a{padding:18px 14px;gap:14px}
 .discipline-index>a+a{border-left:0;border-top:1px solid var(--line)}
}

@media print{html{scroll-behavior:auto}body{font-size:10pt;line-height:1.5}.wrap{width:100%;max-width:none}.site-header,.discipline-index,.hero-actions,.reading-progress,.footer,.current-work{display:none}.hero{padding:0}.hero-grid{padding:20px 0;gap:25px}.hero h1{font-size:38pt}.hero-topline{margin-top:0}.hero-grid{grid-template-columns:1fr 1fr}.hero-introduction h2{font-size:17pt}.section{padding:24px 0}.section-heading{display:block;margin-bottom:20px}.section-heading h2{font-size:23pt}.research-entry{grid-template-columns:150px 1fr;gap:24px;padding:20px 0}.entry-content h3{font-size:17pt}.entry-overview p,.detail-content p{font-size:10pt}.reasoning-section,.skills-section,.presentations-section,.contact-section{background:white;color:var(--ink)}.reasoning-section *,.contact-section *{color:var(--ink)!important}.reasoning-grid{gap:20px}.reasoning-card{padding:12px 0!important;border:0!important}.reasoning-card h3{font-size:14pt;min-height:0}.reasoning-chain p{font-size:9pt}.reasoning-card .text-link,.reasoning-number,.detail-icon{display:none}.code-feature{padding:20px 0;grid-template-columns:180px 1fr;margin-top:25px;box-shadow:none;border-color:var(--line)}.code-label .button{display:none}.qualification-page,.skills-columns,.presentation-list{margin-left:0}.skills-columns{gap:35px}.project-detail>summary{font-size:10pt}.project-detail .detail-content{display:block!important}.research-sketch{max-width:220px;break-inside:avoid}.entry-content h3,.skill-group h3{break-after:avoid}.qualification-card,.presentation-list li{break-inside:avoid}.contact-section{padding-block:22px;min-height:0;display:block}.contact-grid{gap:25px}.contact-grid h2{font-size:24pt}.contact-email{font-size:16pt}.reveal{animation:none!important;opacity:1!important;transform:none!important}@page{margin:16mm}}
