/* The first useful view is HTML. Script only adds movement and interaction. */
.service-list summary{list-style:none;cursor:pointer}
.service-list summary::-webkit-details-marker{display:none}
.service-list summary:focus-visible{outline:2px solid var(--copper);outline-offset:5px}
.service-list details[open]>summary{color:var(--copper)}
.service-list details[open] .service-toggle::after{transform:rotate(0deg)}
body:not([data-ready=true]) :is(.film-chapters,.work-tabs,.work-next,.work-record-bridge,.planning-bridge button,.clip-button){display:none}
body:not([data-ready=true]) .journey{height:100svh;min-height:650px}
body:not([data-ready=true]) .film-stage{position:relative}
body:not([data-ready=true]) .film-caption{display:none}
#field-gallery:not([data-gallery-ready=true]) :is(.gallery-toolbar,.gallery-controls,.gallery-strip,.gallery-expand){display:none}
#field-gallery:not([data-gallery-ready=true]) .gallery-stage::before{display:none}
.gallery-fallback{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:7%;padding:38px 5%;margin:0}
.gallery-fallback>a{display:block;height:100%;min-height:0}
.gallery-fallback picture{display:block;height:100%}
.gallery-fallback img{width:100%;height:100%;object-fit:contain}
.gallery-fallback figcaption{max-width:28ch}
.gallery-fallback figcaption>span{font-size:11px;letter-spacing:.04em;color:#655e52}
.gallery-fallback h3{font:400 clamp(27px,3vw,44px)/1.12 'Instrument Serif',serif;margin:10px 0 17px}
.gallery-fallback p{font-size:14px;line-height:1.6;color:#615a4f}
#field-gallery[data-gallery-ready=true] .gallery-fallback{bottom:58px}
#field-gallery .gallery-status:not(.sr-only){padding:15px 0;font-size:14px;color:#655e52}
.request-fallback{padding:32px 0;border-top:1px solid #d6d3c8}
.request-fallback h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 16px}
.request-fallback>p{max-width:56ch;font-size:16px;line-height:1.7}
.request-fallback>.primary{display:inline-flex;align-items:center;gap:32px;margin:24px 0 10px;text-decoration:none}
.request-fallback .direct-addresses{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px}
.request-fallback .direct-addresses a{text-decoration:underline;text-underline-offset:4px}
body:not([data-request-ui-ready=true]):has(.request-fallback) :is(.steps,.draft-tools,.request-step,.request-help){display:none}
body[data-request-ui-ready=true] .request-fallback{display:none}
@media(max-width:700px){
 .services-layout:not([data-services-ready=true]) .service-list details{border-top:1px solid #c3bcae}
 .services-layout:not([data-services-ready=true]) .service-list details:last-child{border-bottom:1px solid #c3bcae}
 .services-layout:not([data-services-ready=true]) .service-description{padding-bottom:22px}
 .gallery-fallback{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:20px;padding:28px 7%}
 .gallery-fallback h3{font-size:29px;margin:5px 0 8px}
 .gallery-fallback p{font-size:13px}
 body:not([data-ready=true]) .journey{min-height:600px}
}

.navigation.open-horizon .h-fallback{display:none}
.navigation:not([data-header-ready=true]) .h-toggle{display:none}
body:not([data-ready=true]) [data-demo],body:not([data-ready=true]) [data-demo]+p{display:none}
body[data-ready=true] .demo-fallback{display:none}
@media(max-width:760px){.navigation:not([data-header-ready=true]) .h-fallback{display:flex;grid-row:1;grid-column:3;font-size:11px}}

/* Content can grow when a reader increases text size. */
.work-controls,#work-panel,.work-tabs,.work-tabs button{min-width:0}
.work-tabs button span{white-space:normal}
.assembly-sequence{flex-wrap:wrap}
.assembly-sequence li{min-width:0;flex:1 1 6em}
.assembly-sequence button{white-space:normal;overflow-wrap:anywhere}
.object-label{flex-wrap:wrap}
.work-facts dd{overflow-wrap:anywhere}
@media(min-width:761px){
 .navigation.open-horizon[data-compact=true] .h-index{position:fixed;top:-1000px;left:0;visibility:hidden;pointer-events:none;width:max-content}
 .navigation.open-horizon[data-compact=true] .h-contact{grid-column:2}
 .navigation.open-horizon[data-compact=true] .h-toggle{display:flex;grid-column:3}
}
#field-gallery[data-reading=true] .gallery-stage{height:auto;min-height:0;overflow:visible}
#field-gallery[data-reading=true] .gallery-images{position:relative;inset:auto}
#field-gallery[data-reading=true] .gallery-spread{position:relative;inset:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;padding:4em 4% 2em;gap:6%}
#field-gallery[data-reading=true] .chapter-overview,#field-gallery[data-reading=true] .chapter-detail{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;gap:20px}
#field-gallery[data-reading=true] .gallery-picture{height:48svh;min-height:220px;flex:none}
#field-gallery[data-reading=true] .detail-window{width:100%;min-width:0;flex:none;margin:0}
#field-gallery[data-reading=true] .gallery-controls{position:relative;inset:auto;height:auto;min-height:58px;flex-wrap:wrap}
#field-gallery[data-reading=true] .gallery-play-note{display:none}
#field-gallery[data-reading=true] .is-leaving{display:none}
@media(max-width:700px){
 #field-gallery[data-reading=true] .gallery-spread{grid-template-columns:1fr;gap:28px;padding-top:3em}
 #field-gallery[data-reading=true] .chapter-detail{display:none}
 #field-gallery[data-reading=true][data-detail=true] .chapter-overview{display:none}
 #field-gallery[data-reading=true][data-detail=true] .chapter-detail{display:flex}
}
