@font-face{font-family:Caslon;src:url(assets/caslon.woff2) format('woff2');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#121310;color:#e9e8df;font-family:Arial,'DejaVu Sans',sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #beae8d;outline-offset:5px}.lab{padding:10px 3%;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #ffffff18;font:9px monospace;color:#a1a398}.lab a:last-child{font-family:monospace,'DejaVu Sans'}header{height:108px;display:flex;justify-content:space-between;align-items:center;padding:20px 3%;position:relative;z-index:5}.wordmark{font-size:18px;letter-spacing:-.5px;font-weight:600}.wordmark span{display:block;font:7px monospace;letter-spacing:1.2px;margin-top:9px}nav{display:flex;gap:29px;border:1px solid #ffffff2a;background:#22241e;padding:15px 24px;border-radius:30px;font-size:11px}nav span,.contact button span{font-family:'DejaVu Sans',sans-serif}.edition{font:8px/1.7 monospace;color:#9a9d91;text-align:right;letter-spacing:.4px}.hero{position:relative;margin:0 3%}.image-stage{position:relative;height:660px;overflow:hidden;background:#3e3d34}.image-stage>img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block;transition:transform .8s,filter .8s;filter:saturate(.8);transform:scale(1)}.image-stage[data-frame="1"]>img{transform:scale(1.35);transform-origin:62% 48%;filter:saturate(.75)}.image-stage[data-frame="2"]>img{transform:scale(2);transform-origin:66% 45%;filter:saturate(.5)}.image-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#0002 0%,transparent 35%,#0008 100%)}.shot-number,.image-credit{position:absolute;top:22px;font:8px monospace;letter-spacing:1px}.shot-number{left:23px}.image-credit{right:23px;font-size:7px}.frame-corners{position:absolute;inset:28px;opacity:0;transition:opacity .5s;background:linear-gradient(#fff9,#fff9) left top/24px 1px no-repeat,linear-gradient(#fff9,#fff9) left top/1px 24px no-repeat,linear-gradient(#fff9,#fff9) right bottom/24px 1px no-repeat,linear-gradient(#fff9,#fff9) right bottom/1px 24px no-repeat}.image-stage:not([data-frame="0"]) .frame-corners{opacity:1}.hero-heading{position:absolute;left:38px;right:38px;bottom:145px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.eyebrow{font:8px/1.7 monospace;letter-spacing:1px}.hero-heading .eyebrow{font-size:7px;letter-spacing:1.5px}h1{font:116px/.85 Caslon,Georgia,serif;font-weight:400;letter-spacing:-4px;margin:22px 0 0}h1 i,h2 i{font-weight:400}.hero-deck{font:16px/1.5 Caslon,Georgia,serif;margin:0 5px 10px;color:#eeeee3}.film-strip{min-height:104px;display:flex;justify-content:space-between;gap:30px;align-items:center;border-bottom:1px solid #fff3;padding:17px 0}.shot-data{display:grid;grid-template-columns:80px 1fr;gap:7px 12px;align-items:center}.shot-data>span{font:7px monospace;color:#a6aa9c}.shot-data strong{font:17px Caslon,Georgia,serif;font-weight:400}.shot-data small{grid-column:2;font:6px monospace;color:#a6aa9c;letter-spacing:.5px}.frame-controls{display:flex;gap:27px}.scene{border:0;background:none;display:flex;align-items:center;gap:10px;font:7px monospace;color:#777d70;padding:10px 0}.scene.active{color:#fff}.frame-icon{display:block;width:24px;height:16px;border:1px solid currentColor;position:relative}.portrait{width:13px;height:19px}.detail{width:15px;height:15px}.scene.active .frame-icon:after{content:'';position:absolute;inset:3px;background:currentColor;opacity:.5}#next-scene{padding:12px 0;border:0;background:none;font:8px monospace;color:#b9bdad}.introduction{padding:110px 8%;display:grid;grid-template-columns:1fr 2.8fr;gap:40px}.introduction>.eyebrow{color:#919787}h2{font:64px/1.04 Caslon,Georgia,serif;font-weight:400;letter-spacing:-1.8px;margin:0}.introduction h2{font-size:72px;max-width:740px}.intro-detail{display:flex;gap:60px;max-width:730px;margin-top:42px}.intro-detail p{font-size:12px;line-height:1.8;color:#a3a89a;max-width:320px;margin:0}.case-study{padding:45px 5% 65px;background:#1d211b}.case-top{display:flex;justify-content:space-between;border-top:1px solid #949b7f55;padding-top:15px;color:#a3ad94}.case-title{display:flex;justify-content:space-between;align-items:flex-end;padding:48px 0}.case-title h2{font-size:80px}.case-title>p{font:9px/2 monospace;color:#a8b09c}.contact-sheet{display:grid;grid-template-columns:1.45fr .85fr .6fr;gap:26px;align-items:end}.contact-sheet figure{margin:0}.contact-sheet button{display:block;width:100%;padding:0;border:0;background:#333b2d;overflow:hidden}.contact-sheet img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s}.contact-sheet button:hover img{transform:scale(1.04)}.frame-a button{height:390px}.frame-a img{object-position:60% 50%}.frame-b button{height:470px}.frame-b img{object-position:64% 50%;transform:scale(1.25)}.frame-b button:hover img{transform:scale(1.3)}.frame-c button{height:260px}.frame-c img{object-position:70% 45%;transform:scale(1.8)}.frame-c button:hover img{transform:scale(1.9)}figcaption{display:flex;justify-content:space-between;gap:7px;margin-top:13px;font:6px monospace;letter-spacing:.5px;color:#acb49f}.case-notes{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:70px;padding-top:50px}.case-notes>p{font:15px/1.6 Caslon,Georgia,serif;margin:0}.case-notes dl{margin:0}.case-notes dl>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #7b876e44;padding:0 0 12px;margin-bottom:12px}.case-notes dt{font:6px monospace;color:#a2ad96}.case-notes dd{font:9px Arial,sans-serif;margin:0}.practice{padding:100px 8%;display:grid;grid-template-columns:1fr 1fr;gap:100px}.practice h2{font-size:53px;margin-top:35px}.approach-details{padding-top:8px}details{border-top:1px solid #c5ccba44;padding:22px 0}details:last-child{border-bottom:1px solid #c5ccba44}summary{display:flex;align-items:center;font-size:16px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font:7px monospace;color:#9ca593;margin-right:35px}summary b{margin-left:auto;font-weight:400;color:#a2ad93}details p{font:11px/1.8 Arial,sans-serif;color:#9ca593;margin:20px 20px 0 45px;max-width:330px}.contact{border-top:1px solid #c5ccba33;margin:0 3%;padding:70px 5% 90px}.contact>div{display:flex;align-items:flex-end;justify-content:space-between;margin-top:40px}.contact h2{font-size:88px}.contact button{background:none;border:0;border-bottom:1px solid #b8c2aa66;display:flex;gap:50px;align-items:center;padding:0 0 15px;font:9px monospace}.contact button span{font-size:24px}.contact>p{font:11px/1.7 monospace;max-width:450px;margin-top:30px;color:#a6b19b}footer{margin:0 3%;padding:26px 0;border-top:1px solid #c5ccba33;display:flex;align-items:center;justify-content:space-between;gap:20px}footer strong{font-size:13px;letter-spacing:-.3px}footer>span{font:7px/1.8 monospace;color:#8b9481}footer>div{display:flex;gap:30px;font:8px monospace}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1600px){.image-stage{height:760px}}@media(max-width:900px){.edition{display:none}.introduction{grid-template-columns:1fr}.introduction h2{font-size:62px}.case-notes{gap:25px}.contact-sheet{gap:15px}.frame-a button{height:340px}.frame-b button{height:400px}.frame-c button{height:220px}.practice{gap:40px}.contact h2{font-size:68px}.frame-controls{gap:18px}.shot-data{grid-template-columns:1fr}.shot-data>span{display:none}.shot-data small{grid-column:1}.hero-heading{left:25px;right:25px}h1{font-size:95px}}@media(max-width:600px){.lab{padding:9px 5%;font-size:8px}.lab>a:last-child{display:none}header{height:97px;padding:20px 5%}.wordmark{font-size:13px;max-width:125px;line-height:1.2}.wordmark span{font-size:5px;letter-spacing:.7px;max-width:100px;margin-top:7px}nav{padding:12px 14px;gap:15px;font-size:9px}nav a:last-child{display:none}.hero{margin:0 4%}.image-stage{height:590px}.image-stage>img{object-position:62% 50%}.image-stage[data-frame="1"]>img{transform:scale(1.23);transform-origin:61% 45%}.image-stage[data-frame="2"]>img{transform:scale(1.7);transform-origin:61% 40%}.shot-number{left:15px;top:17px;font-size:6px}.image-credit{right:15px;top:17px;font-size:5px;max-width:125px;text-align:right;line-height:1.6}.hero-heading{left:19px;right:19px;bottom:190px;display:block}.hero-heading .eyebrow{font-size:5px;letter-spacing:.8px}h1{font-size:72px;letter-spacing:-2px;line-height:.9;margin-top:17px}.hero-deck{font-size:13px;margin-top:20px}.film-strip{display:grid;grid-template-columns:1fr auto;gap:18px;min-height:147px;padding:20px 3px}.shot-data strong{font-size:16px}.shot-data small{font-size:5px}.frame-controls{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:15px;padding:0 5px}.scene{font-size:7px}.frame-icon{width:21px;height:14px}.portrait{width:12px;height:18px}.detail{width:14px;height:14px}#next-scene{grid-column:2;grid-row:1;font-size:6px}.introduction{padding:65px 7%;gap:27px}.introduction h2{font-size:47px;letter-spacing:-1px}.intro-detail{display:block;margin-top:30px}.intro-detail p{font-size:11px;line-height:1.8;margin-top:18px;max-width:290px}.case-study{padding:30px 6% 45px}.case-top .eyebrow{font-size:6px;letter-spacing:.3px;max-width:150px}.case-top .eyebrow:last-child{text-align:right}.case-title{padding:35px 0;display:block}.case-title h2{font-size:62px;letter-spacing:-1px}.case-title p{font-size:7px;line-height:1.8;margin-top:25px}.contact-sheet{grid-template-columns:1fr 1fr;gap:30px 17px}.frame-a{grid-column:1/-1}.frame-a button{height:300px}.frame-b button{height:285px}.frame-c button{height:190px}figcaption{font-size:5px;gap:4px;line-height:1.6;flex-direction:column}.case-notes{grid-template-columns:1fr;gap:23px;padding-top:40px}.case-notes>p{font-size:17px;max-width:310px}.case-notes dl{margin-top:10px}.case-notes dt{font-size:6px}.case-notes dd{font-size:9px}.practice{padding:60px 7%;grid-template-columns:1fr;gap:35px}.practice h2{font-size:46px;margin-top:25px}summary{font-size:15px}details p{font-size:11px}.contact{padding:50px 3% 60px}.contact>div{display:block;margin-top:30px}.contact h2{font-size:60px;letter-spacing:-1px}.contact button{margin-top:35px;width:100%;justify-content:space-between;font-size:8px}.contact .eyebrow{font-size:7px}footer{flex-wrap:wrap;margin:0 6%;padding:25px 0;gap:20px}footer strong{font-size:12px}footer>span{font-size:6px}footer>div{width:100%;justify-content:space-between;font-size:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
/* Readable editorial UI; tiny type is reserved for image-object markings. */
.lab{font-size:11px}.eyebrow{font-size:11px}.wordmark span{font-size:10px}.edition{font-size:10px}nav{font-size:13px}.shot-number{font-size:11px}.image-credit{font-size:10px}.hero-heading .eyebrow{font-size:11px}.shot-data>span{font-size:10px}.shot-data small{font-size:10px}.scene{font-size:11px}#next-scene{font-size:11px}.intro-detail p{font-size:15px}.case-title>p{font-size:12px}.case-notes dt{font-size:10px}.case-notes dd{font-size:12px}figcaption{font-size:10px}details p{font-size:14px}summary>span{font-size:10px}.contact button{font-size:12px}footer>span{font-size:10px}footer>div{font-size:11px}.contact>p{font-size:13px}
@media(max-width:600px){.lab{font-size:11px}.wordmark{font-size:15px;max-width:130px}.wordmark span{font-size:8px;letter-spacing:.2px;max-width:120px}nav{font-size:11px;gap:13px;padding:12px}.shot-number,.image-credit{font-size:11px;letter-spacing:0}.image-credit{max-width:150px}.hero-heading .eyebrow{font-size:11px;letter-spacing:.2px;max-width:250px;line-height:1.7}.hero-heading{bottom:210px}.hero-deck{font-size:18px;line-height:1.3}.film-strip{min-height:175px;grid-template-columns:1fr 85px;gap:16px}.shot-data strong{font-size:22px}.shot-data small{font-size:11px;line-height:1.5;letter-spacing:0;max-width:200px}.scene{font-size:11px;gap:8px}.frame-controls{gap:10px;padding:0}#next-scene{font-size:11px;line-height:1.5;text-align:right}.eyebrow,.case-top .eyebrow,.contact .eyebrow{font-size:11px;letter-spacing:.2px}.case-top .eyebrow{max-width:145px}.intro-detail p{font-size:16px;max-width:none;line-height:1.65}.case-title p{font-size:14px;line-height:1.7}figcaption{font-size:11px;letter-spacing:0}.case-notes>p{font-size:21px}.case-notes dt{font-size:11px}.case-notes dd{font-size:14px;max-width:190px;text-align:right}.case-notes dl>div{padding-bottom:15px;margin-bottom:15px}.practice h2{font-size:46px}summary{font-size:18px}summary>span{font-size:11px}details p{font-size:16px;margin-left:0;line-height:1.65}.contact button{font-size:12px}.contact>p{font-size:14px;line-height:1.7}footer strong{font-size:16px}footer>span{font-size:11px;line-height:1.7}footer>div{font-size:11px}}
nav,.scene,#next-scene,.contact button,footer>div,.lab a{font-size:14px}.frame-controls{gap:24px}.scene{min-height:44px}.contact button{padding-top:12px}#next-scene{min-height:44px}.film-strip{gap:20px}.shot-data small{max-width:280px;line-height:1.5}
@media(max-width:600px){nav{font-size:12px}.scene{font-size:14px;gap:8px}.frame-controls{gap:10px}.contact button{font-size:14px}#next-scene{font-size:12px}.lab a,footer>div{font-size:12px}.shot-data small{max-width:205px}.hero-heading{bottom:220px}}
@media(max-width:600px){nav{font-size:14px;gap:12px;padding:12px}.wordmark{max-width:120px;font-size:14px}.lab a,footer>div,#next-scene{font-size:14px}}
@media(max-width:600px){.wordmark span{font-size:11px;line-height:1.4;letter-spacing:0}header{height:112px}}

/* BEGIN GENERATED PHOTO INTEGRATION 03 — review focal positions against originals */
.image-stage>img,.image-stage[data-frame="1"]>img,.image-stage[data-frame="2"]>img{transform:none;filter:saturate(.85)}
.image-stage[data-frame="0"]>img{object-position:62% 50%}
.image-stage[data-frame="1"]>img{object-position:28% 50%}
.image-stage[data-frame="2"]>img{object-position:30% 50%}
.contact-sheet .frame-a img{object-position:62% 50%;transform:none}
.contact-sheet .frame-b img{object-position:28% 50%;transform:none}
.contact-sheet .frame-c img{object-position:30% 50%;transform:none}
.contact-sheet button:hover img{transform:scale(1.025)}
.image-credit{max-width:340px;line-height:1.5;text-align:right}
@media(max-width:600px){
 .image-stage[data-frame="0"]>img{object-position:62% 45%}
 .image-stage[data-frame="1"]>img{object-position:28% 45%}
 .image-stage[data-frame="2"]>img{object-position:30% 45%}
 .image-credit{max-width:160px;font-size:11px;line-height:1.5}
 .frame-controls{gap:10px}.scene{font-size:14px}
}
/* END GENERATED PHOTO INTEGRATION 03 */

nav a{text-transform:capitalize}
@media(max-width:760px){nav a{min-height:44px;display:inline-flex;align-items:center}}
