.hero.hero-gallery{display:block;padding:42px 50px 64px;min-height:0}
.gallery-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:30px}
.gallery-intro .hero-copy{max-width:770px}
.hero-gallery h1{font-size:clamp(42px,4.2vw,57px);line-height:1.06;letter-spacing:-2.2px;margin:20px 0 0}
.gallery-intro>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:245px;padding-bottom:5px;flex-shrink:0}
.gallery-intro>p>span{display:block;margin-top:4px}
.project-gallery{width:100%;border:1px solid var(--line);background:var(--paper-light)}
.gallery-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;border-bottom:1px solid var(--line)}
.hero-gallery .gallery-topline .eyebrow{font-size:8px;letter-spacing:1.3px}
.gallery-toggle{display:flex;align-items:center;gap:15px;padding:3px 0;font-size:9px;color:var(--muted)}
#gallery-playback-icon{font-size:12px;width:14px;text-align:center;color:var(--ink)}
.gallery-viewport{overflow:hidden;touch-action:pan-y pinch-zoom}
.gallery-track{display:flex;align-items:stretch;transition:transform .65s cubic-bezier(.2,.65,.3,1);will-change:transform}
.gallery-slide{flex:0 0 100%;width:100%;min-width:0;display:grid;grid-template-columns:1.4fr 1fr;min-height:435px}
.gallery-image{margin:0;min-width:0;overflow:hidden;background:#282924}
.gallery-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.gallery-caption{padding:35px 36px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.gallery-kicker{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:1.25px;color:var(--rust);margin-bottom:23px}
.gallery-kicker>span{color:var(--muted);white-space:nowrap}
.gallery-caption .project-kind{font-size:8px;letter-spacing:1.15px}
.gallery-caption h2{font-size:46px;letter-spacing:-1.6px;line-height:1.06;margin:12px 0 18px}
.gallery-caption h2 button{font:inherit;letter-spacing:inherit;padding:0;text-align:left}
.gallery-caption h2 button:hover{color:var(--rust)}
.gallery-description{font-size:13px;line-height:1.8;max-width:360px;color:var(--muted)}
.gallery-caption .stage{font-size:9px;margin-top:15px}
.gallery-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:25px}
.gallery-actions .primary-button{display:inline-flex;gap:22px;font-size:10px;min-height:40px}
.gallery-actions .text-button{font-size:10px;gap:12px}
.gallery-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;gap:24px;border-top:1px solid var(--line)}
.gallery-selectors{display:flex;align-items:center;flex-wrap:wrap;gap:19px}
.gallery-selector{display:inline-flex;align-items:center;gap:7px;padding:8px 0;font-size:9px;color:var(--muted);text-align:left}
.selector-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;border:1px solid #929487;transition:background .2s,border-color .2s}
.gallery-selector[aria-current="true"]{color:var(--ink)}
.gallery-selector[aria-current="true"] .selector-dot{background:var(--rust);border-color:var(--rust)}
.gallery-selector:hover{color:var(--rust)}
.gallery-arrows{display:flex;align-items:center;gap:10px;flex-shrink:0}
#gallery-count{font-size:8px;letter-spacing:1px;color:var(--muted);margin-right:7px;white-space:nowrap}
.gallery-arrow{height:34px;width:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:18px;transition:background .2s,color .2s}
.gallery-arrow:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:1050px){
  .hero.hero-gallery{padding:36px 32px 55px}
  .gallery-intro{gap:30px}
  .hero-gallery h1{font-size:46px;letter-spacing:-1.9px}
  .gallery-intro>p{max-width:220px;font-size:11px}
  .gallery-slide{grid-template-columns:1.2fr 1fr;min-height:430px}
  .gallery-caption{padding:30px 28px}
  .gallery-caption h2{font-size:40px}
  .gallery-description{font-size:12px}
  .gallery-selectors{gap:12px}
  .gallery-selector{font-size:8px}
  .gallery-footer{gap:14px}
}
@media(max-width:800px){
  .gallery-intro{display:block}
  .gallery-intro .hero-copy{max-width:600px}
  .gallery-intro>p{max-width:none;margin-top:18px;padding:0;font-size:12px}
  .gallery-intro>p>span{display:inline;margin:0 0 0 5px}
  .hero-gallery .eyebrow{font-size:8px;letter-spacing:1.1px}
  .gallery-slide{grid-template-columns:1.05fr 1fr;min-height:435px}
  .gallery-caption{padding:26px 23px}
  .gallery-caption h2{font-size:36px}
  .gallery-kicker{font-size:7px;letter-spacing:.8px}
  .gallery-actions{gap:14px;margin-top:22px}
  .gallery-footer{align-items:center}
  .gallery-selectors{gap:9px}
  .selector-title{display:none}
  .gallery-selector{padding:12px 7px}
  .selector-dot{width:7px;height:7px}
}
@media(max-width:620px){
  .hero.hero-gallery{padding:34px 23px 42px}
  .hero-gallery h1{font-size:44px;letter-spacing:-1.8px;margin-top:20px;max-width:490px}
  .gallery-intro{margin-bottom:24px}
  .gallery-intro>p{font-size:11px;max-width:340px;margin-top:17px}
  .gallery-intro>p>span{display:block;margin:2px 0 0}
  .gallery-topline{padding:13px 15px;gap:12px}
  .hero-gallery .gallery-topline .eyebrow{font-size:7px;letter-spacing:.8px;max-width:165px}
  .gallery-toggle{font-size:8px;gap:8px;white-space:nowrap}
  .gallery-slide{grid-template-columns:1fr;grid-template-rows:clamp(175px,58vw,350px) 365px;min-height:0}
  .gallery-caption{padding:24px;justify-content:center}
  .gallery-kicker{font-size:7px;letter-spacing:1px;margin-bottom:17px}
  .gallery-caption .project-kind{font-size:7px;letter-spacing:1px}
  .gallery-caption h2{font-size:35px;letter-spacing:-1.1px;margin:10px 0 14px}
  .gallery-description{font-size:12px;line-height:1.75;max-width:425px}
  .gallery-caption .stage{margin-top:12px;font-size:8px}
  .gallery-actions{gap:16px;margin-top:21px}
  .gallery-actions .primary-button{font-size:9px;gap:17px}
  .gallery-actions .text-button{font-size:9px;gap:9px}
  .gallery-footer{padding:12px 14px;gap:8px}
  .gallery-selectors{gap:2px;flex-wrap:nowrap}
  .gallery-selector{padding:12px 7px}
  .gallery-arrows{gap:7px}
  .gallery-arrow{height:32px;width:32px}
  #gallery-count{font-size:7px;margin-right:3px;letter-spacing:.5px}
}
@media(prefers-reduced-motion:reduce){.gallery-track,.gallery-arrow,.selector-dot{transition:none}}
@media print{.project-gallery{display:none}.hero.hero-gallery{padding-bottom:20px}.gallery-intro>p{display:none}}
