/* Shared post composition. Source photographs stay independent of UI/caption. */
.project-panel{background:#1c262b;color:#fff;padding:76px 0;margin:0;scroll-margin-top:110px}
.project-panel-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.35fr);align-items:start;gap:64px}
.project-panel-intro{padding-top:28px;max-width:360px}
.project-panel-eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 20px}
.project-panel h2{font-size:clamp(28px,3.2vw,42px);line-height:1.16;letter-spacing:-.035em;margin:0 0 24px;color:inherit}
.project-panel-intro>p:not(.project-panel-eyebrow){font-size:16px;line-height:1.8;color:#e1e8ec;margin:0 0 28px}
.project-panel-all{display:inline-flex;align-items:center;gap:12px;color:#ffd700;font-size:18px;font-weight:700;min-height:48px;text-underline-offset:6px;line-height:1.5}
.project-panel-all:hover{color:#fff}.project-panel-all span{font-size:23px}
.project-panel-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9eafb7 transparent;padding:0 0 15px;align-items:flex-start;overscroll-behavior-x:contain}
.project-panel-rail>.project-post{flex:0 0 94%;scroll-snap-align:start;scroll-margin-inline:0}
.project-panel-rail-single>.project-post{flex-basis:100%}
.project-post{min-width:0;overflow:hidden;background:#fff;border:1px solid #dce2e4;border-radius:10px;color:#1c262b;box-shadow:0 12px 34px #0000000c;text-align:left}
.project-post-identity{padding:17px 22px;display:flex;align-items:center;gap:14px;background:#fff}
.project-post-identity>img{flex:0 0 48px;width:48px;height:37px;object-fit:contain}
.project-post-identity p{font-size:13px;font-weight:700;line-height:1.4;margin:0 0 3px}
.project-post-identity span{display:block;font-size:11px;line-height:1.5;color:#56626a}
.project-post-media{position:relative;background:#1c262b}
.project-post-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.project-post-photos::-webkit-scrollbar{display:none}
.project-post-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;aspect-ratio:4/3;display:grid;place-items:center}
.project-post-slide img{display:block;width:100%;height:100%;object-fit:contain;max-height:100%;aspect-ratio:4/3}
.project-post-photo-controls{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;padding:0 3px;background:#1c262bd9;border-radius:999px;color:#fff}
.project-post button,.project-panel-controls button{font:700 20px/1 Montserrat,sans-serif;width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border-radius:50%;border:1px solid transparent;cursor:pointer;background:transparent;color:inherit}
.project-post button:hover{background:#dfeaf1}.project-post button:disabled,.project-panel-controls button:disabled{opacity:.35;cursor:default}
.project-post-photo-controls button span{width:7px;height:7px;border-radius:50%;background:#c0c8ce;box-shadow:0 0 0 1px #1c262b;pointer-events:none}
.project-post-photo-controls button[aria-pressed=true] span{background:#ffd700;box-shadow:0 0 0 2px #ffd70055}
.project-post .project-post-photo-controls button:hover{background:#ffffff1a}
.project-post-copy{padding:24px 26px 28px}
.project-post h3{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:0 0 14px;color:#1c262b}
.project-post-copy p{font-size:15px;line-height:1.8;margin:0 0 18px;color:#36454f}
.project-post-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;width:100%;padding-top:13px;border-top:1px solid #dde4e8;font-size:18px;font-weight:700;line-height:1.5;text-underline-offset:5px;color:#1c262b}
.project-post-link:hover{color:#345f7c}.project-post-link span{font-size:23px}
.project-panel-controls{display:flex;align-items:center;gap:15px;margin-top:32px;color:#fff;font-size:13px;font-variant-numeric:tabular-nums}
.project-panel-controls button{border-color:#8b9ba4}.project-panel-controls button:hover{background:#36454f}
.project-post :focus-visible,.project-panel :focus-visible,.project-collection :focus-visible{outline:3px solid #7bafd4;outline-offset:4px}
.project-post-photos:focus-visible,.project-panel-rail:focus-visible{outline-offset:-4px}
.project-panel [hidden],.project-post [hidden]{display:none!important}
.project-collection{padding-top:60px;padding-bottom:80px}
.project-collection-intro{max-width:740px;margin-bottom:44px}
.project-collection-intro h1{font-size:clamp(34px,4.5vw,56px);line-height:1.13;letter-spacing:-.04em;margin:0 0 22px}
.project-collection-intro>p:last-child{font-size:17px;line-height:1.8;max-width:650px}
.project-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.project-collection .project-panel-eyebrow{color:#476579}
.collection-links{width:min(100% - 40px,1180px);margin:28px auto 0;display:flex;gap:10px 18px;flex-wrap:wrap;font-size:13px;line-height:1.7}
.collection-links a{color:#1c262b;text-underline-offset:4px}
.project-collection-filters{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 30px}
.project-collection-filters a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #c9d5dc;border-radius:24px;font-size:14px;color:#1c262b;text-decoration:none;font-weight:600}
.project-collection-filters a[aria-current=true]{background:#1c262b;color:#fff;border-color:#1c262b}
.project-collection [hidden]{display:none!important}
/* Short laptop viewports need the caption in the same glance as the photo.
   Keep the original photographs intact; use composition rather than clipping
   text, shrinking type or forcing every treatment to an identical height. */
@media(min-width:1001px) and (max-height:850px){
  .project-panel{padding-block:30px}
  .project-panel-intro{padding-top:8px}
  .project-panel h2{font-size:32px;margin-bottom:18px}
  .project-panel-intro>p:not(.project-panel-eyebrow){margin-bottom:18px}
  .project-panel-controls{margin-top:20px}
  .project-panel .project-post{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .project-panel .project-post-identity{grid-column:1/-1;padding:12px 18px}
  .project-panel .project-post-media{display:flex;flex-direction:column;justify-content:center;min-width:0}
  .project-panel .project-post-copy{padding:20px;min-width:0}
  .project-panel .project-post h3{font-size:20px;margin-bottom:12px}
  .project-panel .project-post-copy p{line-height:1.7;margin-bottom:14px}
  .project-panel .project-post-link{padding-top:10px}
}
@media(max-width:1000px){.project-panel-layout{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:32px}.project-panel-intro{padding-top:14px}}
@media(max-width:700px){
  .project-panel{padding:44px 0}.project-panel-layout{display:block}.project-panel-intro{max-width:100%;padding:0;margin-bottom:26px}
  .project-panel h2{font-size:30px;max-width:390px;margin-bottom:18px}.project-panel-eyebrow{font-size:11px;margin-bottom:14px}
  .project-panel-intro>p:not(.project-panel-eyebrow){font-size:15px;margin-bottom:15px}
  .project-panel-controls{margin-top:18px}.project-panel-rail{gap:16px}.project-panel-rail>.project-post{flex-basis:94%}.project-panel-rail-single>.project-post{flex-basis:100%}
  .project-post-identity{padding:14px 16px;gap:12px}.project-post-identity p{font-size:12px}.project-post-identity span{font-size:10px}
  .project-post-copy{padding:22px 20px}.project-post h3{font-size:20px}.project-post-copy p{font-size:15px}
  .project-collection{padding-top:38px;padding-bottom:50px}.project-collection-grid{grid-template-columns:1fr;gap:25px}.project-collection-intro{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.project-panel *,.project-collection *{scroll-behavior:auto!important}}
