/* One project, one sequence. Captions stay beneath the full photographs. */
.projects{padding-block:64px 72px}
.projects-intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:48px;margin-bottom:38px}
.projects-intro .eyebrow{font-size:.875rem;margin-bottom:18px}
.projects-intro h2{font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.14;letter-spacing:-.04em;margin:0}
.projects-intro h2 em{font-style:normal;color:var(--teal)}
.projects-intro>p{font-size:1rem;line-height:1.7;color:var(--muted);max-width:420px;margin:0}
.project-story+.project-story{margin-top:44px;padding-top:38px;border-top:1px solid var(--line)}
.project-story-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:22px}
.project-story-heading h3{font-size:1.625rem;line-height:1.3;letter-spacing:-.025em;margin:0}
.project-story-heading p{font-size:1rem;color:var(--muted);margin:0}
.project-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px}
.project-detail-card{margin:0;min-width:0}
.project-detail-link{position:relative;display:block;padding:0;overflow:hidden;border-radius:6px;background:transparent;cursor:zoom-in}
.project-detail-link img{display:block;width:100%;height:auto}
.project-detail-link:focus-visible,.project-more summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
.project-detail-zoom{position:absolute;bottom:10px;right:10px;display:grid;place-items:center;width:32px;height:32px;border-radius:4px;background:#fffffff0;color:#072d35}
.project-detail-link:hover .project-detail-zoom{background:#bcebe5}
.project-detail-card figcaption{padding:16px 0 0}
.project-detail-card h4{font-size:1.125rem;line-height:1.4;letter-spacing:-.015em;margin:0;color:var(--ink)}
.project-detail-card p{font-size:1rem;line-height:1.6;color:var(--muted);margin:8px 0 0}
.project-more{border-top:1px solid var(--line);margin-top:28px}
.project-more summary{padding:18px 0;cursor:pointer;font-size:1rem;font-weight:600;min-height:56px}
.project-more summary::marker{color:var(--teal)}
.project-more summary span{display:inline-block;color:var(--muted);font-size:.875rem;font-weight:400;margin-left:12px;white-space:nowrap}
.project-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:32px 24px;padding:6px 0 0}
html.project-viewer-open{overflow:hidden}html.project-viewer-open .mobile-contact{visibility:hidden}.project-viewer{box-sizing:border-box;width:min(1100px,calc(100% - 32px));height:min(940px,92vh);height:min(940px,92dvh);max-width:none;max-height:92dvh;padding:20px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;box-shadow:0 24px 90px #0006}.project-viewer[open]{display:flex;flex-direction:column;gap:14px}.project-viewer::backdrop{background:#15191deb}.project-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.project-viewer h2{font-size:1.25rem;line-height:1.35;letter-spacing:-.02em;margin:0}.project-viewer button{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;min-height:44px;border-radius:6px;padding:9px 16px;cursor:pointer}.project-viewer button:hover{background:#edf5f4}.project-viewer button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.project-viewer .project-viewer-close{width:44px;min-width:44px;font-size:26px;padding:0}.project-viewer-media{flex:1;min-height:0;background:transparent;border-radius:6px;overflow:hidden;touch-action:pan-y}.project-viewer-image{display:block;width:100%;height:100%;object-fit:contain}.project-viewer-caption{font-size:.875rem;line-height:1.5;color:var(--muted);margin:0;flex-shrink:0}.project-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.project-viewer-count{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--muted)}

@media(max-width:1000px){.projects-intro{gap:30px}.project-journey,.project-details-grid{column-gap:18px}.project-story-heading{display:block}.project-story-heading p{margin-top:8px}}
@media(max-width:700px){
  html{scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .projects{padding-block:40px 45px}
  .projects-intro{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
  .projects-intro>p{max-width:none}
  .project-journey,.project-details-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .project-detail-card{scroll-margin-block:24px calc(92px + env(safe-area-inset-bottom))}
  .project-story-heading{margin-bottom:20px}
  .project-story+.project-story{margin-top:36px;padding-top:30px}
  .project-more summary{padding:18px 0}
  .project-more summary span{white-space:normal}
  .project-viewer{width:calc(100% - 16px);padding:14px;height:94vh;height:94dvh;max-height:94dvh}
  .project-viewer h2{font-size:1.125rem}
  .project-viewer button{padding-inline:12px}
}
@media(max-width:360px){.project-viewer-controls{gap:7px}.project-viewer button{font-size:.875rem}.project-more summary span{margin-left:5px}}
