/* A fixed inset box, never a flex-sized image: the glass rim is equal on every edge. */
:root{--photo-rim:10px}
.flow-art,.photo-index .glass-gallery>button,.photo-ribbon .project-card .image{display:block;position:relative;padding:0!important;overflow:hidden;box-sizing:border-box}
.flow-art img,.photo-index .glass-gallery>button img,.photo-ribbon .project-card .image img{position:absolute!important;inset:var(--photo-rim)!important;width:calc(100% - var(--photo-rim)*2)!important;height:calc(100% - var(--photo-rim)*2)!important;min-width:0;min-height:0;max-width:none;max-height:none;margin:0!important;padding:0!important;object-fit:cover!important;border-radius:8px;transform:none!important}
.flow-reflection{display:none}.flow-card{margin-right:calc(var(--photo-width)*-.25);transform-origin:50% 60%}.flow-track{padding-top:72px;height:calc(var(--photo-height) + 230px);perspective:1200px;scroll-snap-type:x proximity;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom}.flow-art{border-radius:18px}.flow-status{margin-top:-30px}
.photo-ribbon{padding-block:65px 95px;gap:30px;position:relative;scroll-snap-type:x proximity;touch-action:pan-x pan-y pinch-zoom}.photo-ribbon .project-card{transform-origin:50% 60%}.photo-ribbon .project-card .image{height:350px!important;aspect-ratio:4/5}.photo-ribbon .project-card .tile-caption{position:relative}
.scroll-crest{height:175svh;min-height:900px;position:relative;margin:65px 0}.crest-sticky{position:sticky;top:100px;width:min(100%,1000px);margin-inline:auto;padding:10px 22px 24px}.crest-heading{text-align:center}.crest-heading h2{font-size:clamp(28px,4vw,46px);margin:13px 0}.crest-heading p{color:#bdc7d0;font-size:13px;line-height:1.6}.crest-glass{padding:12px;border:1px solid #ffffff40;border-radius:24px;background:linear-gradient(140deg,#b3cfff28,#ffffff07);box-shadow:var(--panel-edge);margin-top:22px;overflow:hidden}.crest-frame{width:100%;height:auto;aspect-ratio:16/9;max-height:48svh;object-fit:contain;display:block;border-radius:14px}.crest-control{display:flex;align-items:center;gap:16px;font-size:12px;min-height:48px;margin:18px 0 0}.crest-range{flex:1;min-width:40px;height:44px;accent-color:#dcc9a3;cursor:ew-resize}.crest-count{min-width:60px;font-variant-numeric:tabular-nums}.crest-status{font-size:12px;color:#e3ceac;min-height:0}.crest-status:empty{display:none}.crest-film{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.magazine{margin:32px 0 50px;padding:clamp(18px,3vw,40px);border:1px solid #ffffff30;border-radius:24px;background:radial-gradient(ellipse at 50% 45%,#ccd5d91c,transparent 65%),linear-gradient(140deg,#ffffff0b,#ffffff03);box-shadow:var(--panel-edge)}
.book-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:32px}.book-heading h2{font-size:clamp(24px,3vw,36px);margin:12px 0 0}.book-heading p{font-size:12px;color:#bac4cc;max-width:200px;line-height:1.6}.book-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:relative;width:min(100%,840px);margin:auto;perspective:1800px;touch-action:pan-y pinch-zoom;outline-offset:10px}.book-stage.single{width:min(100%,420px);grid-template-columns:minmax(0,1fr)}.book-page{display:block;padding:0;border:0;background:#e8e5dd;position:relative;aspect-ratio:3/4;min-width:0;overflow:hidden;box-shadow:0 16px 35px #0008;transform-origin:left center;cursor:zoom-in}.book-page img{display:block;width:100%;height:100%;object-fit:contain;max-height:none;border-radius:0}.book-page[hidden]{display:none!important}.book-ready .book-stage:not(.single) .book-page:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#00000010,transparent 5%,transparent 95%,#00000010)}.book-turn{position:absolute;inset:0 auto 0 0;width:50%;z-index:5;pointer-events:none;backface-visibility:hidden}.book-stage.single .book-turn{width:100%}.book-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px}.book-controls button{min-width:88px;min-height:46px;padding:12px 18px;border:1px solid #ffffff20;border-radius:15px;background:var(--soft-face);box-shadow:var(--soft-raised);color:#f0f3f6}.book-controls button:disabled{opacity:.35;box-shadow:none;cursor:default}.book-count{font-size:12px;font-variant-numeric:tabular-nums;text-align:center;min-width:140px}.book-help{text-align:center;color:#b4bfc8;font-size:11px;margin:19px 0 4px}.book-pdf{display:flex;justify-content:center;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.original-spreads>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-size:14px}.original-spreads .project-gallery{margin-top:20px}.book-controls button:focus-visible,.book-page:focus-visible,.crest-range:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:800px){:root{--photo-rim:8px}.flow-track{padding-top:65px;height:calc(var(--photo-height) + 210px)}.flow-art{border-radius:15px}.photo-ribbon{gap:22px}.crest-sticky{top:88px;padding-inline:0}.scroll-crest{height:155svh;min-height:780px;margin:45px 0}.crest-heading h2{font-size:30px}.crest-heading p{font-size:12px}.crest-glass{padding:8px;border-radius:18px}.crest-frame{border-radius:11px;max-height:43svh}.crest-control{gap:10px}.magazine{padding:16px;margin-top:20px;border-radius:18px}.book-heading{display:block;margin-bottom:24px}.book-heading p{max-width:none;margin-top:12px}.book-stage,.book-stage.single{width:min(100%,440px);grid-template-columns:1fr}.book-turn{width:100%}.book-controls{gap:10px;margin-top:24px}.book-controls button{min-width:70px;padding:11px 12px}.book-count{min-width:0;flex:1;font-size:11px}}
@media(max-height:550px) and (orientation:landscape){.crest-sticky{top:82px}.crest-heading h2{font-size:22px;margin:4px 0}.crest-heading p{display:none}.crest-glass{margin-top:10px;width:min(60%,520px);margin-inline:auto}.crest-frame{max-height:32svh}.crest-control{max-width:550px;margin:8px auto 0}.crest-film{display:flex;justify-content:center}}
@media(prefers-reduced-motion:reduce){.flow-card,.photo-ribbon .project-card{transform:none!important;opacity:1!important;will-change:auto}.flow-card{margin-right:20px}.scroll-crest{height:auto;min-height:0}.crest-sticky{position:static}.book-turn{display:none}.flow-track{scroll-snap-type:x proximity}}
@media(prefers-reduced-transparency:reduce){.magazine,.crest-glass{background:#202731}}
@media(prefers-contrast:more){.magazine,.crest-glass,.book-controls button{border-color:#eee}.book-help,.crest-heading p,.book-heading p{color:#fff}}
