:root{color-scheme:light;--ink:#17191d;--muted:#666c75;--blue:#2468ed;--line:#dee1e5;--paper:#fff;--soft:#f5f6f8;--dark:#0b0c0e;--shell:1320px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
h2[id]{scroll-margin-top:145px}
body{margin:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,a{ -webkit-tap-highlight-color:transparent }
a:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:3px}
figure,p,h1,h2,h3{margin:0}
.shell{width:min(calc(100% - 96px),var(--shell));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-60px;z-index:200;background:#fff;padding:12px 18px;border-radius:10px}
.skip-link:focus{top:16px}
.scroll-progress{position:fixed;z-index:110;top:0;left:0;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;pointer-events:none}
.site-header{position:sticky;top:0;z-index:100;height:74px;background:rgba(255,255,255,.91);border-bottom:1px solid rgba(22,25,30,.09);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px)}
.header-inner{height:100%;display:flex;align-items:center;gap:52px}
.brand{font-size:1.18rem;font-weight:720;letter-spacing:-.055em;white-space:nowrap}
.brand-dot{color:var(--blue)}
.site-nav{display:flex;align-items:center;gap:32px;margin-inline:auto;font-size:.87rem;color:#4b515a}
.site-nav a:hover,.header-contact:hover{color:var(--blue)}
.header-contact{font-size:.87rem;font-weight:650;white-space:nowrap}
.header-contact span{margin-left:8px}
.overline{font-size:.84rem;font-weight:650;letter-spacing:.025em;line-height:1.4}
.overline-divider{color:#848990;margin:0 10px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 10%,#24282e 0,transparent 35%),var(--dark);color:#f5f6f7;min-height:calc(100svh - 74px);display:flex;flex-direction:column}
.hero-content{flex:1;display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);align-items:center;gap:clamp(44px,6vw,98px);padding-top:clamp(68px,8vw,120px);padding-bottom:60px}
.hero-copy{padding-bottom:36px}
.hero-overline{color:#abb2bc;margin-bottom:32px}
.hero h1{font-size:clamp(4.2rem,6.2vw,7.5rem);font-weight:720;letter-spacing:-.078em;line-height:.99;max-width:750px}
.hero h1 span{color:#a9b6ca}
.hero-lede{font-size:clamp(1.12rem,1.55vw,1.45rem);line-height:1.56;letter-spacing:-.025em;color:#c3c7ce;max-width:610px;margin-top:34px}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:38px}
.pill-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border-radius:999px;padding:15px 23px;font-size:.91rem;font-weight:650;transition:transform .25s,background .25s,box-shadow .25s}
.pill-button:hover{transform:translateY(-3px)}
.pill-button-light{background:#f5f7fa;color:#14171b}
.pill-button-light:hover{background:#fff;box-shadow:0 10px 30px rgba(255,255,255,.14)}
.pill-button-dark{background:#191c20;color:#fff}
.pill-button-dark:hover{background:#343b44;box-shadow:0 12px 25px rgba(0,0,0,.13)}
.subtle-link{font-size:.9rem;font-weight:580;color:#d1d5db;border-bottom:1px solid #737b86;padding-bottom:4px}
.subtle-link span{margin-left:9px}
.subtle-link:hover{color:#fff;border-color:#fff}
.hero-figure{background:#fff;color:var(--ink);border:1px solid rgba(255,255,255,.22);border-radius:22px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.38);transform:translateY(var(--hero-shift,0px))}
.hero-image-wrap{padding:clamp(14px,2vw,28px);background:#fff}
.hero-image-wrap img{width:100%;height:auto;object-fit:contain}
.diagram-panel{display:grid;place-items:center;min-height:450px;padding:24px;background:#f7f9fb}
.beacon-diagram{display:block;width:100%;height:auto;max-height:510px}
.diagram-branch{fill:none;stroke:#566474;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.beacon-diagram .diagram-branch{stroke:#455869;stroke-width:9}
.diagram-node{fill:#fff;stroke:#455869;stroke-width:6}
.diagram-sensor{fill:#e9b94f;stroke:#334151;stroke-width:3}
.diagram-label{fill:#8a95a2;font-family:inherit;font-size:23px;font-weight:650;letter-spacing:2px}
.js-reveal .hero-figure .beacon-diagram .diagram-sensor{opacity:0;transition:opacity .6s ease .6s}
.js-reveal .hero-figure.is-visible .beacon-diagram .diagram-sensor{opacity:1}
.hero-figure figcaption{display:flex;justify-content:space-between;gap:18px;align-items:baseline;border-top:1px solid #e8e9eb;padding:18px 25px;font-size:.77rem;color:#737982}
.hero-figure figcaption strong{font-size:.82rem;color:#21252b;font-weight:680;white-space:nowrap}
.hero-bottom{display:flex;align-items:center;gap:22px;color:#8c949e;font-size:.76rem;padding-bottom:30px}
.hero-bottom-line{height:1px;flex:1;background:rgba(255,255,255,.15)}
.section-pad{padding-block:clamp(110px,12vw,190px)}
.intro-section{background:#fff}
.intro-grid{display:grid;grid-template-columns:1fr 3fr;gap:60px}
.intro-grid>.overline{color:var(--blue);padding-top:15px}
.intro-grid h2,.publication-grid h2,.experience-heading h2,.evidence-grid h2,.contact-grid h2{font-size:clamp(3.5rem,6.5vw,7.5rem);letter-spacing:-.078em;line-height:1.02;font-weight:710}
.intro-grid h2 span,.publication-grid h2 span,.evidence-grid h2 span,.contact-grid h2 span{color:#8d949e}
.intro-grid p:not(.overline){max-width:780px;font-size:clamp(1.2rem,1.7vw,1.6rem);line-height:1.56;letter-spacing:-.035em;color:#626873;margin-top:38px}
.research-chapter{border-top:1px solid var(--line)}
.chapter-transfer{background:#f7f8fa}
.chapter-sensing{background:#fff}
.chapter-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:clamp(60px,8vw,150px);align-items:start}
.chapter-grid-reverse{grid-template-columns:minmax(0,.75fr) minmax(0,1fr)}
.chapter-copy{position:sticky;top:125px}
.chapter-copy .overline{color:#646c78}
.chapter-number{display:inline-flex;align-items:center;justify-content:center;background:#e5eaf3;color:#1e5fd2;border-radius:100%;width:32px;height:32px;margin-right:12px;font-size:.78rem}
.chapter-copy h2{font-size:clamp(3.4rem,5.1vw,6.5rem);font-weight:715;letter-spacing:-.077em;line-height:1.04;margin:24px 0 38px}
.chapter-copy h2 span{color:#8c949e}
.chapter-copy>p:not(.overline){font-size:clamp(1.02rem,1.26vw,1.18rem);line-height:1.74;color:#555c66;max-width:540px;margin-bottom:22px}
.inline-link{display:inline-flex;gap:16px;align-items:center;color:#155bcf;font-size:.96rem;font-weight:630;border-bottom:1px solid #8fb5f4;padding-bottom:6px;margin-top:16px}
.inline-link:hover{color:#003f9f;border-color:#003f9f}
.inline-reference{display:block;margin-top:22px;color:#747c86;font-size:.91rem}
.chapter-media{display:grid;gap:38px}
.data-figure{background:#fff;border:1px solid #e6e9ed;border-radius:22px;overflow:hidden;box-shadow:0 16px 50px rgba(24,36,54,.055)}
.data-figure-top{display:flex;justify-content:space-between;gap:15px;align-items:baseline;border-bottom:1px solid #ecedf0;padding:19px 24px;font-size:.81rem;color:#858c96}
.data-figure-top span:first-child{font-size:.91rem;font-weight:660;color:#262b31}
.data-figure img{width:100%;height:auto;background:#fff}
.data-figure figcaption{padding:17px 24px 21px;border-top:1px solid #ecedf0;color:#626a75;font-size:.85rem;line-height:1.48}
.signal-stack{padding:24px 26px 25px;display:grid;gap:26px;background:#fff}
.signal-item+.signal-item{border-top:1px solid #e5e9ef;padding-top:25px}
.signal-item-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px}
.signal-item-heading strong{font-size:.95rem;font-weight:680;color:#252d36}
.signal-item-heading span{font-size:.79rem;color:#78818d}
.signal-item svg{display:block;width:100%;height:auto;overflow:visible}
.signal-baseline{fill:none;stroke:#dbe1e8;stroke-width:2}
.signal-path{fill:none;stroke-width:4.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.signal-path-sim{stroke:#42719c}
.signal-path-measured{stroke:#b36e48}
.story-note{border-left:3px solid #aebcd0;padding:14px 0 14px 23px;color:#59636e}
.story-note span{display:block;color:#71849d;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px}
.story-note p{font-size:1.02rem;line-height:1.6;max-width:570px}
.qleak-diagram-wrap{padding:24px;background:#fdfefe}
.qleak-diagram{display:block;width:100%;height:auto}
.qleak-diagram .diagram-branch{stroke:#9ca8b5;stroke-width:8}
.qleak-diagram .diagram-node{fill:#fff;stroke:#485666;stroke-width:6}
.chapter-conclusion{margin-top:clamp(80px,9vw,140px);max-width:var(--shell)}
.chapter-conclusion .overline{color:#4c6f9b}
.chapter-conclusion h3{max-width:980px;font-size:clamp(2.1rem,3.3vw,4.15rem);font-weight:665;letter-spacing:-.065em;line-height:1.15;margin-top:17px}
.result-strip{display:grid;grid-template-columns:1fr auto;gap:24px 55px;align-items:center;margin-top:42px;padding:40px 48px;background:#e9eef7;border-radius:24px}
.result-label{font-weight:690;font-size:1.05rem}
.result-strip p:not(.result-caveat),.comparison-head p{margin-top:8px;color:#5e6774;font-size:.9rem}
.result-values{display:flex;align-items:center;gap:22px;white-space:nowrap;color:#29384e}
.result-values strong{font-size:clamp(2.3rem,3.5vw,4.2rem);letter-spacing:-.08em;font-weight:690;color:#121922}
.result-values small{display:block;font-size:.75rem;color:#6a7482}
.result-arrow{font-size:1.8rem;color:#8e9cb0}
.result-caveat{grid-column:1/-1;border-top:1px solid #ced6e2;padding-top:18px;color:#6b7480;font-size:.77rem;line-height:1.45}
.comparison{margin-top:42px;background:#f4f6f9;border:1px solid #e7eaef;border-radius:24px;padding:42px 48px}
.comparison-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:45px}
.comparison-unit{color:#8d949e;font-size:1.2rem}
.comparison-row{display:grid;grid-template-columns:210px 1fr 70px;align-items:center;gap:26px;font-size:.91rem;margin-bottom:22px}
.comparison-row strong{text-align:right;font-size:1.1rem;font-variant-numeric:tabular-nums}
.comparison-track{height:11px;border-radius:999px;background:#e1e5eb;overflow:hidden}
.comparison-track>span{display:block;width:var(--bar-width);height:100%;background:#8c99a9;border-radius:inherit}
.comparison-row-accent .comparison-track>span{background:#2468ed}
.comparison-row-accent strong{color:#175ccf}
.comparison .result-caveat{margin-top:33px}
.publication-section{background:#f0f2f5}
.publication-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(70px,10vw,180px);align-items:start}
.publication-grid .overline,.experience-heading .overline,.evidence-grid .overline,.contact-grid .overline{color:var(--blue);margin-bottom:27px}
.publication-grid>div>p:not(.overline){font-size:1.18rem;line-height:1.7;color:#626a74;margin-top:36px;max-width:490px}
.publication-card{background:#fff;border:1px solid #e2e5e9;border-radius:22px;padding:clamp(30px,4vw,58px);box-shadow:0 25px 70px rgba(25,38,58,.06)}
.publication-card>p:first-child{font-size:.83rem;font-weight:650;color:#5a626f}
.publication-card h3{font-size:clamp(1.55rem,2.4vw,2.65rem);line-height:1.2;letter-spacing:-.05em;font-weight:675;margin:27px 0 22px}
.publication-card>p:nth-of-type(2){font-size:.91rem;line-height:1.55;color:#6f7681}
.publication-card .inline-link{margin-top:32px}
.experience-section{background:#101216;color:#f6f7f8}
.experience-heading h2 span{color:#737a85}
.experience-list{margin-top:80px}
.experience-item{display:grid;grid-template-columns:180px minmax(0,800px);gap:70px;padding:35px 0;border-top:1px solid #343a42}
.experience-date{font-size:.85rem;color:#939aa4;padding-top:6px}
.experience-item h3{font-size:clamp(1.45rem,2vw,2.1rem);font-weight:650;letter-spacing:-.04em}
.experience-place{margin-top:9px;color:#aeb5bf;font-size:.91rem}
.experience-item div>p:last-child{color:#929ba6;font-size:1rem;line-height:1.65;max-width:690px;margin-top:20px}
.education-line{display:grid;grid-template-columns:180px 1fr;gap:70px;border-top:1px solid #343a42;padding-top:35px;margin-top:25px;line-height:1.9;color:#aeb5bf;font-size:.92rem}
.education-line strong{color:#f6f7f8;font-weight:620}
.evidence-section{background:#fff}
.evidence-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(55px,7vw,110px);align-items:center}
.evidence-copy h2{font-size:clamp(2.35rem,4.8vw,5rem)}
.evidence-copy>p:not(.overline){max-width:520px;margin-top:35px;font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.7;color:#5c636e}
.evidence-copy .pill-button{margin-top:36px}
.evidence-figure{min-width:0;overflow:hidden;background:#f6f8fb;border:1px solid #e3e8ef;border-radius:24px;box-shadow:0 22px 70px rgba(22,34,51,.065)}
.evidence-figure-top{display:flex;justify-content:space-between;gap:16px;padding:23px 26px;border-bottom:1px solid #e3e8ef;color:#77818d;font-size:.79rem}
.evidence-figure-top span:first-child{font-weight:680;color:#252b34}
.evidence-node-graph{display:block;width:100%;height:auto;padding:12px 16px}
.evidence-edge{fill:none;stroke:#bcc8d8;stroke-width:2.5;stroke-linecap:round}
.evidence-edge-dot{fill:#c9d4e3}
.evidence-node circle{stroke-width:2.5}
.evidence-node text{font-size:18px;font-weight:700;fill:#fff}
.evidence-node-paper circle{fill:#242d3d;stroke:#242d3d}
.evidence-node-source circle{fill:#fff;stroke:#5285c4}
.evidence-node-concept circle{fill:#dbe9fb;stroke:#5285c4}
.evidence-node-answer circle{fill:#2468ed;stroke:#2468ed}
.evidence-graph-label{fill:#647083;font-size:15px;font-weight:610}
.evidence-figure figcaption{border-top:1px solid #e3e8ef;padding:16px 26px 19px;font-size:.81rem;color:#77818d;line-height:1.45}
.contact-section{background:#e9edf3}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(70px,10vw,170px);align-items:end}
.contact-grid>div:last-child>p{font-size:clamp(1.1rem,1.55vw,1.45rem);line-height:1.65;color:#59626d}
.contact-actions{display:flex;gap:36px;margin-top:36px}
.contact-actions a{font-weight:670;border-bottom:1px solid #9aabbf;padding-bottom:6px}
.contact-actions a:hover{color:var(--blue);border-color:var(--blue)}
.contact-actions span{margin-left:9px}
.site-footer{background:#e9edf3;border-top:1px solid #d3d8e1}
.footer-inner{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-block:27px;color:#6c747e;font-size:.78rem}
.footer-inner a:hover{color:var(--blue)}
.js-reveal .reveal{opacity:0;transform:translateY(38px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js-reveal .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1050px){
 .shell{width:min(calc(100% - 64px),var(--shell))}
 .site-nav{gap:18px}
 .hero-content{gap:36px}
 .hero h1{font-size:clamp(3.7rem,6.4vw,5.6rem)}
 .hero-figure figcaption{display:block}
 .hero-figure figcaption span{display:block;margin-top:4px}
 .chapter-grid,.chapter-grid-reverse{gap:55px}
 .chapter-copy{top:105px}
 .chapter-copy h2{font-size:clamp(3rem,5vw,4.5rem)}
}
@media(max-width:760px){
 .shell{width:min(calc(100% - 40px),var(--shell))}
 .site-header{height:64px}
 .header-inner{gap:15px}
 .brand{font-size:1.05rem}
 .site-nav{margin-left:auto;gap:17px}
 .site-nav a:nth-child(2),.site-nav a:nth-child(3),.site-nav a:nth-child(4){display:none}
 .header-contact{font-size:.82rem}
 .hero{min-height:0}
 .hero-content{grid-template-columns:1fr;padding-top:82px;padding-bottom:50px;gap:54px}
 .hero-copy{padding:0}
 .hero h1{font-size:clamp(3.5rem,11vw,6rem)}
 .hero-overline{margin-bottom:23px}
 .hero-lede{margin-top:28px}
 .hero-figure{max-width:650px}
 .diagram-panel{min-height:0}
 .hero-bottom{padding-bottom:25px}
 .section-pad{padding-block:95px}
 .intro-grid,.chapter-grid,.chapter-grid-reverse,.publication-grid,.evidence-grid,.contact-grid{grid-template-columns:1fr;gap:38px}
 .intro-grid h2,.publication-grid h2,.experience-heading h2,.evidence-grid h2,.contact-grid h2{font-size:clamp(3.3rem,9vw,5.3rem)}
 .chapter-copy{position:static}
 .chapter-copy h2{font-size:clamp(3.3rem,8.5vw,5.3rem);margin-bottom:26px}
 .chapter-media{gap:22px}
 .data-figure{border-radius:16px}
 .result-strip,.comparison{margin-top:35px;padding:27px;border-radius:18px}
 .result-strip{grid-template-columns:1fr}
 .result-values{justify-content:space-between}
 .publication-grid{gap:47px}
 .evidence-grid{gap:48px}
 .experience-list{margin-top:52px}
 .experience-item,.education-line{grid-template-columns:1fr;gap:15px}
 .experience-item{padding-block:28px}
 .education-line{margin-top:0}
}
@media(max-width:520px){
 .shell{width:min(calc(100% - 32px),var(--shell))}
 .site-nav{display:none}
 .header-contact{margin-left:auto}
 .hero-content{padding-top:65px}
 .hero h1{font-size:clamp(3.2rem,12vw,4.5rem)}
 .hero-actions{gap:20px}
 .hero-figure{border-radius:14px}
 .hero-image-wrap{padding:8px}
 .diagram-panel{padding:8px}
 .hero-figure figcaption{padding:12px 14px}
 .hero-bottom{font-size:.66rem}
 .section-pad{padding-block:76px}
 .intro-grid h2,.publication-grid h2,.experience-heading h2,.evidence-grid h2,.contact-grid h2{font-size:clamp(3rem,11vw,4.2rem)}
 .chapter-copy h2{font-size:clamp(3rem,11vw,4.2rem)}
 .data-figure-top{padding:13px 15px;font-size:.7rem}
 .data-figure-top span:first-child{font-size:.78rem}
 .data-figure figcaption{padding:12px 15px;font-size:.76rem}
 .signal-stack{padding:18px 15px;gap:18px}
 .signal-item+.signal-item{padding-top:18px}
 .signal-item-heading{display:block;margin-bottom:11px}
 .signal-item-heading span{display:block;margin-top:3px;font-size:.7rem}
 .qleak-diagram-wrap{padding:12px}
 .evidence-figure{border-radius:18px}
 .evidence-figure-top{padding:16px 17px;font-size:.73rem}
 .evidence-node-graph{padding:8px}
 .evidence-figure figcaption{padding:13px 17px 16px;font-size:.74rem}
 .chapter-conclusion h3{font-size:clamp(2rem,9vw,3rem)}
 .result-strip,.comparison{padding:23px}
 .result-strip{grid-template-columns:minmax(0,1fr)}
 .result-strip>*{min-width:0}
 .result-values{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;white-space:normal}
 .result-values small{line-height:1.35}
 .result-values strong{font-size:2.55rem}
 .result-arrow{font-size:1.2rem}
 .comparison-row{grid-template-columns:1fr 50px;gap:8px 14px}
 .comparison-row>span:first-child{grid-column:1/2}
 .comparison-row .comparison-track{grid-row:2;grid-column:1/-1}
 .comparison-row strong{grid-row:1;grid-column:2}
 .footer-inner{flex-wrap:wrap}
 .footer-inner span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-reveal .reveal{opacity:1;transform:none;transition:none}.pill-button{transition:none}.hero-figure{transform:none}.js-reveal .hero-figure .beacon-diagram .diagram-sensor{opacity:1;transition:none}}
