/* Phone and tablet composition shares content with the desktop story. */
.mobile-menu-button,header .wordmark .brand-symbol{display:none}
#mobile-menu{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:calc(24px + env(safe-area-inset-top)) 24px 32px;background:#fff}
#mobile-menu .menu-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;padding-bottom:24px}
#mobile-menu nav{display:flex;flex-direction:column;border:0;border-radius:0;margin-top:32px;background:none}
#mobile-menu nav a{font-family:var(--serif);font-size:36px;text-align:left;padding:16px 0;color:#111}
#mobile-menu button{min-width:44px;min-height:44px;font-size:24px}
#mobile-menu .menu-search{font-size:16px;margin-top:24px;border-bottom:1px solid #111}
@media(max-width:760px){
 html.fixed-story{zoom:1;--screen-height:100dvh;scroll-padding-top:88px}
 html.fixed-story,.fixed-story body{height:auto;overflow:visible;overscroll-behavior:auto}
 .fixed-story main{position:relative;inset:auto;overflow:clip}
 .fixed-story main>section,.fixed-story main>#spaces,.fixed-story main>#objects{position:relative;inset:auto;height:auto;min-height:0;opacity:1!important;visibility:visible!important;overflow:visible;display:block;will-change:auto;scroll-margin-top:0}
 .fixed-story main>.chapter,.fixed-story main>#spaces{padding:32px 22px 56px}
 .fixed-story header,.fixed-story header.on-light,.fixed-story header.on-dark{height:calc(72px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;background:#fff;color:#111;border-bottom:1px solid #e8e8e8;align-items:center;z-index:50}
 header .wordmark{width:auto;display:flex;align-items:center;gap:10px;min-height:44px}
 header .wordmark img{width:94px;filter:none!important}
 header .wordmark .brand-symbol{display:block;width:32px;height:32px;object-fit:contain}
 header .nav-wrap{display:none}.mobile-menu-button{display:grid;place-content:center;gap:6px;width:44px;height:44px;padding:10px}.mobile-menu-button span{display:block;width:22px;height:1px;background:#111}
 .fixed-story main>#landing{height:100svh;min-height:580px;overflow:hidden}
 .hero-logo{width:100%;height:100%;aspect-ratio:auto;top:48%}
 .hero-logo video{object-fit:cover}.hero-logo img{object-fit:contain;width:76%;left:12%}
 .hero-foot{left:22px!important;right:22px!important;bottom:calc(30px + env(safe-area-inset-bottom));display:block}
 .hero-foot .eyebrow{display:block;font-family:var(--serif);font-size:32px;line-height:1.16;letter-spacing:-.8px;text-transform:none;opacity:1;max-width:260px}
 .hero-foot p,.hero-count{display:none}.hero-foot button{position:absolute;right:0;bottom:0;min-width:44px;min-height:44px;margin:0;align-items:center}
 .scroll-cue{display:inline-flex;width:auto;align-items:center;gap:28px;min-height:44px;margin-top:18px;font-size:14px;border-bottom:1px solid #ffffff70}
 .section-top,#spaces .section-top,#objects .section-top{margin-bottom:28px;padding-top:16px}.section-top>span:last-child{display:none}.eyebrow{font-size:10px;letter-spacing:1.4px}
 .fixed-story .studio-layout,.fixed-story .spaces-layout{display:block;height:auto;min-height:0}
 .fixed-story .studio-copy h1,.fixed-story .objects-heading h2,#spaces .project-sidebar h2{font-size:clamp(38px,10vw,54px);letter-spacing:-1.6px;line-height:1.12;margin:0 0 24px}
 .fixed-story .type-copy{font-size:18px;line-height:1.6}.fixed-story .studio-art{padding:12px 0}.fixed-story .studio-orbit{width:100%;height:340px;aspect-ratio:auto;margin:0}.studio-orbit video{object-fit:cover}.studio-orbit img{object-fit:contain}.next-section{min-height:44px;align-items:center}
 #spaces .project-sidebar{display:flex;height:auto;gap:0}#spaces .project-sidebar h2{order:0}#spaces #project-filters{order:1;margin:0 0 12px;align-self:stretch;gap:4px}
 #spaces .filter-label{font-size:10px;width:42px}#spaces .filter-tag{font-size:12px;min-height:44px;padding:8px 10px}.filter-tag-row{gap:5px}
 #spaces #project-list-help{order:2;font-size:12px;margin:8px 0 0}#spaces #filter-count{order:3;font-size:12px;margin:2px 0 0}
 #spaces #project-list{order:4;height:200px;min-height:200px;flex:none;margin:8px 0 20px}#spaces #project-list .project-item{font-size:14px;min-height:44px;padding-left:36px}#spaces #project-list .project-item.active{font-size:16px}
 #spaces .project-album{height:auto;container-type:normal;display:block;overflow:visible}#spaces .album-frame{width:100%;aspect-ratio:16/9;height:auto;min-height:0;margin:0}.image-expand{width:44px;height:44px;top:8px;right:8px}.album-controls{right:8px;bottom:8px;padding:0 6px 0 12px}.album-controls button{width:44px;height:44px}.album-controls span{margin-right:4px;font-size:10px}
 #spaces .album-caption{width:100%;padding:20px 0 0}#spaces #project-name{display:block;font-family:var(--sans);font-size:18px;font-weight:600;line-height:1.3;margin:0 0 12px}#spaces .album-caption p{font-size:17px;line-height:1.6;text-align:left;hyphens:none}
 .objects-heading>p{font-size:14px;margin-top:12px}.object-stage,#objects .object-stage{margin:20px -22px 16px;gap:0}.object-stage>.round-button{display:none}
 #objects #object-track{container-type:normal;height:auto;min-height:0;padding:12px 11%;gap:16px;align-items:start}#objects .object-card{flex:0 0 100%;min-width:0;transform:scale(.95)}#objects .object-card.center{transform:scale(1)}#objects .object-visual{width:100%;height:auto;aspect-ratio:4/5}#objects .object-card h3,#objects .object-card p{width:100%}#objects .object-card h3{font-size:18px}
 #object-dots{gap:0}#object-dots button{width:44px;height:44px;background:none;position:relative}#object-dots button:after{content:'';position:absolute;left:18px;top:18px;width:8px;height:8px;border-radius:50%;background:#ccc}#object-dots button.active:after{background:#111}.object-footer{gap:8px}.object-footer>.small-note:last-child{display:none}
 .fixed-story .contact-main{padding:24px 0 40px}.fixed-story .contact-main h2{font-size:clamp(42px,12vw,62px);letter-spacing:-2px;margin:20px 0 30px}.contact-links{flex-direction:column;align-items:start}.email-pill{padding:14px 18px;gap:18px;max-width:100%}.email-pill .email-address{font-size:13px}.socials a{width:44px;height:44px}footer{font-size:11px;gap:12px}footer>span:nth-child(2){display:none}
 #search-panel{top:calc(80px + env(safe-area-inset-top));left:12px;right:12px;width:auto;padding:20px}input,textarea,.search-row input,#contact-form input,#contact-form textarea{font-size:16px}.search-bottom button,.search-row button,#chat-close{min-width:44px;min-height:44px}
 #contact-chat{width:calc(100% - 24px);right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-height:calc(100dvh - 100px)}
 #object-dialog,#image-dialog{width:calc(100% - 24px);max-width:none;max-height:calc(100dvh - 48px);margin:auto}#object-detail{display:block}.dialog-close{position:sticky;display:block;margin:8px 8px -52px auto;top:8px;width:44px;height:44px;border:1px solid #ddd}.object-detail-media video{max-height:45dvh}#object-detail .object-detail-copy{padding:24px}#object-detail .object-detail-copy h2{font-size:32px}.object-studies button{min-height:44px}
 .expanded-project{display:flex;flex-direction:column;padding:56px 20px 24px;gap:24px}.expanded-copy{order:-1;padding:0}.expanded-copy h2{font-size:30px;margin:28px 0 18px}.expanded-copy dl{font-size:14px}.expanded-copy dl>div{grid-template-columns:62px 1fr}.expanded-brand{font-size:12px}#image-dialog .expanded-copy p{text-align:left;font-size:16px;line-height:1.6}.expanded-scale{font-size:12px;margin-top:20px}.expanded-photos{gap:12px}#image-dialog .expanded-photos img{height:160px}
}

@media(prefers-reduced-motion:reduce){
 html.fixed-story,.fixed-story body{height:auto;overflow:visible;overscroll-behavior:auto}
 .fixed-story main{position:relative;inset:auto;overflow:clip}
 .fixed-story main>section{position:relative;inset:auto;opacity:1!important;visibility:visible!important;will-change:auto}
}


#site-loader{position:fixed;inset:0;z-index:1000;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:14px;letter-spacing:1px}
.loader-spinner{width:30px;height:30px;border:1px solid #ddd;border-top:1px solid #111;border-radius:50%;animation:loader-turn .8s linear infinite}
.loader-note{font-size:11px;color:#777;letter-spacing:.3px}
@keyframes loader-turn{to{transform:rotate(360deg)}}
html.booting,html.booting body{overflow:hidden!important}
