:root{--ink:#171b1a;--paper:#f3f1eb;--copper:#b47748;--line:rgba(23,27,26,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.gallery-header{height:88px;display:flex;align-items:center;padding:0 5vw;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:38px;fill:var(--copper)}.brand span{display:flex;flex-direction:column;font-family:Manrope;letter-spacing:.18em}.brand b{font-size:18px;line-height:1}.brand small{font-size:9px;letter-spacing:.48em;margin-top:5px}.gallery-header nav{display:flex;gap:27px;margin-left:auto;margin-right:32px}.gallery-header nav a{font-size:12px;font-weight:600;letter-spacing:.06em;padding:8px 0}.gallery-header nav .active{border-bottom:1px solid var(--copper)}.header-cta{background:var(--ink);color:white;padding:14px 19px;font-size:12px;font-weight:700}.header-cta span{margin-left:12px}.gallery-hero{padding:110px 7vw 80px;display:grid;grid-template-columns:1.5fr .5fr;align-items:end;border-bottom:1px solid var(--line)}.gallery-hero>div>p,.gallery-contact>p{font-size:12px;letter-spacing:.2em;color:var(--copper);font-weight:700}.gallery-hero h1{font:500 clamp(4.5rem,8vw,8.5rem)/1 Manrope;letter-spacing:-.06em;margin:22px 0 0}.gallery-hero>p{font-size:16px;line-height:1.75;color:#686b67;margin:0 0 13px}.gallery-grid{padding:80px 7vw 130px;display:grid;grid-template-columns:repeat(2,1fr);gap:70px 25px}.gallery-grid figure{margin:0}.gallery-grid figure.wide{grid-column:span 2}.gallery-grid button{display:block;width:100%;height:520px;border:0;padding:0;background:#ddd;cursor:zoom-in;overflow:hidden}.gallery-grid .wide button{height:680px}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s}.gallery-grid button:hover img{transform:scale(1.02)}.gallery-grid figcaption{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:17px;font:500 15px Manrope}.gallery-grid figcaption span{color:var(--copper);font-size:12px}.gallery-contact{background:var(--ink);color:#fff;padding:110px 7vw;text-align:center}.gallery-contact h2{font:500 clamp(3rem,5.8vw,6rem)/1.05 Manrope;letter-spacing:-.05em;margin:28px 0 42px}.gallery-contact a{display:inline-flex;gap:35px;background:var(--copper);padding:18px 23px;font-size:13px;font-weight:700}footer{background:#101413;color:#8f9490;display:flex;justify-content:space-between;gap:30px;padding:28px 7vw;font-size:12px}dialog{width:min(1100px,92vw);height:min(800px,90vh);padding:0;border:0;background:#111}dialog::backdrop{background:rgba(0,0,0,.85)}dialog img{width:100%;height:100%;object-fit:contain}.close{position:absolute;right:12px;top:8px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:27px;cursor:pointer}
@media(max-width:950px){.gallery-header nav{display:none}.header-cta{margin-left:auto}.gallery-hero{grid-template-columns:1fr;gap:35px}.gallery-hero>p{max-width:520px}.gallery-grid button,.gallery-grid .wide button{height:500px}}
@media(max-width:620px){.gallery-header{height:76px;padding:0 6vw}.header-cta{display:none}.gallery-hero{padding:80px 6vw 60px}.gallery-hero h1{font-size:4rem}.gallery-grid{grid-template-columns:1fr;padding:55px 6vw 90px;gap:45px}.gallery-grid figure.wide{grid-column:auto}.gallery-grid button,.gallery-grid .wide button{height:420px}.gallery-contact{padding:85px 6vw}footer{flex-direction:column;padding:30px 6vw}}

@media (min-width: 951px) {
  .gallery-hero {
    grid-template-columns: 1.4fr 0.6fr;
  }
}

/* Project cards: keep each image and its identity in one visual block. */
.gallery-grid {
  gap: 28px;
}

.gallery-grid figure {
  position: relative;
  overflow: visible;
  background: transparent;
}

.gallery-grid figure > a::after {
  content: none;
}

.gallery-grid figcaption {
  position: static;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  margin: 14px 0 0;
  padding: 0 2px;
  border: 0;
  color: #171b1a;
  pointer-events: auto;
}

.gallery-grid figcaption span {
  display: none;
}

.gallery-grid figcaption strong {
  font: 600 clamp(1.15rem, 1.45vw, 1.45rem)/1.2 Manrope, sans-serif;
  letter-spacing: -0.025em;
}

.gallery-grid figcaption b {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  width: max-content;
  flex: 0 0 auto;
  margin-left: 0 !important;
  color: #4e5451 !important;
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0;
}

.gallery-grid figcaption i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #171b1a;
  font-style: normal;
  font-size: 15px;
}

.gallery-grid figcaption b .ui-arrow {
  display: block;
  position: relative;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  align-self: center;
  margin-left: 0;
  line-height: 1;
  vertical-align: middle;
}

@media (max-width: 620px) {
  .gallery-hero {
    padding-bottom: 24px;
  }

  .gallery-hero > p {
    margin-bottom: 0;
  }

  .gallery-grid {
    padding-top: 12px;
    gap: 20px;
  }

  .gallery-grid figcaption {
    padding: 0 2px;
  }

  .gallery-grid figcaption b {
    font-size: 0;
  }
}
