/* Large photographic studies. Transform and reveal are driven only by scroll. */
.specimen-scene{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none;contain:layout paint;isolation:isolate}
.specimen-stack{position:absolute;width:0;height:0}
.specimen-layer{position:absolute;left:0;top:0;overflow:hidden;transform-origin:50% 50%;filter:brightness(var(--material-light,1));will-change:transform,opacity}
.specimen-layer--soil{z-index:1}.specimen-layer--base{z-index:2}.specimen-layer--rebar{z-index:3}.specimen-layer--slab{z-index:4}
.specimen-face{position:absolute;inset:0;overflow:hidden;will-change:clip-path}
.cinema-material .specimen-atlas{position:absolute;left:0;max-width:none;object-fit:fill;object-position:initial;user-select:none;pointer-events:none}
.cinema-material.specimen-ready>.film-poster{opacity:0}
.specimen-reveal-edge{position:absolute;inset:0;pointer-events:none;mask-repeat:no-repeat;overflow:hidden}.specimen-reveal-edge i{position:absolute;top:0;height:100%;width:1px;transform-origin:top center;background:rgba(249,226,191,.7);box-shadow:0 0 10px rgba(242,218,173,.18)}
.specimen-callout{position:absolute;inset:0;z-index:6;opacity:0;color:#fff0d6}
.specimen-callout-label{position:absolute;font-size:11px;line-height:18px;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.specimen-callout-line{position:absolute;height:1px;background:rgba(235,218,186,.8);transform-origin:left center}
.specimen-callout-point{position:absolute;width:5px;height:5px;margin:-2px 0 0 -2px;border-radius:50%;background:#ecdbbf;box-shadow:0 0 0 4px rgba(236,219,191,.13)}
.specimen-key{position:absolute;z-index:6;display:flex;align-items:center;gap:18px;font-size:11px;color:#e3d7c2;letter-spacing:.035em;white-space:nowrap;opacity:0}
.specimen-key>i{height:1px;flex:1;background:rgba(221,213,193,.24);position:relative;overflow:hidden}
.specimen-key b{display:block;width:100%;height:100%;background:#dfb47f;transform-origin:left}
.cinema-layer h2{font-size:clamp(42px,4vw,66px);max-width:38vw}
.cinema-layer p{max-width:340px;font-size:16px;line-height:1.75}
.layer-scroll-cue{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.045em;color:#b8c3b0;margin-top:28px}
.layer-scroll-cue i{width:1px;height:22px;background:linear-gradient(#dcb78a,rgba(220,183,138,.15))}
@media(max-width:1000px){.cinema-layer{align-self:start}.cinema-layer h2{font-size:clamp(36px,5.8vw,50px);max-width:100%}.cinema-layer p{max-width:440px}.specimen-callout-label,.specimen-key{font-size:10px}.specimen-key{gap:12px}.layer-scroll-cue{margin-top:18px}}
@media(min-width:541px) and (max-width:1000px) and (max-height:800px){.cinema-layer{margin-top:-20px}.cinema-layer h2{font-size:40px}.cinema-layer p{max-width:540px;font-size:15px;line-height:1.65;margin-top:18px}.cinema-layer .eyebrow{margin-bottom:18px}.layer-scroll-cue{margin-top:12px}.layer-scroll-cue i{height:16px}}
@media(max-width:540px){.cinema-layer h2{font-size:clamp(31px,9vw,43px)}.cinema-layer p{font-size:14px;line-height:1.65;max-width:100%;margin-top:18px}.cinema-layer .eyebrow{margin-bottom:17px}.layer-scroll-cue{font-size:10px;margin-top:16px}.layer-scroll-cue i{height:16px}.specimen-key{font-size:9px;gap:12px;letter-spacing:0}.specimen-callout-label{font-size:9px;letter-spacing:.07em}}
.motion-reduced .specimen-scene{display:none}
@media(prefers-reduced-motion:reduce){.specimen-scene{display:none}}
