
.publication-page{background:var(--bg)}
.publication-page .topbar{background:var(--header)}
.pub-wrap{padding:0 0 76px}
.pub-crumb{display:flex;gap:13px;padding:25px 0 12px;font-size:.79rem;color:var(--subtle);align-items:center}
.pub-crumb a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.pub-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);padding:43px 0 55px}
.pub-hero:after{position:absolute;right:-8%;top:0;width:360px;height:360px;content:"";border:1px solid var(--line);border-radius:50%;opacity:.6;pointer-events:none;box-shadow:0 0 0 45px rgba(81,170,119,.025),0 0 0 105px rgba(81,170,119,.02)}
.pub-kicker{margin:0;color:var(--accent);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.pub-hero h1{font-size:clamp(2.25rem,4.3vw,3.55rem);line-height:1.13;letter-spacing:-.045em;max-width:790px;margin:16px 0 20px;position:relative}
.pub-lead{max-width:740px;margin:0;font-size:1.03rem;line-height:1.75;color:var(--muted);position:relative}
.pub-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}
.pub-stats span{display:flex;align-items:baseline;gap:8px;padding:9px 14px;background:var(--surface);border:1px solid var(--line);border-radius:5px;font-size:.84rem;color:var(--muted)}
.pub-stats strong{font-size:1.15rem;color:var(--text)}
.pub-jump{display:flex;flex-wrap:wrap;gap:18px;margin-top:25px}
.pub-jump a{color:var(--accent);font-size:.88rem;font-weight:760;text-decoration:underline;text-underline-offset:4px}
.pub-jump a:hover{color:var(--text)}
.pub-section{padding:53px 0 0;scroll-margin-top:85px}
.pub-heading{display:flex;justify-content:space-between;gap:25px;align-items:baseline;padding-bottom:17px;border-bottom:1px solid var(--line2)}
.pub-heading h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.025em;margin:0}
.pub-heading span{font-size:.85rem;color:var(--subtle);white-space:nowrap}
.pub-list{margin:0;padding:0;list-style:none}
.pub-entry{display:grid;grid-template-columns:96px minmax(0,1fr);gap:30px;padding:24px 5px;border-bottom:1px solid var(--line)}
.pub-entry:last-child{border-bottom:0}
.pub-year{padding-top:5px;font-size:.91rem;color:var(--accent);font-weight:780}
.pub-entry h3{margin:0;font-size:1.04rem;line-height:1.5;font-weight:750;max-width:830px}
.pub-source,.pub-authors{font-size:.87rem;color:var(--muted);line-height:1.62;max-width:880px;margin:9px 0 0}
.pub-authors{color:var(--subtle);font-size:.8rem;margin-top:6px}
.pub-doi{display:inline-block;color:var(--accent);font-size:.83rem;font-weight:730;margin-top:9px;text-decoration:underline;text-underline-offset:3px}
.pub-doi:hover{color:var(--text)}
.pub-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;margin-top:47px;border:1px solid var(--line2);border-radius:9px;background:var(--surface)}
.pub-bottom h2{margin:0 0 7px;font-size:1.32rem;letter-spacing:-.02em}
.pub-bottom p{max-width:660px;margin:0;color:var(--muted);line-height:1.62;font-size:.9rem}
.pub-action{min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;background:var(--accent);color:var(--accentText);border-radius:5px;font-size:.87rem;font-weight:780;text-align:center;white-space:nowrap}
.pub-action:hover{filter:brightness(1.05)}
.publication-page a:focus-visible,.publication-page button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:900px){.pub-hero:after{opacity:.26}.pub-bottom{flex-direction:column;align-items:flex-start}.pub-entry{gap:15px}}
@media(max-width:700px){.pub-wrap{padding-bottom:42px}.pub-hero{padding:26px 0 36px}.pub-hero h1{font-size:clamp(2rem,8vw,2.8rem)}.pub-lead{font-size:.92rem;line-height:1.65}.pub-stats{gap:7px}.pub-stats span{font-size:.79rem;padding:7px 10px}.pub-stats strong{font-size:1rem}.pub-section{padding-top:39px}.pub-heading{align-items:start}.pub-entry{grid-template-columns:1fr;gap:7px;padding:22px 0}.pub-year{padding:0;font-size:.8rem}.pub-entry h3{font-size:1.01rem}.pub-source{font-size:.82rem}.pub-authors{font-size:.77rem}.pub-bottom{padding:19px}.pub-action{white-space:normal;width:100%}.publication-page .nav-contacts .nav-phone{display:none!important}}
