/* Project stories: generous photography, complete frames, a quiet editorial rhythm. */
.gallery-page{background:var(--paper);color:var(--ink)}
.gallery-page main{padding-top:48px}
.gallery-breadcrumb{display:flex;justify-content:space-between;align-items:center;padding:24px 5% 0;gap:20px;font-size:12px}
.gallery-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.gallery-breadcrumb>span{color:var(--muted);font-size:10px;letter-spacing:.12em}
.gallery-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;padding:45px 5% 58px}
.gallery-intro .eyebrow{font-size:10px}
.gallery-intro h1{font-size:clamp(48px,7.4vw,116px);line-height:1.02;letter-spacing:-.055em;max-width:1100px}
.gallery-intro h1>span:not(.orange-dot){display:block;color:var(--muted);font-size:.42em;letter-spacing:-.035em;line-height:1.2;margin-top:12px}
.gallery-intro h1>.orange-dot{display:none}
.project-client{flex:0 0 180px;text-align:right;padding-bottom:4px}
.project-client>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:18px;color:var(--muted)}
.project-client-mark{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:2px;width:180px;height:84px;padding:14px 18px}
.project-client-mark img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.project-client-white .project-client-mark,.project-client-ab .project-client-mark{background:#111;color:#fff}
.project-client-white .project-client-mark{gap:12px;text-align:left}
.project-client-white img{width:32px;height:auto}
.project-client-white .project-client-mark span{font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.01em}
/* Equal, modest photo tiles protect the quality of source photography. */
.gallery-intro{padding-top:32px;padding-bottom:32px}
.gallery-intro h1{font-size:clamp(44px,6vw,84px)}
.gallery-brief{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;padding:64px 5% 75px}
.gallery-brief h2{font-size:clamp(38px,4.1vw,62px);line-height:1.1;letter-spacing:-.045em}
.gallery-collection{--tile-width:320px;--tile-gap:18px;padding:12px 5% 36px;max-width:1440px;margin:0 auto}
.gallery-collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.gallery-collection-heading .eyebrow{margin:0;font-size:10px}
.gallery-count{font-size:11px;color:var(--muted);margin:8px 0 0}
.gallery-controls{display:flex;gap:8px;align-items:center}
.gallery-controls button{height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;cursor:pointer;font-size:19px}
.gallery-controls [data-gallery-toggle]{border-radius:25px;padding:0 14px;font-size:12px}
.gallery-controls button:hover{border-color:var(--orange)}
.gallery-controls [data-gallery-toggle] span:first-child{width:12px;font-size:12px}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior-x:contain;padding-bottom:12px;cursor:grab}
.gallery-viewport:active{cursor:grabbing}
.gallery-track{display:flex;gap:var(--tile-gap);width:max-content}
.gallery-set{display:grid;grid-auto-flow:column;grid-auto-columns:var(--tile-width);grid-template-rows:auto;gap:16px var(--tile-gap);flex-shrink:0}
[data-rows="2"] .gallery-set{grid-template-rows:repeat(2,auto)}
.gallery-tile{margin:0;width:var(--tile-width);min-width:0}
.gallery-tile-image{width:100%;aspect-ratio:8/5;display:flex;align-items:center;justify-content:center;background:var(--soft)}
.gallery-tile img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.gallery-tile figcaption{font-size:10px;letter-spacing:.06em;color:var(--muted);padding-top:9px}
.gallery-controls{visibility:hidden}
[data-gallery-ready] .gallery-controls{visibility:visible}
.gallery-next{padding:80px 5% 100px;border-top:1px solid var(--line)}
.gallery-next>a:first-child{display:block;padding:10px 0 48px}
.gallery-next .eyebrow{display:block;font-size:10px;margin-bottom:26px}
.gallery-next-name{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:clamp(38px,6vw,88px);font-weight:800;letter-spacing:-.045em;line-height:1.1}
.gallery-next-name>span{color:var(--orange);font-weight:400}
.gallery-next .text-link{color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
.view-project-image .photo-count{font-size:10px;color:var(--muted);letter-spacing:.02em}
@media(max-width:1000px){.gallery-intro{gap:25px}.gallery-intro h1{font-size:64px}.project-client{flex-basis:145px}.project-client-mark{width:145px;height:74px}.gallery-brief{gap:6%;padding-top:50px;padding-bottom:45px}}
@media(max-width:680px){.gallery-breadcrumb{padding:14px 24px 0}.gallery-intro{display:block;padding:22px 24px 28px}.gallery-intro h1{font-size:clamp(40px,11vw,58px)}.gallery-intro h1>span:not(.orange-dot){font-size:.48em}.gallery-intro .eyebrow{font-size:9px}.project-client{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:20px;margin-top:22px}.project-client>span{margin:0}.project-client-mark{width:130px;height:62px;padding:12px}.gallery-collection{--tile-width:260px;--tile-gap:14px;padding:10px 24px 26px}.gallery-collection-heading{align-items:flex-end;gap:12px;margin-bottom:18px}.gallery-count{font-size:10px;max-width:150px;line-height:1.6}.gallery-controls{gap:4px}.gallery-controls [data-gallery-toggle]{padding:0;min-width:44px}.gallery-controls [data-gallery-toggle-text]{display:none}.gallery-brief{display:block;padding:32px 24px 42px}.gallery-brief h2{font-size:36px}.gallery-brief .project-story{margin-top:26px}.gallery-next{padding:38px 24px 50px}.gallery-next-name{font-size:36px}.gallery-next>a:first-child{padding-bottom:28px}.gallery-page footer{padding-left:24px;padding-right:24px}}
