/* Shared reading scale for the portfolio and project pages. */
body{font-size:20px;line-height:1.65}
.project-photo{margin:0;min-width:0}
.project-thumb-image:has(.project-thumb-photo){background:#ececea}
.project-thumb-image img.project-thumb-photo{object-fit:contain;filter:none}
.project-photo>a{display:flex;align-items:center;justify-content:center;background:#ececea;border-radius:8px;overflow:hidden}
.project-photo img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain}
.project-photo figcaption{padding-top:16px;color:var(--muted);font-size:16px;line-height:1.6}
.media-placeholder-grid--multiple .project-photo>a{height:100%}
.media-placeholder-grid--multiple .project-photo img{max-height:650px}
.project-publication{padding:clamp(24px,4vw,52px);border:1px solid #535c4b;border-radius:16px;background:#1a201a;margin:12px 0 32px}
.project-publication .section-label{color:#c4d5ac;margin:0 0 24px}
.project-publication h2{max-width:1120px;font-size:clamp(27px,3vw,44px);line-height:1.25;margin:0 0 24px;letter-spacing:-.025em;text-wrap:balance}
.publication-authors{font-size:22px;color:#edf0e8;margin:0 0 12px}
.publication-venue{font-size:18px;color:#bdc5b9;margin:0;line-height:1.6}
.publication-actions{display:flex;flex-wrap:wrap;gap:12px 28px;margin:28px 0 20px}
.publication-doi{font-size:16px;color:#bdc5b9;text-underline-offset:4px;overflow-wrap:anywhere}
.thesis-document{padding:48px 0;border-bottom:1px solid var(--line)}
.thesis-document h2{font-size:clamp(30px,3vw,46px);line-height:1.2;margin:0 0 20px}
.thesis-document p{font-size:22px;color:#daddd4;margin:0}
.thesis-document .case-external{margin-top:24px}
.site-header a{font-size:16px}
.hero-kicker,.section-label,.project-meta,.work-count,.case-kicker,.back-link{font-size:14px;line-height:1.5}
.project-thumb-meta{font-size:13px;line-height:1.5;flex-wrap:wrap}
.project-thumb h3{font-size:clamp(24px,2vw,30px);line-height:1.2;letter-spacing:-.025em}
.contact-actions a,.case-external,.text-link,.old-link-module a,.old-link-module>span{font-size:16px;line-height:1.6}
.site-footer{font-size:12px;line-height:1.6}
.case-study,.project-page{max-width:1600px;padding-inline:4vw}
.case-hero,.project-page-hero{max-width:1200px}
.case-hero>p,.project-page-hero>p{max-width:1050px;font-size:26px;line-height:1.55;letter-spacing:0}
.case-body,.project-page-summary{grid-template-columns:160px minmax(0,1fr);gap:5%;padding-block:80px}
.case-summary,.project-page-summary>div:last-child>p{max-width:1100px;font-size:clamp(26px,2.3vw,36px);line-height:1.45;letter-spacing:-.015em}
.case-facts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.case-facts p,.case-tags li{font-size:13px;line-height:1.5}
.case-facts span{font-size:20px;line-height:1.6}
.case-sections article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:28px;padding-block:56px;scroll-margin-top:30px}
.case-section-number{font-size:14px}
.case-sections article>div{grid-column:2;display:block;max-width:1120px}
.case-sections h2{font-size:clamp(32px,3vw,46px);line-height:1.15;margin:0 0 28px}
.case-sections article>div>p,.old-text-module p{max-width:1120px;font-size:24px;line-height:1.7;letter-spacing:0;color:#daddd4;overflow-wrap:break-word}
.old-text-module{max-width:100%}
.old-text-module h2{max-width:1120px}
.media-placeholder figcaption,.embedded-video figcaption,.embedded-video code{font-size:14px;line-height:1.6}
@media(max-width:760px){
  .case-study,.project-page{padding-inline:20px}
  .case-hero>p,.project-page-hero>p{font-size:22px;line-height:1.6}
  .case-body,.project-page-summary{display:block;padding-block:52px}
  .case-summary,.project-page-summary>div:last-child>p{font-size:26px;line-height:1.5}
  .case-sections article{display:block;padding-block:42px}
  .case-sections article>div{display:block}
  .case-section-number{margin-bottom:20px}
  .case-sections article>div>p,.old-text-module p{font-size:20px;line-height:1.65}
  .case-sections h2{font-size:32px;margin-bottom:24px}
  .project-thumb-meta{font-size:12px}
  .project-thumb h3{font-size:21px;line-height:1.25}
  .header-link{font-size:14px!important}
  .contact-actions a{font-size:15px;overflow-wrap:anywhere}
}
@media(max-width:480px){.projects-grid{grid-template-columns:1fr;gap:36px}.project-thumb h3{font-size:25px}.project-thumb-meta span:last-child{display:inline}}
