/* Project collection: the image-led homepage's architectural language. */
.gallery-page .nav-line>a[aria-current="page"]{color:#e0c9a8;text-decoration:underline;text-underline-offset:9px}
.gallery-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:610px;height:76svh;max-height:820px;color:var(--paper);background:#1c1c1c;padding:180px var(--gutter) 110px}
.gallery-hero-photo{position:absolute;inset:0;z-index:-1;overflow:hidden}
.gallery-hero-photo img{object-position:center 48%}
.gallery-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,16,14,.62),transparent 38%),linear-gradient(0deg,rgba(14,16,14,.86),rgba(14,16,14,.07) 82%)}
.gallery-hero-inner{width:100%;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:8vw}
.gallery-hero h1{font-size:clamp(64px,7.1vw,96px);line-height:1.02;letter-spacing:-.025em;text-wrap:balance;max-width:8ch}
.gallery-hero-inner>p{font-size:17px;line-height:1.8;max-width:52ch;color:#f1eae0;padding-bottom:5px}
.gallery-hero-cta{color:var(--paper);border-color:var(--bronze-light);font-size:11px;margin-top:22px;gap:30px}
.gallery-hero-cta:hover{color:#e0c9a8}
.gallery-browse{position:absolute;left:var(--gutter);right:var(--gutter);bottom:27px;display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid #e8dfd447;font-size:11px;letter-spacing:.16em;text-transform:none}
.gallery-browse svg{transform:rotate(90deg);width:20px}
.gallery-introduction{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw;margin-bottom:70px}
.gallery-introduction h2{font-size:clamp(42px,4.2vw,64px);line-height:1.09;max-width:20ch}
.gallery-introduction .descriptor{margin-top:24px}
.gallery-introduction>p{font-size:16px;color:var(--muted);line-height:1.85}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:48px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:30px}
.gallery-filter{position:relative;display:flex;align-items:center;gap:9px;padding:22px 0;min-height:56px;font-size:12px;letter-spacing:.08em;line-height:1.6;color:var(--muted)}
.gallery-filter span{font-size:10px;font-variant-numeric:tabular-nums;color:var(--muted)}
.gallery-filter:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent-ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.gallery-filter[aria-pressed="true"],.gallery-filter:hover{color:var(--ink)}
.gallery-filter[aria-pressed="true"]:after,.gallery-filter:hover:after{transform:scaleX(1)}
.gallery-result-count{font-size:11px;color:var(--muted);letter-spacing:.08em;white-space:nowrap;font-variant-numeric:tabular-nums}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;row-gap:70px}
.gallery-project{min-width:0}
.gallery-project[hidden]{display:none}
.gallery-project-feature{grid-column:1/-1}
.gallery-project-link{display:block}
.gallery-project-image{overflow:hidden;aspect-ratio:1.35;background:var(--paper-deep)}
.gallery-project-feature .gallery-project-image{aspect-ratio:2.05}
.gallery-project-image img{transition:transform .8s var(--ease)}
.gallery-project-link:hover img{transform:scale(1.025)}
.gallery-project-caption{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:23px}
.gallery-project-caption h3{font-size:clamp(31px,2.9vw,44px);line-height:1.12;letter-spacing:-.015em}
.gallery-project-caption p{font-size:11px;letter-spacing:.14em;text-transform:none;color:var(--accent-ink);margin-top:10px}
.gallery-project-action{display:flex;align-items:center;gap:20px;flex:none;font-size:10px;letter-spacing:.1em;text-transform:none;white-space:nowrap}
.gallery-project-action svg{width:24px;transition:transform .4s var(--ease)}
.gallery-project-link:hover .gallery-project-action svg{transform:translateX(5px)}
.gallery-project-link:focus-visible{outline-offset:8px}
@media(max-width:1100px){
  .gallery-hero-inner,.gallery-introduction{gap:6vw;grid-template-columns:1fr 1fr}
  .gallery-hero-inner>p{font-size:16px}
  .gallery-filters{gap:22px}
  .gallery-grid{gap:55px 28px}
  .gallery-project-action{font-size:0;gap:0}
  .gallery-project-caption h3{font-size:34px}
}
@media(max-width:700px){
  .gallery-hero{height:auto;min-height:760px;min-height:92svh;max-height:none;padding:220px var(--gutter) 100px}
  .gallery-hero-inner{grid-template-columns:1fr;gap:30px}
  .gallery-hero h1{font-size:clamp(60px,16vw,84px);max-width:9ch}
  .gallery-hero-inner>p{font-size:16px;line-height:1.75;max-width:43ch;padding:0}
  .gallery-hero-cta{font-size:10px;gap:24px;margin-top:18px}
  .gallery-hero-photo img{object-position:44% center}
  .gallery-hero-photo:after{background:linear-gradient(180deg,rgba(14,16,14,.48),transparent 30%),linear-gradient(0deg,rgba(14,16,14,.9),rgba(14,16,14,.12) 100%)}
  .gallery-browse{font-size:10px;bottom:25px}
  .gallery-collection{padding-top:65px;padding-bottom:75px}
  .gallery-introduction{display:block;margin-bottom:40px}
  .gallery-introduction h2{font-size:clamp(38px,10.5vw,55px);max-width:20ch}
  .gallery-introduction h2 br{display:none}
  .gallery-introduction .descriptor{font-size:10px;margin-top:20px}
  .gallery-introduction>p{margin-top:28px;font-size:16px}
  .gallery-toolbar{align-items:flex-start;flex-direction:column;gap:0;margin-bottom:34px;padding:10px 0 16px}
  .gallery-filters{gap:0 25px}
  .gallery-filter{padding:12px 0;min-height:46px;font-size:12px}
  .gallery-result-count{margin-top:13px;font-size:10px}
  .gallery-grid{grid-template-columns:1fr;gap:44px}
  .gallery-project-feature{grid-column:auto}
  .gallery-project-image,.gallery-project-feature .gallery-project-image{aspect-ratio:1.16}
  .gallery-project-caption{padding-top:20px;gap:16px}
  .gallery-project-caption h3{font-size:34px}
  .gallery-project-caption p{margin-top:8px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.gallery-filter:after,.gallery-project-image img,.gallery-project-action svg{transition:none}.gallery-project-link:hover img{transform:none}}
@media print{.gallery-filters,.gallery-browse{display:none}.gallery-hero{height:600px}.gallery-project[hidden]{display:block}.gallery-project{break-inside:avoid}}
