.ap-structures{position:relative;background:var(--white);color:var(--anthracite)}
.ap-structures-scene{padding-block:4rem}
.ap-structures-top,.ap-structures-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.5rem;letter-spacing:.14em}
.ap-structures-top{margin-bottom:2rem}.ap-structures-top .eyebrow{margin:0;font-size:inherit}
.ap-structures-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.ap-structures-visual{position:relative;min-width:0;aspect-ratio:1.35;background:var(--white);border:1px solid #383e4220;overflow:hidden;background-image:linear-gradient(#383e4206 1px,transparent 1px),linear-gradient(90deg,#383e4206 1px,transparent 1px);background-size:40px 40px}
.ap-building-drawing{position:absolute;inset:8%;width:84%;height:84%;display:block;overflow:hidden;color:var(--anthracite)}
.ap-drawing-lines path,.ap-drawing-lines rect{vector-effect:non-scaling-stroke;stroke-width:1.15;stroke-linejoin:round;stroke-linecap:round}
.ap-drawing-guides path{vector-effect:non-scaling-stroke;stroke-width:.6}
.ap-drawing-details path{vector-effect:non-scaling-stroke;stroke-width:.65;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:var(--structure-draw,0);opacity:.65}
.ap-drawing-guides{opacity:.25}.ap-drawing-lines [pathLength]{stroke-dasharray:1;stroke-dashoffset:var(--structure-draw,0)}
.ap-structure-photo{position:absolute;inset:0;margin:0;overflow:hidden;background:var(--anthracite)}
.ap-structure-photo img{filter:grayscale(.8);transform:scale(var(--structure-scale,1));will-change:transform}
.ap-structure-volume{clip-path:inset(var(--structure-volume-reveal,0%) 0 0 0)}
.ap-structure-living{clip-path:inset(0 var(--structure-living-reveal,100%) 0 0)}
.ap-structure-corner{position:absolute;z-index:2;top:.5rem;left:.75rem;color:var(--white);mix-blend-mode:difference;font-size:1.5rem}
.ap-structures-copy h2{font:normal clamp(2.4rem,3.5vw,4rem)/1.04 var(--display);letter-spacing:-.04em;margin:0 0 2.5rem}.ap-structures-copy h2 em{font-weight:normal}
.ap-structure-phase>span{font-size:.5rem;letter-spacing:.15em}.ap-structure-phase h3{font:normal clamp(3rem,4.2vw,5rem)/1 var(--display);letter-spacing:-.04em;margin:1rem 0}.ap-structure-phase p{font-size:.85rem;line-height:1.8;max-width:24rem;margin:0}
.ap-structures-live .ap-structure-phase{display:none}.ap-structures-live .ap-structure-phase.is-active{display:block;animation:structure-caption .5s ease-out}
.ap-structures-copy>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #383e4250;padding-block:1rem;margin-top:2rem;font-size:.5rem;letter-spacing:.12em;min-height:44px}.ap-structures-copy>a span{font-size:1.5rem}
.ap-structures-bottom{margin-top:2rem}.ap-structure-progress{flex:1;background:#383e4230;height:1px}.ap-structure-progress>span{display:block;height:100%;background:var(--anthracite);transform:scaleX(var(--structure-progress,0));transform-origin:left}
.ap-structures.is-pinned .ap-structures-scene{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-block:2rem}
.ap-structures.is-pinned .ap-structures-visual{height:min(58svh,38rem);aspect-ratio:auto}
@keyframes structure-caption{from{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}
@media(max-width:63.99rem){.ap-structures-layout{grid-template-columns:minmax(0,1fr)}.ap-structures-visual{aspect-ratio:1.1}.ap-structures-copy h2{font-size:3rem;margin-bottom:2rem}.ap-structures-copy{max-width:35rem}.ap-structures-top{gap:1rem}.ap-structures-bottom{gap:1rem}.ap-structures-bottom>span:first-child{max-width:8rem;line-height:1.8}.ap-structure-phases{min-height:11rem}}
@media(prefers-reduced-motion:reduce){.ap-structures-live .ap-structure-phase.is-active{animation:none}.ap-structure-photo img{transform:none;will-change:auto}}
