@import url('fonts.css');
html { scroll-behavior:smooth; }
body { margin:0; }
img.loaded { opacity:1; }
.renditions-video { display:block; }
.js-responsive-nav.is-open .responsive-nav { opacity:1; visibility:visible; transition:none; }
body.menu-open { overflow:hidden; }
:focus-visible { outline:2px solid #ddd; outline-offset:5px; }
[role=button] { cursor:pointer; }
.contact-form button.submit-button { font:inherit; border:0; cursor:pointer; }
.contact-note { color:#ccc; font:400 16px/1.5 ftnk,sans-serif; margin-top:18px; }
.portable-lightbox { border:0; padding:0; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; background:rgba(255,255,255,.96); color:#222; }
.portable-lightbox::backdrop { background:rgba(255,255,255,.94); }
.portable-lightbox .lightbox-stage { height:100%; display:flex; align-items:center; justify-content:center; padding:60px; box-sizing:border-box; }
.portable-lightbox img { max-height:calc(100dvh - 120px); max-width:100%; object-fit:contain; }
.portable-lightbox button { position:absolute; border:0; background:rgba(0,0,0,.1); border-radius:50%; width:44px; height:44px; font:28px/1 sans-serif; cursor:pointer; color:#333; }
.portable-lightbox .close { right:20px; top:20px; }
.portable-lightbox .previous { left:12px; top:calc(50% - 22px); }
.portable-lightbox .next { right:12px; top:calc(50% - 22px); }
.portable-lightbox .count { position:absolute; bottom:16px; left:0; width:100%; text-align:center; font:16px ftnk,sans-serif; }
.project-module-image img,.grid__item-image { cursor:zoom-in; }
.portable-video { width:100%; height:100%; background:#191919; }
.video-error { position:absolute; bottom:0; z-index:2; padding:12px; background:#222; color:#fff; font:16px ftnk,sans-serif; }
@media(max-width:600px) { .portable-lightbox .lightbox-stage {padding:60px 10px;} }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

/* Jost adjustments: retain the original rhythm without splitting names or dates. */
.person-name,.date-range { white-space:nowrap; }
.logo,.logo a { white-space:nowrap; }
.masthead h1 { text-wrap:balance; }
.masthead p { text-wrap:pretty; }
.page-header .title,.project-header .title,.project-cover .title { white-space:normal; text-wrap:balance; }
.project-module-text .rich-text { overflow-wrap:break-word; }
.project-module-image img { height:auto; padding-bottom:0; }
.contact-form button:disabled { cursor:default; opacity:.65; }
@media(min-width:933px) {
  .masthead h1 { font-size:53px; }
  .masthead p { font-size:22px; line-height:28px; }
}
@media(max-width:932px) {
  .logo { font-size:clamp(18px,3.4vw,27px); padding-left:0; padding-right:0; }
  .logo-wrap { min-width:0; max-width:calc(100% - 70px); }
  .masthead { position:relative; height:auto; min-height:70vh; padding-top:100px; padding-bottom:84px; }
  .masthead-placeholder { display:none; }
  .masthead-contents { width:100%; }
  .masthead h1 { font-size:clamp(28px,5.2vw,42px); line-height:1.18; margin-bottom:28px; }
  .masthead p { font-size:clamp(18px,2.8vw,22px); line-height:1.35; }
  .masthead-arrow-container { bottom:20px; }
  .page-header .title,.project-header .title { font-size:clamp(28px,5.6vw,48px); line-height:1.2; }
}
/* Adobe's original lightbox wrapper establishes this layer above the page tint. */
.js-lightbox { position:relative; }
.js-responsive-nav.is-open .responsive-nav nav { display:block; }
.hero-discipline { display:block; }
.hero-term,.signature { white-space:nowrap; }
.masthead h1,.masthead p { white-space:normal; }
