/* Project archive: photographic evidence, editorial scale, tactile controls. */
body.projects-page{background:#171717;color:#f5f5f5}
.projects-page main{overflow:clip}
.projects-page main a:focus-visible,.projects-page main button:focus-visible{outline:3px solid #777;outline-offset:6px}
.projects-page [hidden]{display:none!important}
.archive-intro{padding:164px 4vw 49px;background:#171717;color:#f5f5f5}
.archive-eyebrow{display:flex;justify-content:space-between;gap:24px;color:#b8b8b8}
.archive-title-row{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:54px 0 46px}
.archive-intro h1{font-size:clamp(80px,12.65vw,196px);font-weight:450;line-height:.87;letter-spacing:-.075em;white-space:nowrap}
.archive-intro h1>span{color:#999}
.archive-jump{display:grid;place-items:center;width:82px;height:82px;border:1px solid #737373;border-radius:50%;flex-shrink:0;transition:background .2s,color .2s}
.archive-jump svg{width:42px;height:42px;stroke:currentColor;stroke-width:1.25;fill:none;transition:transform .25s}
.archive-jump:hover{background:#f5f5f5;color:#171717}
.archive-jump:hover svg{transform:translateY(4px)}
.archive-intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;border-top:1px solid #4d4d4d;padding-top:28px}
.archive-intro-bottom>p{font-size:16px;line-height:1.7;max-width:495px;color:#d0d0d0}
.archive-index{display:flex;align-items:center;gap:17px;font-family:Hubot,Arial,sans-serif;font-size:22px;font-variant-numeric:tabular-nums;color:#b8b8b8}
.archive-index i{width:96px;height:1px;background:#696969}
.project-directory{padding:26px 4vw 64px;background:#f4f4f4;color:#1c1c1c;scroll-margin-top:90px}
.archive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding-bottom:22px}
.project-filters{display:flex;flex-wrap:wrap;gap:7px}
.project-filters button{display:flex;align-items:center;gap:16px;border:1px solid #c9c9c9;border-radius:0;background:transparent;padding:11px 15px;min-height:44px;font-size:11px;line-height:1.5;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.project-filters button span{font-size:9px;color:#646464;font-variant-numeric:tabular-nums}
.project-filters button:hover{border-color:#1c1c1c}
.project-filters button[aria-pressed=true]{background:#1c1c1c;border-color:#1c1c1c;color:#fff}
.project-filters button[aria-pressed=true] span{color:#d0d0d0}
.archive-count{font-size:10px;color:#626262;white-space:nowrap;text-align:right;margin-left:auto}
.archive-noscript{font-size:12px;margin:0 0 24px}
.project-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:82px 4vw;align-items:start}
.archive-project{min-width:0}
.archive-project--lead,.archive-project--portal{grid-column:1/-1}
.project-topline{min-height:53px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #bcbcbc}
.project-topline>.micro{color:#626262;font-size:9px;letter-spacing:.09em}
.project-photo-switch{display:flex;align-items:center;gap:4px;padding:4px 0}
.project-photo-switch button{border:0;border-bottom:1px solid transparent;background:none;padding:12px 9px;min-height:44px;cursor:pointer;font-size:10px;color:#686868;line-height:1.4}
.project-photo-switch button[aria-pressed=true]{border-bottom-color:#1c1c1c;color:#1c1c1c}
.project-photograph{position:relative;overflow:hidden;isolation:isolate;background:#d5d5d5;aspect-ratio:1.09}
.project-photograph img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.archive-project--lead .project-photograph{aspect-ratio:1.85}
.archive-project--lead .project-context-photo{object-position:center 48%}
.archive-project--lead .project-detail-photo{object-position:center 47%}
.archive-project--skylrk .project-photograph{aspect-ratio:.98}
.archive-project--skylrk .project-photograph img{object-position:48% center}
.archive-project--soho{margin-top:108px}
.archive-project--soho .project-photograph{aspect-ratio:1.13}
.archive-project--soho .project-photograph img{object-position:61% center}
.archive-project--portal .project-photograph{aspect-ratio:1.88}
.archive-project--portal .project-photograph img{object-position:center 50%}
.project-image-link{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:25px;background:#f7f7f7;color:#171717;padding:12px 16px;font-size:10px;line-height:1.5;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none}
.project-image-link .arrow{width:20px;height:20px}
.project-card-link{display:block}
.project-card-link:hover .project-photograph img,.project-card-link:focus-visible .project-photograph img{transform:scale(1.025)}
.project-card-link:hover .project-image-link,.project-card-link:focus-visible .project-image-link{opacity:1;transform:translateY(0)}
.project-card-link:focus-visible{outline-offset:9px!important}
.project-description{padding-top:24px}
.project-location{font-size:10px;line-height:1.6;color:#606060;margin-bottom:12px}
.project-description h2{font-size:clamp(32px,3.6vw,58px);line-height:1.04;font-weight:450;letter-spacing:-.055em}
.project-summary{margin-top:22px;max-width:460px}
.project-summary>p{font-size:12px;line-height:1.85;color:#4d4d4d}
.project-scope{display:block;font-size:10px;color:#646464;margin-top:15px;line-height:1.7}
.project-case-link{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;margin-top:25px;padding:13px 0;border-bottom:1px solid #a5a5a5;color:#262626}
.project-case-link>.arrow{width:19px;height:19px;transition:transform .2s}
.project-card-link:hover .project-case-link>.arrow{transform:translate(3px,-3px)}
.archive-project--lead .project-description,.archive-project--portal .project-description{display:grid;grid-template-columns:1.08fr 1fr;gap:4vw;padding-top:30px}
.archive-project--lead .project-description h2,.archive-project--portal .project-description h2{font-size:clamp(43px,5vw,78px)}
.archive-project--lead .project-summary,.archive-project--portal .project-summary{margin:0;padding-top:27px;max-width:440px}
.archive-project--lead .project-summary>p,.archive-project--portal .project-summary>p{font-size:14px}
.project-view-note{margin:19px 0 0;font-size:9px;color:#626262;line-height:1.7;letter-spacing:.02em}
.archive-end{margin-top:65px;padding-top:24px;border-top:1px solid #bcbcbc;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#626262}
.archive-end .micro{font-size:9px;letter-spacing:.08em}
.archive-end a{font-size:10px;color:#303030;border-bottom:1px solid #999;padding-bottom:5px;display:flex;gap:20px}
.project-grid.is-filtered .archive-project{margin-top:0}
.project-grid.is-filtered .archive-project:only-child{grid-column:1/-1}
.project-next{display:grid;grid-template-columns:1.25fr .75fr;gap:6vw;padding:91px 4vw 99px;background:#222;color:#f5f5f5;border-bottom:1px solid #4d4d4d}
.project-next .micro{color:#b5b5b5;margin-bottom:30px}
.project-next h2{font-size:clamp(45px,5.8vw,90px);font-weight:450;line-height:1.02;letter-spacing:-.06em}
.project-next>div:last-child{padding-top:50px;max-width:420px}
.project-next p:not(.micro){font-size:13px;line-height:1.8;color:#c2c2c2}
.project-next-cta{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #8a8a8a;padding:22px 0 15px;margin-top:14px;font-size:16px}
.project-next-links{display:flex;flex-wrap:wrap;gap:14px 25px;margin-top:25px;font-size:10px;color:#bcbcbc}
.projects-page .project-next a:focus-visible,.projects-page .archive-intro a:focus-visible{outline-color:#ddd}
@media(max-width:1000px){.archive-intro{padding-top:143px}.archive-title-row{margin:45px 0 35px}.archive-jump{width:66px;height:66px}.archive-jump svg{width:34px;height:34px}.archive-intro h1{font-size:12.25vw}.project-filters button{gap:10px;padding:10px 11px}.project-grid{gap:60px 4vw}.archive-project--soho{margin-top:72px}.archive-project--lead .project-description h2,.archive-project--portal .project-description h2{font-size:5.5vw}.project-next{gap:5vw}.project-next h2{font-size:6vw}}
@media(max-width:700px){.archive-intro{padding:125px 6vw 34px}.archive-eyebrow{flex-direction:column;gap:8px}.archive-eyebrow .micro{font-size:9px}.archive-title-row{margin:38px 0 30px;gap:14px;align-items:flex-end}.archive-intro h1{font-size:13.5vw;white-space:normal;max-width:85%;line-height:.95}.archive-jump{height:45px;width:45px;margin-bottom:6px}.archive-jump svg{width:24px;height:24px}.archive-intro-bottom{padding-top:23px;gap:20px;align-items:flex-start}.archive-intro-bottom>p{font-size:12px;max-width:310px}.archive-index{font-size:13px;gap:9px;padding-top:3px}.archive-index i{width:25px}.project-directory{padding:22px 6vw 42px;scroll-margin-top:80px}.archive-toolbar{align-items:flex-start;flex-direction:column;gap:15px;padding-bottom:20px}.project-filters{gap:6px}.project-filters button{padding:9px 10px;font-size:10px;gap:10px;min-height:44px}.archive-count{margin-left:0;font-size:9px;text-align:left}.project-grid{grid-template-columns:1fr;gap:40px}.archive-project--lead,.archive-project--portal{grid-column:auto}.project-topline{gap:10px;min-height:53px}.project-topline>.micro{font-size:8px;max-width:65%}.project-photo-switch{gap:1px}.project-photo-switch button{padding:12px 7px;font-size:9px}.archive-project--lead .project-photograph{aspect-ratio:1.12}.archive-project--lead .project-context-photo{object-position:55% center}.archive-project--skylrk .project-photograph{aspect-ratio:1.02}.archive-project--soho{margin:0}.archive-project--soho .project-photograph{aspect-ratio:1.12}.archive-project--portal .project-photograph{aspect-ratio:1.05}.project-image-link{display:none}.project-description{padding-top:21px}.archive-project--lead .project-description,.archive-project--portal .project-description{display:block;padding-top:21px}.project-description h2,.archive-project--lead .project-description h2,.archive-project--portal .project-description h2{font-size:clamp(34px,8.9vw,52px)}.project-location{font-size:9px;margin-bottom:11px}.project-summary,.archive-project--lead .project-summary,.archive-project--portal .project-summary{margin:18px 0 0;padding:0;max-width:none}.project-summary>p,.archive-project--lead .project-summary>p,.archive-project--portal .project-summary>p{font-size:12px;line-height:1.8}.project-scope{font-size:9px;margin-top:12px}.project-case-link{margin-top:17px;font-size:9px}.project-view-note{font-size:8px;margin-top:13px}.archive-end{margin-top:35px;padding-top:22px;align-items:flex-start;flex-direction:column;gap:18px}.archive-end .micro{font-size:8px}.archive-end a{font-size:9px}.project-next{grid-template-columns:1fr;padding:58px 6vw 61px;gap:26px}.project-next .micro{margin-bottom:24px;font-size:9px}.project-next h2{font-size:12vw}.project-next>div:last-child{padding:0;max-width:none}.project-next p:not(.micro){font-size:12px;max-width:360px}.project-next-cta{font-size:15px}.project-next-links{font-size:9px}}
@media(max-width:380px){.archive-intro h1{font-size:13vw}.archive-intro-bottom{gap:13px}.archive-index{display:none}.project-filters{gap:5px}.project-filters button{padding:9px 8px;gap:7px}.project-topline>.micro{font-size:7px}.project-photo-switch button{font-size:8px}}
@media(prefers-reduced-motion:reduce){.projects-page *{scroll-behavior:auto!important}.project-photograph img,.project-image-link,.project-case-link>.arrow,.archive-jump,.archive-jump svg,.project-filters button{transition:none!important}.project-card-link:hover .project-photograph img,.project-card-link:focus-visible .project-photograph img{transform:none}.archive-jump:hover svg{transform:none}}

.project-next-links a{display:inline-flex;align-items:center;gap:8px}.project-next-links .arrow{width:15px;height:15px}.archive-end .arrow{width:15px;height:15px}

/* Montréal completes the native case-study archive. */
.archive-project--montreal{grid-column:1/-1}
.archive-project--montreal .project-photograph{aspect-ratio:1.85}
.archive-project--montreal .project-description{display:grid;grid-template-columns:1.08fr 1fr;gap:4vw;padding-top:30px}
.archive-project--montreal .project-description h2{font-size:clamp(43px,5vw,78px)}
.archive-project--montreal .project-summary{margin:0;padding-top:27px;max-width:440px}
.archive-project--montreal .project-summary>p{font-size:14px}
@media(max-width:700px){.archive-project--montreal{grid-column:auto}.archive-project--montreal .project-photograph{aspect-ratio:1.12}.archive-project--montreal .project-description{display:block;padding-top:21px}.archive-project--montreal .project-description h2{font-size:clamp(34px,8.9vw,52px)}.archive-project--montreal .project-summary{margin:18px 0 0;padding:0;max-width:none}.archive-project--montreal .project-summary>p{font-size:12px}}
