.realisations-page{background:var(--paper)}
.realisations-page .container{width:100%;max-width:none;padding-inline:clamp(2.8rem,4.7vw,5.1rem)}
.realisations-page .site-header{background:transparent;box-shadow:none}.realisations-page .site-header.is-scrolled{background:rgba(17,18,17,.9);box-shadow:0 1px rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.realisations-page .header-inner{grid-template-columns:220px 1fr auto;min-height:104px;padding-top:14px;transition:min-height .35s ease,padding-top .35s ease}.realisations-page .site-header.is-scrolled .header-inner{min-height:74px;padding-top:0}
.realisations-page .brand{display:flex;width:168px;height:58px;align-items:center;overflow:hidden;transition:height .35s ease}.realisations-page .site-header.is-scrolled .brand{height:50px}.realisations-page .brand img{width:100%;height:100%;object-fit:contain;transform:translateY(-1px) scale(1.4)}
.realisations-page .nav-list{gap:clamp(1.5rem,2.6vw,3.2rem)}.realisations-page .nav-list a,.realisations-page .phone{font-size:13px;text-shadow:0 1px 12px rgba(0,0,0,.45)}.realisations-page .nav-list a{font-weight:500;transition:color .25s ease,opacity .25s ease}.realisations-page .nav-list a:hover{color:#fff;opacity:.72}
.realisations-page .nav-list a:focus-visible,.realisations-page .phone:focus-visible,.realisations-page .header-contact .btn:focus-visible,.realisations-page .brand:focus-visible,.realisations-page .menu-toggle:focus-visible{outline:2px solid #d8c5a8;outline-offset:4px}
.realisations-page .header-contact{gap:2rem}.realisations-page .phone{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;font-weight:600}.realisations-page .phone:hover{color:#fff;opacity:.76}.realisations-page .header-contact .btn{min-height:44px;padding:.6rem 1.4rem;font-size:12px;letter-spacing:.08em}
.realisations-hero{position:relative;isolation:isolate;display:grid;height:100svh;min-height:620px;max-height:920px;align-items:center;overflow:hidden;background:var(--ink);color:var(--paper)}
.realisations-hero__media{position:absolute;inset:0;z-index:-2}.realisations-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.realisations-hero::before{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,10,9,.86) 0%,rgba(8,10,9,.52) 34%,rgba(8,10,9,.1) 66%,rgba(8,10,9,.28) 100%);content:''}.realisations-hero::after{position:absolute;inset:0 0 auto;height:27%;z-index:-1;background:linear-gradient(180deg,rgba(8,10,9,.48),transparent);content:''}
.realisations-hero__inner{padding-top:9.5rem;padding-bottom:3rem}.projects-breadcrumb{display:flex;gap:.6rem;align-items:center;color:rgba(255,255,255,.72);font-size:13px}.projects-breadcrumb a{text-decoration:none}.realisations-hero .projects-breadcrumb{margin-bottom:clamp(1.4rem,2.4vw,2.2rem)}
.realisations-hero h1{max-width:14ch;margin:0 0 1.15rem;font-size:clamp(3.5rem,5.4vw,5.2rem);line-height:.92}.realisations-hero__inner>p{max-width:47ch;margin:0;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.58}
.realisations-hero__link{display:inline-flex;min-height:44px;align-items:center;margin-top:1.35rem;color:#e0c89f;font-size:14px;font-weight:600;text-decoration-color:rgba(224,200,159,.55);text-underline-offset:.38em}.realisations-hero__caption{position:absolute;right:clamp(2.8rem,4.7vw,5.1rem);bottom:2rem;max-width:29rem;margin:0;color:rgba(255,255,255,.78);font-size:13px;text-align:right}.realisations-hero__caption span{display:block;color:rgba(255,255,255,.56)}
.project-index{padding:clamp(5rem,8vw,8rem) 0 clamp(6rem,10vw,10rem);background:var(--paper)}.project-index__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;margin-bottom:2.25rem}.project-index__head h2{max-width:none;margin:0 0 .75rem;font-family:var(--sans);font-size:clamp(2rem,3.25vw,3.2rem);font-weight:500;line-height:1.05;letter-spacing:-.035em}.project-index__head p{max-width:66ch;margin:0;color:var(--mist);font-size:1rem}.project-index__status{color:var(--mist);font-size:13px;font-variant-numeric:tabular-nums}
.projects-filter{display:flex;gap:0;margin-bottom:clamp(2.5rem,5vw,4.5rem);overflow-x:auto;border-block:1px solid var(--line);scrollbar-width:none}.projects-filter::-webkit-scrollbar{display:none}.projects-filter .filter{position:relative;flex:0 0 auto;min-height:3.6rem;padding:.85rem clamp(.9rem,1.6vw,1.5rem);border:0;background:transparent;color:var(--mist);font-size:14px;font-weight:500;white-space:nowrap}.projects-filter .filter::after{position:absolute;right:1rem;bottom:-1px;left:1rem;height:1px;background:transparent;content:''}.projects-filter .filter:hover,.projects-filter .filter.is-active{background:transparent;color:var(--ink)}.projects-filter .filter.is-active::after{background:var(--bronze)}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(1.25rem,2.2vw,2.5rem);row-gap:clamp(3rem,5vw,5rem)}.work-item{min-width:0}.work-item[hidden]{display:none}.work-item__media{margin:0;overflow:hidden;background:#dedbd4;aspect-ratio:4/3}.work-item__media picture,.work-item__link{display:block;width:100%;height:100%}.work-item__media img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.work-item:hover .work-item__media img{transform:scale(1.018)}
.projects-more[hidden],.projects-more .btn[hidden]{display:none!important}
.work-item__copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.25rem;row-gap:.3rem;padding-top:1.05rem;border-top:1px solid var(--line)}.work-item__copy h3{grid-column:1;margin:0;font-family:var(--sans);font-size:clamp(1.1rem,1.4vw,1.4rem);font-weight:500;line-height:1.25;letter-spacing:-.025em}.work-item__copy p{grid-column:1;margin:0;color:var(--mist);font-size:14px;line-height:1.55}.work-item__copy span{grid-column:2;grid-row:1/3;align-self:start;padding-top:.15rem;color:var(--mist);font-size:13px;white-space:nowrap}.work-item__copy--generated{display:block}.work-item__copy--generated h3{margin-bottom:.35rem}.work-item__copy--generated p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:3.1em}.work-item__copy--generated span{display:block;margin-top:.5rem;color:var(--bronze);font-size:13px}.projects-more{display:flex;justify-content:center;margin-top:clamp(3.5rem,6vw,6rem)}.projects-more .btn{min-width:min(100%,19rem)}
.projects-contact{background:#d8cbb8;color:var(--ink)}.projects-contact__inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.78fr);gap:clamp(3rem,6vw,7rem);align-items:center;padding-block:clamp(3.5rem,6vw,5.5rem)}.projects-contact__content{max-width:40rem}.projects-contact h2{max-width:15ch;margin:0 0 1.15rem;font-size:clamp(2.35rem,3.5vw,3.75rem);line-height:.98}.projects-contact p{max-width:58ch;margin:0;color:#49453e;font-size:1rem;line-height:1.65}.projects-contact__actions{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.35rem 1.5rem;align-items:center;margin-top:2rem}.projects-contact__actions .btn{grid-row:1/3;min-width:13.5rem}.projects-contact__actions>a:not(.btn){display:flex;min-height:44px;align-items:center;border-bottom:1px solid rgba(17,20,18,.35);color:#262821;font-size:14px;text-decoration:none;transition:border-color .25s ease,color .25s ease}.projects-contact__actions>a:not(.btn):hover{color:#6a5030;border-color:#6a5030}.projects-contact__actions>a:not(.btn):focus-visible{outline:2px solid var(--ink);outline-offset:4px}.projects-contact__figure{margin:0}.projects-contact__figure picture{display:block;overflow:hidden;aspect-ratio:4/3;background:#aaa08f}.projects-contact__figure img{width:100%;height:100%;object-fit:cover;object-position:center 44%}.projects-contact__figure figcaption{margin-top:.75rem;color:#555047;font-size:13px;line-height:1.5}
@media(min-width:801px) and (max-width:1100px){.realisations-page .site-header .nav,.realisations-page .site-header .header-contact{display:none}.realisations-page .header-inner,.realisations-page .site-header.is-scrolled .header-inner{grid-template-columns:1fr auto;min-height:96px;padding-top:12px}.realisations-page .menu-toggle{display:block;width:48px;height:48px}.realisations-page .mobile-panel{position:fixed;inset:0;z-index:-1;display:flex;visibility:hidden;flex-direction:column;padding:112px 4.7vw 36px;background:rgba(17,20,18,.985);opacity:0;transform:translateY(-1rem);transition:.35s var(--ease)}.realisations-page .mobile-panel[data-open=true]{visibility:visible;opacity:1;transform:none}.realisations-page .mobile-panel nav{margin:auto 0}.realisations-page .mobile-panel ul{margin:0;padding:0;list-style:none}.realisations-page .mobile-panel nav a{display:block;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.15);font-family:var(--serif);font-size:2rem;text-decoration:none}.realisations-page .mobile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,180px));gap:8px;margin-top:auto}.realisations-page .mobile-panel .mobile-actions a{display:grid;min-height:48px;padding:.65rem;place-items:center;border:1px solid rgba(255,255,255,.35);font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.1em;text-align:center;text-transform:uppercase}.realisations-page .mobile-panel .mobile-actions__primary{background:#eee6d8;color:#111412}}
@media(max-width:1000px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-contact__inner{grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);gap:2.5rem}.projects-contact__actions{grid-template-columns:1fr;max-width:25rem}.projects-contact__actions .btn{grid-row:auto}}
@media(max-width:680px){.realisations-page .container{padding-inline:20px}.realisations-page .header-inner,.realisations-page .site-header.is-scrolled .header-inner{grid-template-columns:1fr auto;min-height:82px;padding-top:8px}.realisations-page .brand{width:132px;height:50px}.realisations-page .brand img{transform:translateY(-1px) scale(1.43)}.realisations-page .mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto}.realisations-page .mobile-panel .mobile-actions a{display:grid;min-height:48px;padding:.6rem .3rem;place-items:center;border:1px solid rgba(255,255,255,.32);font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.08em;text-align:center;text-transform:uppercase}.realisations-page .mobile-panel .mobile-actions__primary{background:#eee6d8;color:#111412}.realisations-hero{height:100svh;min-height:620px;max-height:780px;align-items:center}.realisations-hero__media img{object-position:58% center}.realisations-hero::before{background:linear-gradient(0deg,rgba(8,10,9,.92) 0%,rgba(8,10,9,.56) 48%,rgba(8,10,9,.18) 76%,rgba(8,10,9,.32) 100%)}.realisations-hero__inner{padding-top:6.5rem;padding-bottom:4.5rem}.realisations-hero h1{max-width:11ch;font-size:clamp(2.8rem,12vw,3.8rem)}.realisations-hero .projects-breadcrumb{margin-bottom:1.25rem}.realisations-hero__link{margin-top:1rem}.realisations-hero__caption{right:20px;bottom:1.35rem;left:20px;max-width:none;text-align:left}.project-index__head{grid-template-columns:1fr}.project-index__status{font-size:13px}.projects-filter{margin-inline:-20px;padding-inline:20px}.projects-grid{grid-template-columns:1fr;row-gap:3.5rem}.work-item__copy{grid-template-columns:1fr}.work-item__copy span{grid-column:1;grid-row:auto;padding-top:.25rem;white-space:normal}.projects-contact{scroll-margin-top:82px}.projects-contact__inner{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-block:2rem}.projects-contact__content,.projects-contact__actions,.projects-contact__figure{min-width:0}.projects-contact h2{max-width:14ch;margin-bottom:.8rem;font-size:clamp(2.15rem,10vw,2.8rem);line-height:1}.projects-contact p{font-size:.95rem;line-height:1.55}.projects-contact__actions{max-width:none;margin-top:1.25rem}.projects-contact__actions .btn{width:auto;min-width:0}.projects-contact__figure picture{aspect-ratio:16/7;max-height:155px}.projects-contact__figure figcaption{margin-top:.55rem;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.realisations-page .home-footer__contact a{position:relative;transition:color .35s ease}.realisations-page .home-footer__contact a::after{position:absolute;right:0;bottom:4px;left:0;height:1px;background:currentColor;content:'';transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.realisations-page .home-footer__contact a:hover,.realisations-page .home-footer__contact a:focus-visible{color:#fff}.realisations-page .home-footer__contact a:hover::after,.realisations-page .home-footer__contact a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.realisations-page .home-footer{padding:clamp(4rem,7vw,7rem) 0 1.8rem;background:#0e100f;color:rgba(243,240,232,.78)}.realisations-page .home-footer__grid{display:grid;grid-template-columns:1.6fr .7fr .9fr 1.1fr;gap:clamp(2rem,5vw,6rem);padding-bottom:4rem}.realisations-page .home-footer__brand .footer-logo{width:150px;height:64px;object-fit:contain;transform:translateY(-1px) scale(1.35)}.realisations-page .home-footer__brand p{max-width:29rem;margin:1.5rem 0 0;font-size:13px;line-height:1.75}.realisations-page .home-footer__nav,.realisations-page .home-footer__contact{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.realisations-page .home-footer strong{margin-bottom:.55rem;color:var(--paper);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.realisations-page .home-footer a{min-height:44px;font-size:13px;text-decoration:none}.realisations-page .home-footer a:hover{color:#fff}.realisations-page .home-footer__contact span{font-size:13px}.realisations-page .home-footer__bottom{display:flex;justify-content:space-between;gap:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);font-size:13px}.realisations-page .home-footer__legal{display:flex;gap:1.5rem}
@media(max-width:1100px){.realisations-page .home-footer__grid{grid-template-columns:1.4fr 1fr 1fr}.realisations-page .home-footer__contact{grid-column:2/4;display:grid;grid-template-columns:repeat(2,1fr)}.realisations-page .home-footer__contact strong{grid-column:1/-1}}
@media(max-width:680px){.realisations-page .home-footer{padding-top:4.5rem}.realisations-page .home-footer__grid{grid-template-columns:1fr 1fr;gap:3rem 2rem}.realisations-page .home-footer__brand{grid-column:1/-1}.realisations-page .home-footer__contact{grid-column:1/-1;display:flex}.realisations-page .home-footer__bottom{flex-direction:column}.realisations-page .home-footer__legal{flex-direction:column;gap:.5rem}}
@media(prefers-reduced-motion:reduce){.work-item__media img{transition:none}.work-item:hover .work-item__media img{transform:none}}

/* Progressive portfolio: shorter first view, stronger labels and touch feedback. */
.realisations-page .header-contact .btn{padding:.5rem 1.05rem;font-size:13px;letter-spacing:.06em}
.project-index{padding-block:clamp(4rem,6vw,6rem) clamp(4.5rem,7vw,7rem)}
.projects-filter .filter{min-height:48px;font-size:15px}.projects-filter .filter:active{background:rgba(17,20,18,.04)}
.work-item__copy p{font-size:16px}.work-item__copy--generated span{color:var(--bronze-text)}
@media(max-width:680px){.projects-grid{row-gap:2.6rem}.realisations-page .mobile-panel .mobile-actions a{font-size:15px}}

/* CTA photographique et footer alignés sur la homepage. */
.projects-contact{position:relative;isolation:isolate;overflow:hidden;background:#141615;color:var(--paper)}
.projects-contact::after{display:none}
.projects-contact__inner{position:relative;z-index:2;display:flex;min-height:clamp(28rem,42vw,38rem);align-items:center;padding-block:clamp(4rem,7vw,7rem)}
.projects-contact__content{position:relative;z-index:2;max-width:42rem}
.projects-contact h2{max-width:13ch;color:var(--paper);font-size:clamp(2.7rem,4.4vw,4.8rem)}
.projects-contact p{max-width:54ch;color:rgba(243,240,233,.82);font-size:clamp(1rem,1.15vw,1.1rem)}
.projects-contact__actions{grid-template-columns:max-content minmax(15rem,22rem)}
.projects-contact__actions>a:not(.btn){border-color:rgba(255,255,255,.32);color:rgba(255,255,255,.9)}
.projects-contact__actions>a:not(.btn):hover{border-color:#fff;color:#fff}
.projects-contact__actions>a:not(.btn):focus-visible{outline-color:#fff}
.projects-contact__figure{position:absolute;inset:0;z-index:0}
.projects-contact__figure::after{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,6,5,.82) 0%,rgba(5,6,5,.72) 46%,rgba(5,6,5,.58) 100%);content:'';pointer-events:none}
.projects-contact__figure picture{height:100%;aspect-ratio:auto;background:#1c1e1c}
.projects-contact__figure img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.projects-contact__figure figcaption{position:absolute;right:clamp(2.8rem,4.7vw,5.1rem);bottom:1.5rem;z-index:2;max-width:32rem;margin:0;color:rgba(255,255,255,.68);font-size:13px;text-align:right}

.realisations-page .home-footer .contact-icon-link,
.realisations-page .home-footer .contact-detail{display:inline-flex;min-height:44px;align-items:center;gap:.7rem}
.realisations-page .home-footer .contact-icon{width:17px;height:17px;flex:0 0 17px;color:currentColor}
.realisations-page .home-footer .contact-icon[fill=currentColor]{transform:scale(.88)}

@media(max-width:680px){
  .projects-contact__figure::after{background:linear-gradient(0deg,rgba(5,6,5,.9) 0%,rgba(5,6,5,.82) 64%,rgba(5,6,5,.68) 100%)}
  .projects-contact__inner{min-height:34rem;align-items:flex-end;padding-block:3rem 4rem}
  .projects-contact h2{max-width:12ch;font-size:clamp(2.35rem,11vw,3.1rem)}
  .projects-contact__actions{grid-template-columns:1fr;gap:.45rem;margin-top:1.5rem}
  .projects-contact__figure picture{max-height:none}
  .projects-contact__figure img{object-position:58% center}
  .projects-contact__figure figcaption{right:20px;bottom:1rem;left:20px;overflow:hidden;max-width:none;white-space:nowrap;text-align:left;text-overflow:ellipsis}
  .realisations-page .home-footer__grid{grid-template-columns:1fr;gap:2.4rem}
  .realisations-page .home-footer__brand,.realisations-page .home-footer__contact{grid-column:auto}
  .realisations-page .home-footer__contact{display:flex}
}

/* Editorial portfolio mosaic, progressive loading and centered image viewer. */
.projects-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,1.7vw,1.8rem);align-items:start}
.work-item{grid-column:span 4;min-width:0;margin:0;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),clip-path .55s cubic-bezier(.16,1,.3,1);transition-delay:min(calc(var(--reveal-order,0) * 35ms),140ms)}
.work-item--large{grid-column:span 7}.work-item--square{grid-column:span 5}.work-item--panorama{grid-column:1/-1}
.work-item__media{aspect-ratio:4/3;border:0}.work-item--large .work-item__media{aspect-ratio:7/5}.work-item--square .work-item__media{aspect-ratio:1/1}.work-item--panorama .work-item__media{aspect-ratio:16/6}
.work-item__link{display:block;width:100%;height:100%;padding:0;border:0;background:#d9d5cc;color:inherit;cursor:zoom-in}
.work-item__link:focus-visible{outline:2px solid var(--bronze-text);outline-offset:4px}
.work-item__copy{grid-template-columns:minmax(0,1fr) auto;padding-top:.75rem;border:0}.work-item__copy--generated h3{margin:0;font-size:clamp(.98rem,1.15vw,1.18rem);line-height:1.32}.work-item__copy--generated span{grid-column:2;grid-row:1;align-self:start;margin:0;padding-top:.12rem;color:var(--mist);font-size:13px}
.work-item.is-pending{opacity:0;transform:translateY(18px);clip-path:inset(7% 0 0)}.work-item.is-revealed{opacity:1;transform:none;clip-path:inset(0)}
.projects-more[hidden]{display:none!important}.projects-sentinel{display:grid;min-height:7rem;place-items:center;color:var(--mist);font-size:13px}.projects-sentinel[hidden]{display:none}.projects-sentinel span{opacity:.75}
body.lightbox-open{overflow:hidden}
.project-lightbox{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:rgba(8,10,9,.92);color:var(--paper);overflow:hidden}.project-lightbox::backdrop{background:rgba(8,10,9,.92)}
.project-lightbox__frame{position:relative;display:grid;width:100%;height:100%;place-items:center;padding:clamp(1.25rem,4vw,4rem)}
.project-lightbox figure{display:grid;max-width:min(86vw,1100px);max-height:90vh;margin:0;place-items:center}.project-lightbox img{display:block;max-width:100%;max-height:78vh;object-fit:contain;background:#181a18}.project-lightbox figcaption{display:flex;width:100%;min-width:0;padding-top:.7rem;align-items:baseline;gap:.75rem}
.project-lightbox h2{min-width:0;margin:0;color:#fff;font-family:var(--sans);font-size:clamp(.8125rem,1.1vw,1.05rem);font-weight:500;line-height:1.3;letter-spacing:-.01em;white-space:nowrap}
.project-lightbox__close,.project-lightbox__nav{position:absolute;z-index:2;display:grid;width:48px;height:48px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(10,12,11,.45);color:#fff;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.project-lightbox__close{top:clamp(1rem,2.5vw,2rem);right:clamp(1rem,2.5vw,2rem)}.project-lightbox__nav{top:50%;transform:translateY(-50%)}.project-lightbox__nav--prev{left:clamp(1rem,2.5vw,2rem)}.project-lightbox__nav--next{right:clamp(1rem,2.5vw,2rem)}
.project-lightbox__close:hover,.project-lightbox__close:focus-visible,.project-lightbox__nav:hover,.project-lightbox__nav:focus-visible{border-color:#fff;background:#fff;color:#111412}.project-lightbox__close:focus-visible,.project-lightbox__nav:focus-visible{outline:2px solid #d8c5a8;outline-offset:3px}.project-lightbox svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.project-lightbox[open]{animation:lightbox-in .36s cubic-bezier(.16,1,.3,1) both}@keyframes lightbox-in{from{opacity:0}to{opacity:1}}
@media(max-width:1000px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-item,.work-item--large,.work-item--square,.work-item--panorama{grid-column:span 1}.work-item:nth-child(5n+1){grid-column:1/-1}.work-item__media,.work-item--large .work-item__media,.work-item--square .work-item__media,.work-item--panorama .work-item__media{aspect-ratio:4/3}.work-item:nth-child(5n+1) .work-item__media{aspect-ratio:16/8}}
@media(max-width:680px){.projects-grid{grid-template-columns:1fr;gap:2.2rem}.work-item,.work-item--large,.work-item--square,.work-item--panorama,.work-item:nth-child(5n+1){grid-column:1}.work-item__media,.work-item--large .work-item__media,.work-item--square .work-item__media,.work-item--panorama .work-item__media,.work-item:nth-child(5n+1) .work-item__media{aspect-ratio:4/3}.work-item__copy{display:block}.work-item__copy--generated span{display:block;margin-top:.3rem}.projects-sentinel{min-height:5rem}.project-lightbox__frame{padding:4.5rem 1rem 5.5rem}.project-lightbox figure{max-width:100%;max-height:100%}.project-lightbox img{max-height:68vh}.project-lightbox figcaption p{display:none}.project-lightbox__nav{top:auto;bottom:1.25rem;transform:none}.project-lightbox__nav--prev{left:calc(50% - 58px)}.project-lightbox__nav--next{right:calc(50% - 58px)}.project-lightbox__close{top:1rem;right:1rem}}
@media(prefers-reduced-motion:reduce){.work-item,.project-lightbox[open]{animation:none;transition:none}.work-item.is-pending{opacity:1;transform:none;clip-path:none}}

/* Compact photographic contact sheet: varied formats, never a full-width tile. */
.project-index{padding-block:clamp(3.5rem,5vw,5.5rem)}
.project-index__head,.projects-filter,.projects-grid,.projects-more,.projects-sentinel{width:min(100%,1240px);margin-inline:auto}
.projects-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:auto;gap:10px}
.work-item{min-height:0}
.work-item--five{grid-column:span 5}
.work-item--seven{grid-column:span 7}
.work-item--quarter{grid-column:span 3}
.work-item--eight{grid-column:span 8}
.work-item--four{grid-column:span 4}
.work-item--five .work-item__media{aspect-ratio:10/7}
.work-item--seven .work-item__media{aspect-ratio:2/1}
.work-item--quarter .work-item__media{aspect-ratio:1/1}
.work-item--eight .work-item__media{aspect-ratio:5/2}
.work-item--four .work-item__media{aspect-ratio:5/4}
.work-item .work-item__media{height:auto}
.work-item__copy{display:none}

@media(max-width:1000px){
  .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:auto;gap:12px}
  .work-item,.work-item--five,.work-item--seven,.work-item--quarter,.work-item--eight,.work-item--four,.work-item:nth-child(5n+1){grid-column:span 1;grid-row:auto}
  .work-item .work-item__media,.work-item:nth-child(5n+1) .work-item__media{height:auto;aspect-ratio:4/3}
}
@media(max-width:680px){
  .project-index{padding-block:3rem 4rem}
  .projects-grid{grid-template-columns:1fr;gap:10px}
  .work-item,.work-item--five,.work-item--seven,.work-item--quarter,.work-item--eight,.work-item--four,.work-item:nth-child(5n+1){grid-column:1}
  .work-item .work-item__media,.work-item:nth-child(5n+1) .work-item__media{aspect-ratio:4/3}
}
