/* Shared closing sections keep inquiry actions distinct from site navigation. */
.cta-inner { padding: 40px 0; gap: 24px; }
.cta-inner > div { min-width: 0; }
.cta-inner h2 { font-size: 28px; line-height: 1.4; }
.cta-inner p { max-width: 720px; line-height: 1.8; }
.cta-inner > .btn { flex-shrink: 0; }
.line-contact {
  width: min(var(--max),calc(100% - 48px));
  margin: 0 auto;
  padding: 36px 0 44px;
  grid-template-columns: minmax(0,1fr) 128px;
  gap: 32px;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  text-align: left;
}
.line-contact-copy { min-width: 0; }
.line-contact-copy h2 { font-size: 26px; line-height: 1.4; }
.line-contact-copy > p { max-width: 820px; }
.line-contact .line-qr { width: 128px; margin: 0; }
.line-contact .line-contact-notice { padding: 8px 12px; border-left-color: #b95542; }
.line-contact-compact { width: 100%; margin: 24px 0 0; }
.gallery-more { margin-top: 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gallery-more > summary { padding: 16px 0; min-height: 48px; cursor: pointer; color: var(--green); font-weight: 700; }
.gallery-more > summary:hover { text-decoration: underline; text-underline-offset: 4px; }
.gallery-more > summary:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.gallery-more[open] > .gallery-grid { padding-bottom: 20px; }
.gallery-section .gallery-item img { object-fit: contain; }
@media (max-width:720px) {
  .line-contact { grid-template-columns: minmax(0,1fr) 100px; gap: 20px; padding: 28px 0 32px; align-items: start; }
  .line-contact .line-qr { width: 100px; }
  .line-contact-copy h2 { font-size: 24px; }
  .line-contact-copy .actions { justify-content: flex-start; }
}
@media (max-width:600px) {
  .cta-inner { padding: 32px 0; }
  .cta-inner h2 { font-size: 25px; }
  .cta-inner .btn { margin-top: 18px; }
  .line-contact { grid-template-columns: minmax(0,1fr); }
  .line-contact .line-qr { width: 112px; }
  .gallery-section .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .gallery-section .gallery-item span { padding: 10px; font-size: 14px; line-height: 1.6; }
}
