.gallery-instruction{font-size:12px;color:#626b5d;margin:-20px 0 28px;letter-spacing:.025em}.touch-instruction{display:none}.flip-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.flip-gallery .project:nth-child(2){margin-top:56px}.flip-gallery .project:nth-child(3){margin-top:0}.flip-card{display:block;position:relative;width:100%;aspect-ratio:.79;border:0;padding:0;background:transparent;text-align:left;perspective:1800px;cursor:default;isolation:isolate}.flip-card:focus-visible{outline:2px solid var(--bronze);outline-offset:8px}.flip-turn{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.22,.7,.2,1);transform:rotateY(0deg)}.flip-card.is-flipped .flip-turn{transform:rotateY(180deg)}.flip-front,.flip-back{position:absolute;inset:0;display:block;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.flip-front{transform:rotateY(0deg);background:var(--stone)}.project .flip-front img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;transition:transform 1s ease}.project:nth-child(3) .flip-front img{object-position:center 43%}.photo-edge{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:end;justify-content:space-between;gap:16px;padding:60px 25px 24px;background:linear-gradient(transparent,#101b13b0);color:var(--ivory);font-size:10px;letter-spacing:.07em}.turn-hint{font-family:var(--serif);font-size:18px;letter-spacing:0;font-style:italic;white-space:nowrap}.flip-back{transform:rotateY(180deg);background:var(--green);color:var(--ivory);padding:30px;display:flex;flex-direction:column;border:1px solid #8d9b7e;box-shadow:inset 0 0 0 8px var(--green)}.back-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:.13em;color:var(--stone);padding-bottom:18px;border-bottom:1px solid #b49a7345}.back-heading>span:last-child{font-family:var(--serif);font-size:29px;line-height:1;letter-spacing:0}.back-story{display:block;margin:auto 0;padding:24px 0}.back-story strong{display:block;font-family:var(--serif);font-size:clamp(34px,3vw,49px);font-weight:400;line-height:1.02;letter-spacing:-.025em}.back-story strong i{color:var(--bronze);font-style:normal}.back-description{display:block;font-size:14px;line-height:1.75;color:#d7dbcf;margin-top:20px}.back-materials{display:block;padding-top:18px;border-top:1px solid #b49a7345}.back-materials>span:first-child{display:block;color:var(--stone);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}.back-materials>span:last-child{font-size:12px;line-height:1.7;display:block}.back-note{font-size:9px;color:#aeb8a5;display:block;margin-top:20px;line-height:1.6}.flip-gallery .project-title{align-items:flex-start;padding-top:23px;border-bottom:1px solid #cdd1c3;padding-bottom:20px}.flip-gallery .project-number{font-family:var(--serif);font-size:22px;color:#78846d;line-height:1.2;padding-top:5px}.flip-gallery .project-title p{font-size:12px}.flip-gallery .project-title h3{font-size:30px}.flip-gallery .project{min-width:0}
@media(min-width:1500px){.flip-back{padding:38px}.back-description{font-size:15px}.back-story{padding:30px 0}}
@media(min-width:801px) and (max-width:1100px){.flip-gallery{gap:22px}.flip-card{aspect-ratio:.65}.flip-back{padding:22px}.back-story strong{font-size:35px}.back-description{font-size:12px;line-height:1.65;margin-top:16px}.back-heading{font-size:8px}.back-note{font-size:8px}.back-materials>span:last-child{font-size:10px}.photo-edge{padding:50px 16px 18px}.turn-hint{display:none}.flip-gallery .project-title h3{font-size:26px}}
@media(max-width:800px){.flip-gallery{grid-template-columns:1fr 1fr;gap:35px 24px}.flip-gallery .project:nth-child(3){grid-column:1 / -1;width:70%}.flip-card{aspect-ratio:.68}.flip-back{padding:25px}.back-story strong{font-size:37px}.back-description{font-size:13px;line-height:1.65}.flip-gallery .project:nth-child(3) .flip-card{aspect-ratio:1.05}.flip-gallery .project:nth-child(3) .back-description{max-width:380px}.photo-edge{padding:50px 20px 20px}.turn-hint{display:none}.back-story{padding:20px 0}.back-note{margin-top:15px}}
@media(max-width:540px){.gallery-instruction{margin:-10px 0 28px;font-size:11px;line-height:1.7;max-width:285px}.flip-gallery{display:block}.flip-gallery .project{width:100%!important;margin:0 0 35px!important}.flip-card,.flip-gallery .project:nth-child(3) .flip-card{aspect-ratio:.78}.flip-back{padding:26px}.back-story strong{font-size:40px}.back-description{font-size:13px;margin-top:17px;line-height:1.7}.back-heading{font-size:9px}.back-materials>span:last-child{font-size:11px}.flip-gallery .project-title h3{font-size:29px}.flip-gallery .project-title{padding-top:18px;padding-bottom:18px}.photo-edge{font-size:9px}.turn-hint{display:block;font-size:17px}}
@media(max-width:360px){.flip-back{padding:22px}.back-story strong{font-size:34px}.back-description{font-size:12px}.back-note{font-size:8px}.flip-card,.flip-gallery .project:nth-child(3) .flip-card{aspect-ratio:.68}}
@media(hover:none),(pointer:coarse){.hover-instruction{display:none}.touch-instruction{display:inline}.flip-card{cursor:pointer}.turn-hint{display:none}}
@media(prefers-reduced-motion:reduce){.flip-turn,.flip-card.is-flipped .flip-turn{transform:none;transition:none}.flip-back{transform:none;opacity:0}.flip-card.is-flipped .flip-back{opacity:1}.flip-card.is-flipped .flip-front{opacity:0}}

/* Shared, responsive type scale for the gallery and joinery introduction. */
:root{--gallery-support:clamp(15px,1.1vw,16px);--gallery-intro:clamp(17px,1.3vw,19px);--gallery-label:clamp(12px,1vw,14px)}
.flip-gallery .project-title p,.gallery-instruction,#projects .section-heading .small-note{font-size:var(--gallery-support);line-height:1.65}
.gallery-instruction{letter-spacing:0;max-width:none}
#projects .section-heading>p{font-size:var(--gallery-intro);line-height:1.75}
#projects .section-heading .small-note{display:inline-block;margin-top:6px}
#projects .eyebrow,.joinery-intro>.eyebrow{font-size:var(--gallery-label);line-height:1.6;letter-spacing:.13em}
.joinery-links{flex-wrap:wrap;column-gap:32px;row-gap:12px}
.joinery-links a{font-size:var(--gallery-intro);line-height:1.6;align-items:center;justify-content:space-between;gap:24px}
@media(max-width:540px){.joinery-links{row-gap:5px}.gallery-instruction{margin-bottom:28px}.flip-gallery .project-title p{margin-top:8px}}

/* Readable card backs: shared typography and content-driven height. */
.flip-gallery .flip-card{aspect-ratio:auto;min-height:560px}
.flip-turn{position:relative;inset:auto;min-height:inherit}
.flip-back{position:relative;inset:auto;min-height:inherit;padding:30px;overflow:visible;border-color:#6f7c68;box-shadow:none}
.back-heading{font-size:12px;line-height:1.6;letter-spacing:.07em;color:#d4c3a9;padding-bottom:20px;flex-shrink:0}
.back-heading>span:last-child{font-size:32px}
.back-story{margin:auto 0;padding:32px 0;flex:1}
.back-story strong{font-size:clamp(38px,3.2vw,52px);line-height:1.08;letter-spacing:-.025em}
.back-description{font-size:16px;line-height:1.7;color:#ecece3;margin-top:22px}
.back-materials{padding-top:20px;flex-shrink:0}
.back-materials>span:first-child{font-size:12px;line-height:1.6;letter-spacing:.09em;color:#d4c3a9;margin-bottom:10px}
.back-materials>span:last-child{font-size:15px;line-height:1.65;color:var(--ivory)}
.back-note{font-size:12px;line-height:1.65;color:#c1cbb9;margin-top:22px;flex-shrink:0}
@media(min-width:1500px){.flip-back{padding:36px}.back-description{font-size:17px}.back-materials>span:last-child{font-size:16px}}
@media(min-width:541px) and (max-width:1100px){.flip-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.flip-gallery .project:nth-child(3){grid-column:auto;width:100%}.flip-back{padding:26px}.back-story strong{font-size:40px}}
@media(max-width:540px){.flip-back{padding:26px}.back-story strong{font-size:40px}.flip-gallery .flip-card{min-height:560px}}
@media(max-width:360px){.flip-back{padding:22px}.back-story strong{font-size:36px}}

.back-heading{justify-content:flex-end}
