/* Additions for academic content. The original portfolio stylesheet is preserved. */
.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--acid);color:var(--navy-950);padding:12px 20px;border-radius:30px}.skip-link:focus{top:12px}
.academic-paragraph{margin-top:30px}.research-label{color:var(--acid);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;margin-top:32px}.research-tags{margin:16px 0 26px}.toolkit-copy article{border-top:1px solid var(--line);padding:26px 0}.toolkit-copy article:first-child{padding-top:0;border:0}.toolkit-copy h3{font-size:24px;font-weight:500;letter-spacing:-.03em;margin:0 0 12px}.toolkit-copy p{font-size:17px;color:var(--muted);line-height:1.7;margin:0}.page-actions{display:flex;gap:14px;flex-wrap:wrap;padding-top:45px}.legal-intro h1{font-size:clamp(52px,7vw,108px);overflow-wrap:anywhere}.legal-intro{row-gap:30px}.project-chart{height:auto}.story-card-future .story-panel>span{color:#102a47;margin-top:18px}.story-card-future .story-panel h3{font-size:clamp(38px,4vw,60px)}.legal-grid p{white-space:normal}
@media(width<=520px){.desktop-nav.portfolio-nav{justify-content:flex-end}.site-header:not(.case-header) .desktop-nav a{font-size:9px}.academic-paragraph{margin-top:24px}.legal-intro h1{font-size:clamp(48px,11vw,64px)}}
@media print{.site-header,.page-actions,.skip-link{display:none}body,.legal-page{background:white;color:black}.legal-shell{padding:0}.legal-intro{padding-bottom:25px}.legal-intro h1{font-size:44px}.legal-grid section{padding:18px 0;break-inside:avoid;grid-template-columns:30px 1fr}.legal-grid p,.legal-intro>p:last-child{color:#333;font-size:11px}.legal-grid h2{font-size:18px;margin-bottom:8px}.legal-intro .section-kicker,.legal-grid section>span{color:#333}}

.page-scroll-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 102;
  height: 2px;
  background: var(--acid);
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}

.page-cursor-glow {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(127, 196, 255, .13), rgba(127, 196, 255, .035) 46%, transparent 70%);
  opacity: 0;
  transition: opacity .28s ease;
  pointer-events: none;
}

.page-cursor-glow.is-visible {
  opacity: 1;
}

@media print {
  .page-scroll-progress, .page-cursor-glow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .page-cursor-glow { display: none; }
}
