/* Photography: full compositions, quiet captions, two levels of emphasis. */
.film-section-nav{display:flex;gap:30px;flex-wrap:wrap;padding:0 var(--pad) 28px;background:#111410;color:var(--cream);border-bottom:1px solid #ffffff20}.film-section-nav a{font-size:14px;min-height:32px;display:flex;align-items:center;border-bottom:1px solid #c6ccbf80}.photography-section{padding:90px var(--pad) 100px;background:var(--cream);color:#1a211b;scroll-margin-top:100px}.photography-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:65px}.photography-heading>div>span{font:12px/1.5 monospace;color:#68705f;letter-spacing:.09em}.photography-heading h2{font-size:clamp(48px,7vw,105px);line-height:1;letter-spacing:-.065em;font-weight:500;margin:16px 0 0}.photography-heading>a{font-size:14px;white-space:nowrap}.photo-group-heading{display:flex;justify-content:space-between;align-items:baseline;padding-top:20px;border-top:1px solid #c8cbbc;margin-bottom:27px;gap:15px}.photo-group-heading h3{font-size:24px;font-weight:500;letter-spacing:-.04em;margin:0}.photo-group-heading>span{font:13px/1.5 monospace;color:#68705f}.photograph-grid{columns:3;column-gap:26px}.photograph-card{break-inside:avoid;margin:0 0 35px;page-break-inside:avoid;display:inline-block;width:100%;vertical-align:top}.photograph-card>button{display:block;border:0;background:#e5e5dc;padding:0;width:100%;cursor:zoom-in;overflow:hidden}.photograph-card img{display:block;width:100%;height:auto;object-fit:contain;transition:filter .2s}.photograph-card button:hover img{filter:brightness(1.045)}.photograph-card button:focus-visible{outline:3px solid #466044;outline-offset:5px}.photograph-card figcaption{display:flex;justify-content:space-between;align-items:center;font-size:15px;line-height:1.5;padding-top:11px;gap:15px}.photograph-card figcaption>span:last-child{font-size:18px;color:#67705e}.more-photo-heading{margin-top:65px;scroll-margin-top:100px}.more-photos{columns:4;column-gap:20px}.more-photos .photograph-card{margin-bottom:26px}.more-photos figcaption{font-size:13px;padding-top:8px}.photo-navigation{display:flex;gap:15px;justify-content:center;margin:8px 0 20px}.photo-navigation button{border:1px solid #ffffff55;color:var(--cream);background:transparent;padding:10px 18px;min-height:44px;font-size:14px;cursor:pointer}#lightbox:not([data-gallery-kind="photo"]) .photo-navigation{display:none}.about-photo img{object-fit:contain;background:#aeb1ad}.about-copy>p{line-height:1.6}
/* Each photograph gets a long hold. The fade finishes even when scrolling stops. */
.film-flipbook{width:calc(66.667% - var(--pad) - 38px)}.flipbook-image{aspect-ratio:auto;height:min(60vh,580px);background:transparent;box-shadow:none}.flipbook-image img{transition:opacity .42s ease;object-fit:contain;border:0}.flipbook-top{margin-bottom:14px}.flipbook-caption{font-size:13px;line-height:1.45;min-height:36px;align-items:start;gap:20px}.flipbook-caption>span:first-child{max-width:66%}.flipbook-caption>span:last-child{font:11px/1.5 monospace;text-align:right;max-width:33%}.photo-next-track{height:2px;background:#b4bdab6b;width:100%;margin-top:16px;overflow:hidden}.photo-next-track i{display:block;height:100%;background:#374c31;width:0}.flipbook-ticks{margin-top:10px}.flipbook-manual{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.flipbook-manual button{border:1px solid #8d9b80;background:transparent;color:inherit;width:40px;min-height:36px;cursor:pointer;font-size:19px}
/* Enter Websites in deliberate stages: blank, title, supporting copy and code. */
.work-stage .website-panel .web-copy{left:auto;right:var(--pad);width:calc(33.333% - var(--pad) - 30px)}.work-stage .website-panel .code-scene{left:0;right:33.333%;opacity:var(--code-entry-show,0);border:1px solid #ffffff29;border-left:0}.web-copy>.chapter-index,.web-copy>h2{opacity:var(--web-title-show,0);transform:translateY(calc((1 - var(--web-title-show,0))*15px))}.web-copy>p,.web-copy>.chapter-cta{opacity:var(--web-details-show,0);transform:translateY(calc((1 - var(--web-details-show,0))*12px))}.web-copy>p{line-height:1.65}.chapter-cta{transition:background .2s}.widget-presentation{pointer-events:none}.film-panel .film-copy p{font-size:15px}
@media(max-width:1000px){.photograph-grid{columns:2}.more-photos{columns:3}.photography-heading h2{font-size:65px}.photography-heading{margin-bottom:45px}.work-stage .website-panel .web-copy{right:35px;width:calc(33.333% - 60px)}}
@media(max-width:760px){.film-section-nav{gap:22px;padding-bottom:20px}.film-section-nav a{font-size:13px}.photography-section{padding:60px var(--pad) 65px}.photography-heading{display:block;margin-bottom:40px}.photography-heading h2{font-size:54px}.photography-heading>a{margin-top:22px;display:inline-block}.photo-group-heading h3{font-size:22px}.photo-group-heading>span{font-size:11px}.photograph-grid{column-gap:18px}.more-photos{columns:2}.photograph-card{margin-bottom:25px}.photograph-card figcaption{font-size:14px}.more-photos figcaption{font-size:12px}.more-photo-heading{margin-top:45px}.work-stage .website-panel .web-copy{left:22px;right:22px;top:80px;width:auto}.work-stage .website-panel .code-scene{left:0;right:5%;top:34%;bottom:55px}.web-copy p{font-size:13px;max-width:47%;line-height:1.5}.web-copy .chapter-cta{top:65px}.film-flipbook{left:22px;right:22px;width:auto;top:100px;transform:none}.flipbook-image{height:35vh;max-height:350px}.flipbook-caption{font-size:12px;gap:10px;min-height:34px}.flipbook-caption>span:last-child{font-size:10px}.flipbook-manual{margin-top:8px}.film-panel .film-copy p{font-size:13px}.film-panel .film-copy{bottom:78px}.film-flipbook .flipbook-top{font-size:11px}.about-copy>p{font-size:16px}.photo-navigation button{font-size:13px;padding:9px 14px}}
@media(max-width:600px){.featured-photos{columns:1}.photography-heading h2{font-size:48px}.featured-photos .photograph-card{margin-bottom:30px}.featured-photos .photograph-card img{max-height:none}.photography-section .more-photos{column-gap:14px}.more-photos .photograph-card{margin-bottom:20px}.photo-group-heading>span{font-size:10px}.photo-group-heading h3{font-size:20px}}
@media(max-height:720px) and (min-width:761px){.flipbook-image{height:48vh}.flipbook-manual{margin-top:6px}.flipbook-caption{min-height:24px}}
@media(max-height:700px) and (max-width:760px){.flipbook-image{height:30vh}.film-flipbook{top:90px}.film-panel .film-copy{bottom:64px}.flipbook-caption{font-size:10px;min-height:28px}.flipbook-caption>span:last-child{font-size:8px}.flipbook-manual button{min-height:30px}.work-stage .website-panel .web-copy{top:70px}.work-stage .website-panel .code-scene{top:36%;bottom:46px}.web-copy p{font-size:12px}.web-copy .chapter-cta{top:55px}}
@media(prefers-reduced-motion:reduce){.flipbook-image img{transition:none}.work-stage .website-panel .code-scene{opacity:1}.web-copy>.chapter-index,.web-copy>h2,.web-copy>p,.web-copy>.chapter-cta{opacity:1;transform:none}.photo-next-track{display:none}.flipbook-caption>span:last-child{display:none}.work-stage .website-panel .web-copy{left:var(--pad);right:auto}.work-stage .website-panel .code-scene{left:33.333%;right:0}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.work-stage .website-panel .web-copy{left:22px;right:22px}.work-stage .website-panel .code-scene{left:0;right:5%;top:300px}.film-panel{min-height:850px}}
.flipbook-image img{background:transparent;box-shadow:none;will-change:opacity}
@media(max-width:380px){.photography-heading h2{font-size:40px}}
/* The opener is a readable before → after image pair, designed for phones first. */
.web-opener{padding:40px var(--pad) 38px;background:var(--cream);color:#183426}.web-opener-heading>span{font:12px/1.5 monospace;letter-spacing:.07em;color:#66735d}.web-opener-heading h1{font-size:clamp(45px,6.6vw,94px);font-weight:500;line-height:1.01;letter-spacing:-.06em;margin:22px 0 24px}.web-opener-link{display:inline-flex;gap:28px;align-items:center;font-size:15px;line-height:1.4;padding:10px 0;border-bottom:1px solid #7e8b73;min-height:44px}.web-opener-link>span{font-size:20px}.website-transformation{display:grid;grid-template-columns:1fr;gap:0;margin-top:35px}.website-example{margin:0;min-width:0}.website-example figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:13px}.website-example figcaption>span{font-size:20px;letter-spacing:-.025em}.website-example figcaption>small{font-size:13px;line-height:1.5;color:#66735d}.website-example>img{display:block;width:100%;height:auto;aspect-ratio:1212/712;object-fit:contain;background:#e8e8e2;border:1px solid #d3d6c9;box-shadow:0 7px 26px #27381e0a}.transformation-arrow{display:flex;align-items:center;justify-content:center;height:76px;color:#2c4934}.transformation-arrow svg{display:block;width:42px;height:26px;transform:rotate(90deg);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.web-opener-note{font-size:14px;line-height:1.65;color:#67735d;margin:26px 0 0}#website-projects{scroll-margin-top:100px}
@media(min-width:761px){.web-opener{padding-top:45px}.web-opener-heading{position:relative}.web-opener-heading h1{margin-bottom:34px}.web-opener-link{position:absolute;right:0;bottom:6px}.website-transformation{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);margin-top:40px}.transformation-arrow{height:auto;padding-top:36px}.transformation-arrow svg{width:43px;height:28px;transform:none}.website-example figcaption>span{font-size:22px}.website-example figcaption>small{font-size:14px}.web-opener-note{text-align:right}}
@media(max-width:760px){.web-opener{padding-top:28px}.web-opener-heading>span{font-size:11px}.web-opener-heading h1{font-size:clamp(38px,10.5vw,66px);margin:18px 0 17px}.web-opener-link{font-size:14px;padding:7px 0}.website-transformation{margin-top:28px}.website-example figcaption>span{font-size:18px}.website-example figcaption>small{font-size:12px}.transformation-arrow{height:66px}.web-opener-note{font-size:13px;margin-top:23px}.web-project-info>b{min-height:44px;align-items:center}}
