.photo-story{padding-top:90px;padding-bottom:90px;background:#f4f3ef}.photo-heading{position:relative;z-index:2;max-width:680px;margin-bottom:38px}.photo-heading .eyebrow{color:#a12127;font-size:10px}.photo-heading h2{font-size:clamp(42px,5vw,72px);font-weight:500;line-height:1.05;letter-spacing:-.045em;margin:20px 0 24px}.photo-heading h2 em{font-style:normal;color:#62646a}.photo-heading>p:last-child{color:#626469;font-size:15px;max-width:510px;line-height:1.8}.photo-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-tile{border:0;padding:0;display:block;cursor:zoom-in;background:#dcdcd8;overflow:hidden;aspect-ratio:4/5}.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-tile:hover img{transform:scale(1.035)}.photo-tile:focus-visible{outline:3px solid #c92328;outline-offset:4px}.photo-grid:not(.expanded) .photo-tile:nth-child(n+7){display:none}.photo-expand{position:relative;z-index:2;display:block;margin:32px auto 0;border:1px solid #777980;padding:14px 22px;background:transparent;color:#232428;font:inherit;font-size:13px;cursor:pointer}.photo-expand:hover{background:#232428;color:#fff}.photo-viewer{max-width:none;width:100vw;height:100dvh;max-height:none;margin:0;border:0;padding:70px 5% 25px;background:#121315f5;color:#fff;box-sizing:border-box}.photo-viewer::backdrop{background:#101113}.photo-viewer figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:15px;height:calc(100% - 65px)}.photo-viewer figure img{max-width:100%;height:calc(100% - 50px);object-fit:contain}.photo-viewer figcaption{text-align:center;font-size:13px;color:#d8dae0}.photo-viewer button{border:1px solid #ffffff60;background:#24262b;color:#fff;padding:12px 20px;font:inherit;font-size:12px;cursor:pointer}.photo-close{position:absolute;top:18px;right:5%}.photo-controls{display:flex;justify-content:center;gap:20px;margin-top:15px}.video-retry{position:absolute;z-index:20;top:40%;left:50%;transform:translateX(-50%);background:#17181ae8;color:#fff;border:1px solid #ffffff80;padding:14px;font-size:12px;cursor:pointer}.video-retry[hidden]{display:none}.film .poster video{width:100%;height:100%;object-fit:cover}.hero-scene:nth-child(2){object-position:center 35%}.hero-scene:nth-child(3){object-position:center 40%}html:has(.photo-viewer[open]){overflow:hidden}@media(max-width:800px){.photo-story{padding-top:60px;padding-bottom:60px}.photo-heading h2{font-size:42px}.photo-heading>p:last-child{font-size:14px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-viewer{padding:70px 4% 20px}.photo-viewer figcaption{font-size:12px}.photo-controls{gap:12px}.photo-viewer button{padding:12px 15px}}@media(prefers-reduced-motion:reduce){.photo-tile img{transition:none}}

/* Silent jobsite clips in the existing stacked deck. */
button.poster{display:block;width:100%;padding:0;border:0;background:#111;color:#fff;text-align:left;cursor:pointer;font:inherit}button.poster video{display:block;width:100%;height:100%;object-fit:contain;background:#111}button.poster:focus-visible{outline:3px solid #fff;outline-offset:5px}.film .poster small{pointer-events:none}

.film .poster video.landscape-clip{object-fit:contain}
