/* Gallery mechanics with neutral artwork and intentionally empty case fields. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.project-card{min-height:640px}
.project-gallery{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:30px;min-width:0;gap:20px}
#gallery-open{position:relative;width:100%;display:block;padding:0;border:1px solid rgb(var(--ornament-rgb) / .2);border-radius:16px;overflow:hidden;background:transparent;color:#fff;cursor:zoom-in;touch-action:pan-y}
#project-photo{display:block;width:100%;height:440px;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.gallery-expand{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgb(var(--ornament-rgb) / .3);border-radius:12px;background:rgb(var(--depth-rgb) / .7)}
#gallery-open:hover .gallery-expand{background:var(--accent)}
.gallery-controls{display:flex;gap:8px;align-items:center}
.gallery-arrow{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;background:rgb(var(--hover-rgb) / .05);color:#fff;border:1px solid rgb(var(--ornament-rgb) / .3);border-radius:12px;cursor:pointer}
.gallery-arrow:hover{background:rgb(var(--hover-rgb) / .15);border-color:var(--line)}
.gallery-arrow.next svg{transform:rotate(180deg)}
.gallery-thumbs{display:flex;gap:8px;margin-left:auto}
.gallery-thumb{padding:2px;width:48px;height:48px;overflow:hidden;background:var(--dark);border:1px solid rgb(var(--ornament-rgb) / .3);border-radius:10px;cursor:pointer;opacity:.55}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb[aria-pressed="true"]{opacity:1;border-color:#fff;box-shadow:0 0 0 2px rgb(var(--ornament-rgb) / .1)}
.project-gallery button:focus-visible{outline-color:#fff}
.project-copy{padding:58px 36px 24px;min-width:0}
.project-copy h2{font-size:32px;margin-top:12px}
.project-section-label{font-size:11px;color:var(--muted);margin-top:26px;margin-bottom:12px}
.well-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.well-list button{padding:12px 8px;min-height:46px;white-space:nowrap;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:12px;cursor:pointer}
.well-list button[aria-selected="true"]{background:var(--dark);border-color:var(--dark);color:#fff}
.well-list button:hover{border-color:var(--accent)}
.well-panel{width:100%;margin-top:22px;margin-bottom:30px}
.project-fields{margin:0}
.project-fields>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.project-fields dt{color:var(--muted)}
.project-fields dd{margin:0;color:var(--ink)}
.empty-copy{display:grid;gap:10px;padding-top:3px;padding-bottom:4px}
.empty-copy span{display:block;height:6px;background:var(--surface);border-radius:4px;width:100%}
.empty-copy span:nth-child(2){width:90%}.empty-copy span:nth-child(3){width:63%}
.gallery-lightbox{position:fixed;inset:0;margin:auto;padding:0;border:1px solid rgb(var(--ornament-rgb) / .15);border-radius:18px;width:min(1120px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;background:var(--dark);color:white;box-shadow:0 30px 100px rgba(0,0,0,.3)}
.gallery-lightbox::backdrop{background:rgba(5,20,25,.9);backdrop-filter:blur(12px)}
.lightbox-shell>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-bottom:1px solid rgb(var(--ornament-rgb) / .15)}
#lightbox-context{font-size:13px;color:var(--line)}
.lightbox-close{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border:1px solid rgb(var(--ornament-rgb) / .3);border-radius:50%;background:none;color:#fff;cursor:pointer}
.lightbox-close:hover{background:rgb(var(--hover-rgb) / .1)}
#gallery-full-image{width:100%;height:calc(100dvh - 210px);min-height:180px;display:block;object-fit:contain;user-select:none;-webkit-user-drag:none;touch-action:pan-y}
.lightbox-shell>footer{display:flex;justify-content:center;gap:12px;padding:14px 20px;border-top:1px solid rgb(var(--ornament-rgb) / .15)}
.gallery-lightbox button:focus-visible{outline-color:#fff}
.gallery-lightbox[open]{animation:project-appear .25s var(--ease)}
.partner-river{padding:48px 0!important;background:#fff;overflow:hidden}
.partner-river{position:relative;z-index:91}
.partner-river .partners-heading{font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-.02em;margin:0 0 28px}
.rail-orb{transition:opacity .15s ease}
.rail-orb.is-muted{opacity:0}
.partners-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.partners-track{display:flex;width:max-content;gap:24px;animation:partner-flow 42s linear infinite;will-change:transform}
.partners-group{display:flex;gap:24px;flex-shrink:0}
.partner-tile{width:164px;height:104px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;background:linear-gradient(140deg,#fff,var(--surface));color:var(--muted)}
@keyframes partner-flow{to{transform:translateX(calc(-50% - 12px))}}
@media(max-width:900px){.project-gallery{padding:24px;gap:16px}#project-photo{height:400px}.project-copy{padding:58px 24px 24px}.project-copy h2{font-size:28px}.well-list{gap:6px}.well-list button{font-size:11px;padding:10px 4px}.project-fields>div{font-size:12px}.project-card-footer{flex-wrap:nowrap}.project-brand{font-size:10px}.project-return{font-size:11px}}
@media(max-width:600px){.project-card{min-height:0}.project-gallery{padding:20px;gap:12px}#project-photo{height:230px}#gallery-open{border-radius:12px}.gallery-expand{top:10px;right:10px;width:34px;height:34px}.gallery-thumb{width:40px;height:40px}.gallery-arrow{width:40px;height:40px}.project-copy{padding:24px 24px 18px}.project-copy h2{font-size:28px}.project-section-label{margin-top:20px;margin-bottom:10px}.well-panel{margin-top:14px;margin-bottom:24px}.project-fields>div{padding:10px 0}.well-list button{min-height:42px}.gallery-lightbox{width:calc(100% - 20px);border-radius:14px}.lightbox-shell>header{padding:10px 14px}#lightbox-context{font-size:11px}.lightbox-shell>footer{padding:12px}.partner-river{padding:32px 0!important}.partner-tile{width:124px;height:84px}.partner-tile svg{width:60px;height:56px}.partners-track,.partners-group{gap:16px}.partners-track{animation-name:partner-flow-mobile}}
@keyframes partner-flow-mobile{to{transform:translateX(calc(-50% - 8px))}}
@media(max-width:600px){.partner-river .partners-heading{font-size:24px;margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.gallery-lightbox[open]{animation:none}.partners-window{overflow:auto}.partners-track{animation:none;will-change:auto}.partners-group[aria-hidden="true"]{display:none}}
@media(max-width:600px){.project-gallery{padding:16px;gap:10px}#project-photo{height:180px}.gallery-expand{top:auto;bottom:10px;right:10px}.project-copy{padding:20px 20px 14px}.project-copy h2{font-size:26px;margin-top:8px}.project-section-label{font-size:10px;margin-top:14px;margin-bottom:8px}.well-panel{margin-top:10px;margin-bottom:16px}.project-fields>div{padding:8px 0}.empty-copy{gap:8px}.empty-copy span{height:5px}.project-card-footer{padding-top:10px}}
