:root{--bg:#f4f6fa;--surface:#fff;--ink:#1a2235;--muted:#5b6577;--accent:#5f74c2;--accent-soft:#e4e9f7;--line:#e2e6ee;--section-alt:#eef1f7;--hero-bg:#1a2235;--hero-ink:#f3f5fa;--hero-muted:#aab4cc;--hero-line:#3a4660;--max:1480px}*{box-sizing:border-box}html{max-width:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:96px}body{max-width:100%;margin:0;overflow-x:clip;background:var(--bg);color:var(--ink);font:17px/1.65 "Libre Franklin",Inter,system-ui,-apple-system,sans-serif}body.dialog-open{overflow:hidden}a{color:inherit}.site-header{height:86px;padding:0 max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:35px;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(226,230,238,.85);background:rgba(244,246,250,.94);backdrop-filter:blur(14px);transition:.2s}.site-header.scrolled{box-shadow:0 8px 32px rgba(26,34,53,.08)}.site-brand{display:flex;align-items:center;gap:14px;text-decoration:none}.site-brand>span:last-child,.site-brand strong,.site-brand small{display:block}.site-brand strong{font-size:17px}.site-brand small{margin-top:2px;color:var(--muted);font:10px/1.2 ui-monospace,monospace;letter-spacing:1.6px;text-transform:uppercase}.brand-mark,.profile-mark{display:inline-flex;align-items:center;justify-content:center;border-block:2px solid var(--accent);color:var(--accent);font-weight:750;letter-spacing:2px}.brand-mark{width:46px;height:44px;font-size:22px}.site-nav{display:flex;align-items:center;gap:32px}.site-nav a{position:relative;color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--accent);transition:.2s}.site-nav a:hover:after{right:0}.menu-button{display:none;border:0;background:transparent;color:var(--ink)}
.hero-copy,.profile-card{min-width:0}.hero{width:100%;min-height:calc(100vh - 86px);padding:clamp(70px,8vw,135px) max(38px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:minmax(0,1.34fr) minmax(420px,.86fr);gap:clamp(60px,9vw,160px);align-items:center;background:var(--hero-bg);color:var(--hero-ink)}.eyebrow{display:block;color:var(--accent);font:650 13px/1.35 ui-monospace,monospace;letter-spacing:4.4px;text-transform:uppercase}.hero h1{overflow-wrap:anywhere;hyphens:auto;max-width:940px;margin:42px 0 28px;font-size:clamp(61px,6.5vw,116px);font-weight:650;line-height:.93;letter-spacing:-.055em}.hero-lead{max-width:940px;color:var(--hero-muted);font-size:clamp(19px,1.65vw,28px);line-height:1.7}.rich-text p{margin:0 0 1.1em}.rich-text p:last-child{margin-bottom:0}.rich-text a{color:var(--accent)}.hero-actions{display:flex;gap:16px;margin-top:46px}.button{min-height:66px;padding:17px 34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid;border-radius:8px;font-size:16px;font-weight:750;text-decoration:none}.button-accent{border-color:var(--accent);background:var(--accent);color:#fff}.button-outline{border-color:var(--hero-line);color:var(--hero-ink)}.profile-card{overflow:hidden;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 26px 65px rgba(4,9,23,.28)}.profile-card-head{padding:76px 54px 58px;text-align:center;background:var(--accent-soft)}.profile-mark{width:130px;height:84px;font-size:58px}.profile-card h2{margin:34px 0 8px;font-size:37px;line-height:1.15}.profile-card p{margin:0;color:var(--accent);font:650 12px/1.4 ui-monospace,monospace;letter-spacing:3px;text-transform:uppercase}.profile-card ul{list-style:none;margin:0;padding:24px 54px 48px}.profile-card li{position:relative;padding:15px 0 15px 34px;border-bottom:1px solid var(--line);font-size:20px}.profile-card li:before,.credentials li:before{content:"◆";position:absolute;left:0;color:var(--accent);font-size:10px}.profile-card li:last-child{border-bottom:0}
.section{padding:clamp(100px,10vw,180px) max(38px,calc((100vw - var(--max))/2))}.section-heading{max-width:1000px;margin-bottom:80px}.section-heading h2,.person-copy h2,.contact-copy h2{margin:30px 0 0;font-size:clamp(48px,5vw,79px);line-height:1.05;letter-spacing:-.035em}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-card{min-height:430px;padding:48px 40px;border:1px solid var(--line);border-radius:18px;background:#fff}.service-card>span{color:var(--accent);font:600 14px ui-monospace,monospace}.service-card h3{margin:34px 0 20px;font-size:29px;line-height:1.2}.service-card p{margin:0;color:var(--muted);font-size:19px;line-height:1.68}
.person-section{display:grid;grid-template-columns:minmax(380px,.85fr) minmax(0,1.15fr);gap:clamp(55px,7vw,110px);align-items:center;background:var(--section-alt)}.portrait-wrap{aspect-ratio:4/5;overflow:hidden;border-radius:18px;box-shadow:0 26px 60px rgba(26,34,53,.13)}.portrait-wrap img{width:100%;height:100%;display:block;object-fit:cover}.portrait-placeholder{width:100%;height:100%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:100px}.person-copy h2{max-width:900px}.person-text{margin-top:38px;color:var(--ink);font-size:21px;line-height:1.7}.person-text p+ p{color:var(--muted)}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:0 38px;list-style:none;margin:48px 0 0;padding:0;border-top:1px solid var(--line)}.credentials li{position:relative;padding:14px 12px 14px 28px;border-bottom:1px solid var(--line)}.credentials li:before{top:20px}
.publications-section{background:#f7f8fb}.publications-heading{max-width:none;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px}.publications-heading p{margin:0;color:var(--muted);font-size:19px}.publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.publication-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:#fff}.publication-cover{height:280px;position:relative;display:grid;place-items:center;background:var(--accent-soft)}.pdf-badge{position:absolute;top:20px;right:20px;padding:6px 12px;border-radius:6px;background:#c73b31;color:#fff;font:700 12px ui-monospace,monospace;letter-spacing:1px}.paper-icon{width:112px;height:145px;padding:30px 20px;display:block;transform:rotate(-2deg);border-radius:6px;background:#fff;box-shadow:0 18px 32px rgba(26,34,53,.14)}.paper-icon i{display:block;height:6px;margin-bottom:9px;border-radius:4px;background:#dfe2e9}.paper-icon i:first-child{width:65%;background:var(--accent)}.publication-copy{min-height:285px;padding:30px;display:flex;flex-direction:column}.publication-meta{color:var(--accent);font:600 13px ui-monospace,monospace}.publication-copy h3{margin:17px 0 8px;font-size:24px;line-height:1.25}.publication-copy p{margin:0;color:var(--muted)}.publication-copy button{align-self:flex-start;margin-top:auto;padding:20px 0 0;border:0;background:transparent;color:var(--accent);font:750 15px inherit;cursor:pointer}
.contact-section{min-height:760px;display:grid;grid-template-columns:1fr .9fr;gap:100px;align-items:center;background:var(--section-alt)}.contact-copy{max-width:680px}.contact-copy dl{margin:48px 0 0}.contact-copy dl>div{display:grid;grid-template-columns:130px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}.contact-copy dt{color:var(--muted);font:650 12px ui-monospace,monospace;letter-spacing:2px;text-transform:uppercase}.contact-copy dd{margin:0;font-size:20px}.contact-copy dd a{text-decoration:none}.contact-mark{display:grid;place-items:center}.contact-mark span{width:min(380px,70%);aspect-ratio:1;display:grid;place-items:center;border-block:7px solid var(--accent);color:var(--accent);font-size:150px;font-weight:750;letter-spacing:10px}.site-footer{padding:46px max(28px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr auto;gap:10px 40px;background:var(--hero-bg);color:var(--hero-muted);font-size:12px}.site-footer p{margin:0}.site-footer nav{grid-row:1/3;grid-column:2;display:flex;gap:22px;align-items:center}.site-footer a{color:#fff;text-decoration:none}
.pdf-dialog{width:95vw;max-width:none;height:94vh;padding:0;overflow:hidden;border:0;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(10,14,25,.45)}.pdf-dialog::backdrop{background:rgba(14,19,32,.72);backdrop-filter:blur(5px)}.dialog-head{height:112px;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:27px}.dialog-head p{margin:4px 0 0;color:var(--muted);font:600 13px ui-monospace,monospace}.dialog-head button{width:54px;height:54px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:35px;cursor:pointer}.dialog-body{height:calc(94vh - 178px);padding:30px;background:#ecece9}.dialog-body iframe{width:100%;height:100%;border:0;border-radius:10px;background:#333}.dialog-foot{height:66px;padding:0 36px;display:flex;align-items:center;justify-content:flex-end}.dialog-foot a{color:var(--accent);font-weight:750;text-decoration:none}
@media(max-width:1100px){.hero{grid-template-columns:1fr;padding-block:90px}.profile-card{max-width:700px}.services-grid,.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-section{grid-template-columns:1fr}.portrait-wrap{max-width:620px}.contact-section{grid-template-columns:1fr}.contact-mark{display:none}.publications-heading{grid-template-columns:1fr;gap:25px}}
@media(max-width:760px){body{font-size:16px}.site-header{height:72px;padding-inline:18px}.site-brand small{display:none}.brand-mark{width:40px;height:38px;font-size:19px}.menu-button{width:50px;height:48px;position:absolute;right:18px;top:12px;padding:9px;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.menu-button span{height:2px;background:var(--ink)}.menu-button b{position:absolute;clip:rect(0 0 0 0)}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;padding:12px 20px 25px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);background:var(--bg)}.site-nav.is-open{display:flex}.site-nav a{padding:14px 4px;border-bottom:1px solid var(--line)}.hero{min-height:auto;padding:80px 22px;gap:55px}.hero h1{max-width:100%;margin-top:30px;font-size:clamp(42px,13.5vw,58px);letter-spacing:-.04em;overflow-wrap:break-word;word-break:normal;hyphens:auto}.hero-lead{font-size:18px}.hero-actions{flex-direction:column}.button{min-height:56px}.profile-card-head{padding:55px 24px 42px}.profile-card h2{font-size:30px}.profile-card p{font-size:10px}.profile-card ul{padding:18px 24px 32px}.profile-card li{padding-left:26px;font-size:16px}.section{padding:88px 22px}.section-heading{margin-bottom:48px}.section-heading h2,.person-copy h2,.contact-copy h2{font-size:43px}.services-grid,.publication-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:35px 28px}.service-card h3{font-size:26px}.service-card p{font-size:17px}.person-section{gap:50px}.portrait-wrap{aspect-ratio:1/1.2}.person-text{font-size:18px}.credentials{grid-template-columns:1fr}.publication-cover{height:240px}.contact-section{min-height:auto}.contact-copy dl>div{grid-template-columns:1fr;gap:9px}.contact-copy dd{font-size:18px}.site-footer{grid-template-columns:1fr}.site-footer nav{grid-row:auto;grid-column:auto;margin-top:20px}.pdf-dialog{width:100vw;height:100vh;border-radius:0}.dialog-head{height:100px;padding:20px}.dialog-head h2{font-size:20px}.dialog-head button{width:46px;height:46px}.dialog-body{height:calc(100vh - 160px);padding:8px}.dialog-foot{height:60px;padding:0 20px}}

