/* This revision: films replace the first photo dock; tall films keep their shape. */
.details-zone{padding:0;background:#1e1f1c;scroll-margin-top:var(--header);overflow:hidden}
.details-reel{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:0;width:100%;overflow:hidden}
.detail-cell-reel{position:relative;aspect-ratio:3/4;min-width:0;min-height:0;overflow:hidden}
.detail-cell{overflow:hidden;background:#1e1f1c}
.detail-cell>.film{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;background:transparent}
.detail-cell .film>img,.detail-cell .film>video{width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:none}
.detail-room{position:absolute;inset:auto 0 0;padding:22px 12px 10px;background:linear-gradient(transparent,#14201999);color:#fff;font-size:7px;letter-spacing:.1em;pointer-events:none}
.details-reel .is-entering{animation:scene-dissolve 1.6s ease both}
.living-films{background:#202720}
.living-films .film-composition{display:grid;grid-template-columns:1fr;gap:0;background:#202720}
.living-films .film-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.living-films .film-composition>.film{position:relative;inset:auto;width:100%;height:100%;min-width:0;aspect-ratio:auto;background:transparent;overflow:hidden}
.living-films .film-count-2>.film>img,.living-films .film-count-2>.film>video{object-fit:contain}
.living-films .portfolio-copy h2{font-size:clamp(58px,6vw,96px)}
.living-films .portfolio-shade{background:linear-gradient(0deg,#152019b8,transparent 43%,transparent 86%,#15201955)}
.architecture-chapter{position:relative;background:#202720;color:#fff;scroll-margin-top:var(--header)}
.architecture-heading{position:absolute;inset:0 0 auto;z-index:8;display:flex;align-items:flex-start;justify-content:space-between;gap:36px;padding:25px var(--gutter) 40px;pointer-events:none;background:linear-gradient(#111b176e,transparent);color:#fff;text-shadow:0 2px 20px #111b1760}
.architecture-heading .mono{font-size:9px;letter-spacing:.12em;line-height:1.9}
.architecture-heading h2{font-size:clamp(28px,2.3vw,38px);letter-spacing:-.05em;line-height:1;margin-top:10px}
.architecture-heading h2 em{font-family:Georgia,serif;font-weight:400;line-height:1.1}
.architecture-heading p{text-align:right;padding-top:4px}
.architecture-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#202720}
.architecture-panel{--split:50%;position:relative;height:calc((100svh - var(--header)) * .666667);min-height:433px;max-height:653px;isolation:isolate;overflow:hidden;scroll-margin-top:var(--header)}
.architecture-panel .scene-backdrop{transform:none;transition:none}
.architecture-panel .film>img,.architecture-panel .film>video{object-fit:cover;object-position:50% 50%;filter:none}
.architecture-panel .photo-plane{position:absolute;inset:0;opacity:1;filter:none;transform:none;mask-image:linear-gradient(90deg,transparent calc(var(--split) - 3%),#000 calc(var(--split) + 3%))}
.architecture-panel .photo-plane>.film{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.architecture-panel .photo-plane .film>img,.architecture-panel .photo-plane .film>video{width:100%;height:100%;object-fit:cover}
.architecture-shade{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(0deg,#111c17c4,transparent 42%,transparent 85%,#111c1770)}
.architecture-labels{position:absolute;top:154px;left:28px;right:28px;z-index:4;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;pointer-events:none}
.architecture-copy{position:absolute;z-index:4;bottom:42px;left:7%;right:7%;pointer-events:none}
.architecture-copy>.mono{font-size:8px;letter-spacing:.16em}
.architecture-copy h3{font:italic clamp(28px,3.2vw,54px)/1.08 Georgia,serif;letter-spacing:-.035em;margin-top:13px}
.architecture-seam{position:absolute;left:var(--split);top:0;bottom:0;width:1px;background:#ffffff35;z-index:5;pointer-events:none}
.architecture-seam>span{position:absolute;top:47%;left:0;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid #ffffff99;border-radius:50%;width:40px;height:40px;font-size:22px;background:#1d292330;backdrop-filter:blur(6px)}
.architecture-control{position:absolute;inset:0;z-index:6}
.architecture-control input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.architecture-control:focus-within{outline:2px solid #fff;outline-offset:-5px}
