/* The canonical 3D hardware owns the visible scene; original CSS hardware is the failure/reduced-motion view. */
.project-exhibit .exhibit-heading{margin-bottom:35px}
.project-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:min(100%,700px);margin:0 auto 24px;isolation:isolate}
.project-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;visibility:hidden;pointer-events:none;z-index:1}
.project-stage[data-stage-render=gpu] .project-canvas{visibility:visible}
.project-tablet{position:relative;display:block;aspect-ratio:7.6/4.91;min-width:0;transform-origin:center;backface-visibility:hidden;outline-offset:8px;border:0;padding:0;background:none;cursor:pointer}
.project-stage[data-stage-ready] .project-tablet{position:absolute;will-change:transform,opacity}
.project-tablet .tablet-shell{inset:0;width:100%;height:100%}
.project-tablet .tablet-glass img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.project-tablet:after{content:'';position:absolute;left:-5%;right:-5%;bottom:-10px;height:14px;background:radial-gradient(ellipse,#0005,transparent 70%);filter:blur(3px);pointer-events:none}
.project-stage[data-stage-render=gpu] .project-tablet .tablet-shell{visibility:hidden}
html[data-js=on][data-motion=on] .project-stage:not([data-stage-render=fallback]) .project-tablet .tablet-shell{visibility:hidden}
.project-stage[data-stage-render=loading] .project-tablet{pointer-events:none}
.project-stage[data-stage-render=loading] .project-tablet:after{visibility:hidden}
.project-stage[data-stage-ready] .project-grid{display:block}
.project-stage[data-stage-ready] .stage-select{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}
.project-stage .stage-tab{background:none;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;font-family:inherit;color:#5b5f53}
.project-stage .stage-tab[data-current=true]{color:var(--ink)}
.project-stage .stage-tab:before{top:auto;bottom:-1px}
.project-stage .stage-tab[data-current=true]:before{transform:scaleX(1);transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.project-stage .stage-tab>small{color:#5b5f53}
.project-tablet:focus-visible{outline:2px solid var(--ink)}
@media(max-width:540px){.project-stage[data-stage-ready] .stage-select{grid-template-columns:repeat(2,minmax(0,1fr))}.project-exhibit .exhibit-heading{margin-bottom:25px}.project-stage .stage-tab{min-height:70px}.project-stage .stage-tab>span,.project-stage .stage-tab:last-child>span{font-size:clamp(20px,5.8vw,27px)}.project-focus-actions{gap:13px}.project-focus-actions .text-link{font-size:10px;gap:7px}.project-focus-actions button{font-size:9px}}
@media(prefers-reduced-motion:reduce){.project-tablet{will-change:auto!important}.project-stage .stage-tab:before{transition:none!important}}
@media print{.project-stage .project-grid{display:grid!important;height:auto!important;width:100%!important}.project-stage .project-tablet{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;transform:none!important;opacity:1!important}.project-stage .tablet-shell{visibility:visible!important}.project-canvas,.project-focus-actions{display:none!important}}
@media(max-width:540px){.project-focus-actions .text-link{font-size:11px}.project-focus-actions button{font-size:10px}}

.project-focus-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:absolute;bottom:0;left:0;right:0;gap:clamp(14px,4vw,32px);z-index:20;align-items:stretch}
.project-focus-actions .text-link{display:flex;justify-self:stretch;width:100%;box-sizing:border-box;justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:64px;padding:10px 0;margin:0;font:500 13px/1.35 var(--body)}
.project-focus-actions .text-link>span:first-child{display:flex;flex-direction:column;min-width:0}
.project-focus-actions strong{font:600 clamp(10px,2.6vw,13px)/1.3 var(--body);overflow-wrap:anywhere}
.project-focus-actions small{font:400 12px/1.5 var(--body)}
.project-focus-actions .text-link>[aria-hidden]{font-size:25px;flex-shrink:0}
.project-focus-actions [hidden]{display:none!important}
.project-stage[data-view=grid] [data-project-inquiry]{grid-column:1/-1;justify-self:center;width:min(100%,210px)}
@media(max-width:540px){.project-focus-actions .text-link{min-height:64px}.project-focus-actions strong{font-size:clamp(10px,2.6vw,12px)}.project-focus-actions small{font-size:12px}}

.project-native-links{display:flex;flex-wrap:wrap;gap:16px;padding:20px 0}
