/* Page-local stages share a projection edge; the image itself stays untouched. */
.page-framing{--paper:#171219;--ink:#f1e8e1;--muted:#c3b4bd;--line:#efe2e12b;--accent:#d1a2a6;background:var(--paper);color:var(--ink)}
.framing-opening,.framing-crop-section,.framing-space,.framing-video-section,.framing-reading{padding:100px var(--gutter);position:relative;overflow:hidden;isolation:isolate}
.framing-opening{padding-top:150px;padding-bottom:75px;background:radial-gradient(ellipse at 45% 68%,#50384066,transparent 68%),#171219}
.framing-heading{max-width:1280px;margin:auto auto 55px}.framing-heading>.eyebrow{margin-bottom:28px}.framing-heading>div{display:flex;justify-content:space-between;align-items:end;gap:40px}.framing-heading h1{font-size:clamp(44px,5.4vw,82px);line-height:1.22;letter-spacing:-.015em;word-spacing:.04em}.framing-heading p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:270px;color:var(--muted);padding-bottom:6px}
.screen-figure{margin:0;position:relative}.screen-mount{position:relative;isolation:isolate;transform-origin:center}.screen-aura{position:absolute;inset:-13% -7%;background:radial-gradient(ellipse,color-mix(in srgb,var(--screen-a) 34%,transparent),transparent 70%);filter:blur(25px);z-index:-1;pointer-events:none}.screen-plane{position:relative;border:1px solid #fff5;box-shadow:0 0 0 5px #fff02,0 10px 45px #0003}.screen-plane img{display:block;width:100%;height:auto}.screen-figure .image-credit{margin-top:18px;line-height:1.5}.opening-screen{max-width:920px;margin:auto}.opening-screen .screen-mount{will-change:transform}.opening-footnote{display:flex;justify-content:space-between;align-items:center;gap:25px;max-width:920px;margin:36px auto 0}.opening-footnote>span{font-size:9px;letter-spacing:.15em;color:var(--muted)}.opening-footnote .arrow-link{font-size:12px}
.frame-block-heading{max-width:900px;margin-bottom:38px}.frame-block-heading h2{font-size:clamp(37px,4.5vw,68px);line-height:1.06;margin:20px 0 24px;letter-spacing:-.025em}.frame-block-heading>p:last-child{font-size:15px;line-height:1.7;color:var(--muted)}
.framing-crop-section{background:#e9e0d6;--ink:#302430;--muted:#67555e;--line:#30243030;color:var(--ink)}
.frame-ratio-toolbar{display:none;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:25px 0}.framing-ready .frame-ratio-toolbar{display:flex}.frame-ratio-buttons{display:flex;gap:8px;flex-wrap:wrap}.frame-ratio-toolbar button{border:1px solid var(--line);padding:10px 17px;background:transparent;color:inherit;font:12px var(--body);border-radius:2px}.frame-ratio-toolbar button[aria-pressed=true]{background:var(--ink);color:#f8f1e8;border-color:var(--ink)}.frame-ratio-toolbar button:focus-visible,.frame-video-options button:focus-visible,.frame-video-options input:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.frame-crop-figure{margin:0}.frame-crop-stage{--frame-stage-height:clamp(380px,66vh,570px);height:var(--frame-stage-height);background:#19151b;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;isolation:isolate;color:#ece4df;border:1px solid #51404d}.frame-crop-window{position:relative;width:min(91%,calc(var(--frame-stage-height)*.84*var(--frame-native-ratio)));max-width:91%;overflow:hidden;border:1px solid #f5eae499;box-shadow:0 0 0 5px #fff02}.frame-crop-window img{display:block;width:100%;height:auto}.frame-outside-image{display:none}.framing-ready .frame-outside-image{display:block;position:absolute;top:50%;left:50%;width:var(--frame-photo-width);height:var(--frame-photo-height);max-width:none;transform:translate(-50%,-50%);opacity:0;transition:opacity 300ms ease;pointer-events:none}.framing-ready .show-outside .frame-outside-image{opacity:.12}.framing-ready .frame-crop-window{position:absolute;left:calc(50% - var(--frame-photo-width)/2 + var(--frame-crop-x));top:calc(50% - var(--frame-photo-height)/2 + var(--frame-crop-y));max-width:none;border:0;box-shadow:0 0 0 1px #f5eae499,0 0 0 6px #fff02}.framing-ready .frame-crop-window img{position:absolute;top:calc(-1*var(--frame-crop-y));left:calc(-1*var(--frame-crop-x));width:var(--frame-photo-width);height:var(--frame-photo-height);max-width:none;transform:none;object-fit:contain}.frame-crop-window.manual{transition:width 650ms cubic-bezier(.2,.75,.2,1),height 650ms cubic-bezier(.2,.75,.2,1),left 650ms cubic-bezier(.2,.75,.2,1),top 650ms cubic-bezier(.2,.75,.2,1)}.frame-crop-window.manual img{transition:left 650ms cubic-bezier(.2,.75,.2,1),top 650ms cubic-bezier(.2,.75,.2,1)}.frame-ratio-readout{position:absolute;right:20px;bottom:17px;font-size:13px;font-variant-numeric:tabular-nums}.frame-mode-label{position:absolute;left:20px;bottom:18px;font-size:9px;letter-spacing:.14em}.frame-crop-figure>.image-credit{margin-top:15px;line-height:1.5}
.frame-crop-explanation{display:grid;grid-template-columns:1.1fr 1fr;gap:22px 70px;margin-top:38px}.frame-crop-explanation .crop-disclaimer{grid-column:1/-1;font-size:11px;letter-spacing:.03em}.frame-crop-explanation p{font-size:15px;line-height:1.8}.frame-crop-explanation aside{border-left:1px solid var(--line);padding-left:30px}.frame-crop-explanation aside p{font-size:13px;margin:15px 0}.frame-crop-explanation aside a{font-size:11px;text-decoration:underline}
.framing-space{background:#12161a;--muted:#b8bec4}.framing-panorama{max-width:1280px;margin:55px auto 0}.frame-case-note{max-width:720px;margin:45px 0 80px;line-height:1.8;font-size:15px}.frame-case-note .arrow-link{margin-top:22px;font-size:12px}.framing-pair{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.framing-pair .framing-case:last-child{padding-top:100px}.framing-case .frame-copy{margin-top:32px}.framing-case h3{font-size:clamp(28px,2.8vw,44px);line-height:1.15;margin:18px 0}.framing-case p:not(.eyebrow){max-width:45ch;font-size:14px;line-height:1.8;color:var(--muted)}.framing-case .arrow-link{margin-top:24px;font-size:12px}
.framing-video-section{background:#241c20;--muted:#c7b8bf}.framing-video-section .film-player{max-width:1080px;margin:50px auto 0}.framing-video-section .film-screen{border:1px solid #eedbdd6b;box-shadow:0 0 45px #a2634c1a}.framing-video-section .film-screen video{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#000}.frame-video-options{display:none;max-width:1080px;margin:24px auto;align-items:center;gap:28px;flex-wrap:wrap;font-size:12px}.framing-ready .frame-video-options{display:flex}.frame-video-options button{background:none;color:inherit;font:inherit;border:1px solid var(--line);padding:10px 15px}.frame-video-options label{display:flex;gap:9px;align-items:center}.frame-video-options>span{font-size:9px;letter-spacing:.1em;color:var(--muted)}.frame-video-note{max-width:1080px;margin:25px auto 40px;font-size:12px;line-height:1.8;color:var(--muted)}.framing-contact-sheet{max-width:1080px;margin:55px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.framing-contact-sheet .image-credit{font-size:9px}.framing-contact-sheet .screen-plane{border-color:#fff3}
.framing-reading{background:#e9e0d6;--ink:#302430;--muted:#67555e;--line:#30243030;color:var(--ink)}.framing-reading .read-full{max-width:1000px}.frame-ending{margin-top:90px;max-width:850px}.frame-ending p{font:clamp(27px,3.5vw,48px)/1.3 var(--serif)}.frame-ending .arrow-link{margin-top:30px}
.framing-ready .frame-copy-ready>:not(.eyebrow){opacity:0;transform:translateY(12px);transition:opacity 550ms ease,transform 550ms ease}.framing-ready .frame-copy-ready .eyebrow{opacity:0;transform:translateY(10px);transition:opacity 450ms,transform 450ms}.framing-ready .frame-copy-ready.is-visible>*{opacity:1;transform:none}.frame-copy-ready.is-visible>h2,.frame-copy-ready.is-visible>h3{transition-delay:80ms}.frame-copy-ready.is-visible>p:not(.eyebrow){transition-delay:160ms}.frame-copy-ready.is-visible>a{transition-delay:240ms}
body.reduced .frame-crop-window.manual,body.reduced .frame-crop-window.manual img,body.reduced .frame-outside-image{transition:none}body.reduced .frame-copy-ready>*{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.frame-crop-window.manual,.frame-crop-window.manual img,.frame-outside-image{transition:none}.framing-ready .frame-copy-ready>*{opacity:1!important;transform:none!important;transition:none!important}}
@media(max-width:760px){.framing-opening,.framing-crop-section,.framing-space,.framing-video-section,.framing-reading{padding:65px var(--gutter)}.framing-opening{padding-top:125px}.framing-heading{margin-bottom:35px}.framing-heading>div{display:block}.framing-heading h1{font-size:clamp(38px,10vw,57px)}.framing-heading p:not(.eyebrow){margin-top:24px}.opening-footnote{display:block;margin-top:25px}.opening-footnote .arrow-link{margin-top:20px}.frame-block-heading h2{font-size:36px}.frame-block-heading>p:last-child{font-size:13px}.frame-follow{display:none}.frame-ratio-buttons{gap:7px}.frame-ratio-toolbar button{font-size:11px;padding:9px 10px}.frame-crop-stage{--frame-stage-height:330px;height:330px}.frame-mode-label{font-size:7px;left:12px;bottom:14px;letter-spacing:.04em}.frame-ratio-readout{right:12px;font-size:11px;bottom:13px}.frame-crop-explanation{grid-template-columns:1fr;gap:25px}.frame-crop-explanation .crop-disclaimer{grid-column:auto}.frame-crop-explanation aside{padding-left:20px}.frame-crop-explanation p{font-size:14px}.framing-pair{grid-template-columns:1fr;gap:55px}.framing-pair .framing-case:last-child{padding-top:0}.frame-case-note{margin-bottom:55px}.framing-case h3{font-size:30px}.framing-contact-sheet{grid-template-columns:1fr;gap:32px}.frame-video-options{gap:18px;font-size:11px}.frame-video-options>span{width:100%}.frame-ending{margin-top:60px}.framing-ready .frame-copy-ready:not(.is-visible)>:not(.eyebrow){transform:translateY(8px)}}
