.arch-detail-page {
    --detail-ink: #f4efe6;
    --detail-muted: #c7bcaf;
    --detail-accent: #d9b28b;
    --detail-line: #ffffff29;
    max-width: 1560px;
    margin-inline: auto;
    padding: clamp(24px, 4vw, 56px) clamp(20px, 5.5vw, 88px) clamp(52px, 8vw, 112px);
    color: var(--detail-ink);
    font-family: Montserrat, system-ui, sans-serif;
}
.arch-detail-trail {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: clamp(24px, 4vw, 52px);
    color: var(--detail-muted);
    font-size: .83rem;
}
.arch-detail-trail a:hover, .arch-detail-category:hover { color: var(--detail-ink); }
.arch-detail-intro { display: grid; gap: clamp(30px, 5vw, 76px); }
.arch-detail-intro.has-cover {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    align-items: start;
}
.arch-detail-copy { min-width: 0; padding-block: clamp(8px, 3vw, 44px); }
.arch-detail-page .arch-detail-copy h1 {
    max-width: 16ch;
    font: 550 clamp(2.5rem, 5.2vw, 6rem)/1.04 Montserrat, system-ui, sans-serif;
    letter-spacing: -.055em;
    text-wrap: balance;
    overflow-wrap: anywhere;
}
.arch-detail-copy h1::after {
    content: "";
    display: block;
    width: 44px;
    height: 2px;
    margin-block: 22px;
    background: var(--detail-accent);
}
.arch-detail-category { display: inline-block; margin-bottom: 12px; color: var(--detail-accent); }
.arch-detail-text {
    max-width: 64ch;
    white-space: pre-line;
    overflow-wrap: anywhere;
    color: var(--detail-muted);
    line-height: 1.85;
}
.arch-detail-cover { margin: 0; min-width: 0; }
.arch-detail-cover img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: min(74svh, 730px);
    margin-inline: auto;
    clip-path: polygon(0 0, 94% 0, 100% 6%, 100% 100%, 6% 100%, 0 94%);
}
.arch-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}
.arch-detail-actions a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--detail-line);
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
}
.arch-detail-actions a:first-child { background: var(--detail-ink); color: #171410; }
.arch-detail-actions a:hover { border-color: var(--detail-accent); }
.arch-detail-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 28px;
    margin: 22px 0 0;
    padding-top: 14px;
    border-top: 1px solid var(--detail-line);
}
.arch-detail-dates dt { font-size: .78rem; color: var(--detail-muted); }
.arch-detail-dates dd { margin: 4px 0 0; }
.arch-detail-gallery { margin-top: clamp(42px, 7vw, 100px); }
.arch-detail-gallery h2 { margin-bottom: 20px; font-size: clamp(1.75rem, 3vw, 3rem); }
.arch-detail-photos {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-color: var(--detail-accent) #26201c;
    padding: 4px 4px 12px;
}
.arch-detail-photos a { flex: 0 0 clamp(235px, 40%, 520px); scroll-snap-align: start; }
.arch-detail-photos a:nth-child(even) { flex-basis: clamp(205px, 29%, 390px); margin-top: 18px; }
.arch-detail-photos img { width: 100%; height: auto; }
.arch-detail-page a:focus-visible { outline: 2px solid var(--detail-accent); outline-offset: 3px; }
@media (max-width: 760px) {
    .arch-detail-intro.has-cover { grid-template-columns: minmax(0, 1fr); }
    .arch-detail-copy { padding-block: 0; }
    .arch-detail-cover img { max-height: 560px; margin-inline: 0; }
}
