main h2,main h3,main p,main li,main dd,main figcaption{word-break:keep-all;overflow-wrap:anywhere}
main h2,main h3,main figcaption{text-wrap:balance}
main p,main li,main dd{text-wrap:pretty}
.page-hero__lead{text-wrap:balance}
.breadcrumb a.btn{height:44px;padding:2px 16px 0;font-size:16px}
.breadcrumb a.btn:hover{text-decoration:none}
#gallery{scroll-margin-top:calc(-84px - var(--sec-y) / 2)}
.cases-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px var(--gap)}
.cases-gallery__item.frame{display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:0;margin:0;border-width:8px}
.cases-gallery__item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cases-gallery__item figcaption{padding:14px 6px 8px;font-size:16px;line-height:1.65}

@media(max-width:900px){
  .page-hero__card{grid-template-columns:minmax(0,1fr) auto;gap:24px}
  .cases-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  #gallery{scroll-margin-top:calc(-16px - var(--sec-y) / 2)}
}

@media(max-width:600px){
  #gallery{scroll-margin-top:50px}
  .cases-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
  .cases-gallery__item.frame{border-width:6px;border-radius:12px}
  .cases-gallery__item figcaption{padding:12px 3px 7px;font-size:15px;line-height:1.6}
}

@media(min-width:1921px){
  #gallery{scroll-margin-top:calc(-72px - var(--sec-y) / 2)}
  .cases-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}
  .cases-gallery__item figcaption{font-size:18px}
}

/* 照片牆：小手機改一欄，避免說明文字擠不下 */
@media(max-width:479px){
  .cases-gallery{grid-template-columns:minmax(0,1fr)}
}
