.carpentry-directory { padding-block: 28px 50px; }
.carpentry-directory details { border-block: 1px solid var(--page-rule); }
.carpentry-directory summary { padding: 24px 0; cursor: pointer; font: 400 clamp(1.3rem, 3vw, 2rem)/1.3 var(--font-display); }
.carpentry-directory summary span { float: right; padding-top: 10px; font: 500 .65rem/1.4 var(--font-body); text-transform: uppercase; letter-spacing: .1em; }
.carpentry-directory nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 24px; padding: 8px 0 28px; }
.carpentry-directory nav a { padding-block: 10px; border-bottom: 1px solid var(--page-rule); font-size: .85rem; }
.carpentry-project { scroll-margin-top: 115px; border-top: 1px solid var(--page-rule); }
.carpentry-project > .inner { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(30px, 5vw, 80px); }
.carpentry-project:nth-of-type(even) { background: #eae4d9; }
.carpentry-project-copy h2 { font-size: clamp(2rem, 3.5vw, 3.4rem); }
.carpentry-project-copy p { font-size: .95rem; }
.carpentry-project--text > .inner { grid-template-columns: 1fr; }
.carpentry-project--text .carpentry-project-copy { max-width: 760px; }
.carpentry-enquiry { display: inline-block; margin-top: 18px; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.carpentry-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 24px; }
.carpentry-photos--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.carpentry-photos figure { margin: 0; min-width: 0; }
.carpentry-photos figure:only-child { grid-column: 1 / -1; max-width: 500px; }
.carpentry-photos a { display: block; }
.carpentry-photos img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; }
.carpentry-photos video { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; background: #211e1a; }
.carpentry-shop { background: #eae4d9; }
.carpentry-shop .page-photo img { max-height: 560px; object-fit: contain; }
.carpentry-photos figcaption { margin-top: 12px; font-size: .75rem; line-height: 1.65; color: var(--color-muted); }
.carpentry-project-note { padding: clamp(25px, 4vw, 50px); border: 1px solid var(--page-rule); }
.carpentry-project-note > p:nth-child(2) { font: 400 2rem/1.3 var(--font-display); }
.carpentry-page :is(a, summary):focus-visible { outline: 2px solid var(--color-brand); outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) { html:has(.carpentry-page) { scroll-behavior: auto; } }
@media (max-width: 850px) { .carpentry-project > .inner { grid-template-columns: 1fr; } .carpentry-directory nav { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .carpentry-directory summary span { display: none; } .carpentry-photos { gap: 14px; } .carpentry-project { scroll-margin-top: 95px; } }
@media (max-width: 520px) { .carpentry-photos--three { grid-template-columns: repeat(2, minmax(0, 1fr)); } .carpentry-photos--three > figure:last-child { grid-column: 1 / -1; width: 100%; max-width: 280px; justify-self: center; } }
