.pc { color: var(--ink); background: #fff; }
.pc__header { background: #f6f3ee; padding: 24px 0 clamp(34px, 5vw, 64px); }
.pc__crumbs { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 13px; color: #5d5852; margin-bottom: clamp(24px, 3vw, 42px); }
.pc__crumbs > :not(:first-child)::before { content: "/"; margin-right: 12px; }
.pc h1 { max-width: 23ch; margin: 0; font-size: clamp(32px, 4.4vw, 62px); letter-spacing: -.04em; line-height: 1.1; overflow-wrap: break-word; }
.pc__place { margin: 0 0 12px; font-size: 14px; color: #615a51; }
.pc__lead { max-width: 66ch; margin: 18px 0 0; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; }
.pc__share { display: inline-block; margin-top: 14px; padding: 8px 0; border: 0; background: none; color: inherit; font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.pc__content { padding-block: clamp(26px, 4vw, 56px); }
.pc__card { display: flex; align-items: center; gap: clamp(24px, 4vw, 64px); color: inherit; border-top: 1px solid #ded9d1; padding-block: 24px; }
.pc__card > img { width: min(48%, 640px); height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.pc__card h2, .pc__section h2 { font-size: clamp(23px, 2.6vw, 38px); letter-spacing: -.03em; line-height: 1.2; margin: 0; }
.pc__card div > p:not(.pc__place) { margin: 16px 0; max-width: 56ch; line-height: 1.65; }
.pc__link, .pc-portfolio a { color: var(--ink); font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.pc-portfolio { padding: 24px 0; background: #f6f3ee; }
.pc__gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(8px, 1.1vw, 16px); margin-bottom: clamp(26px, 4vw, 56px); }
.pc__tile { border-radius: 9px; overflow: hidden; scroll-margin-top: 112px; }
.pc__tile img { display: block; height: auto; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.pc__tile:target, .pc__tile:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.pc__section { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(18px, 5vw, 70px); border-top: 1px solid #ded9d1; padding: 26px 0; }
.pc__section p { max-width: 70ch; margin: 0; font-size: 17px; line-height: 1.7; white-space: pre-line; }
.pc__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; border-top: 1px solid #ded9d1; padding-top: 24px; }
@media (max-width: 720px) {
  .pc__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc__section { grid-template-columns: 1fr; gap: 12px; padding: 20px 0; }
  .pc__card { display: grid; gap: 18px; }
  .pc__card > img { width: 100%; }
}
