/* Curated portfolio; scoped to preserve the shared storefront. */
.projects { color: #29463b; }
.projects h1, .projects h2, .projects h3 { color: #234639; font-family: Georgia,serif; font-weight: normal; }
.projects p { line-height: 1.75; }
.project-hero { display: grid; grid-template-columns: 1fr 1.15fr; background: #123b30; margin-top: 34px; overflow: hidden; }
.project-hero-copy { padding: clamp(28px,4vw,58px); align-self: center; }
.projects .project-eyebrow { text-transform: uppercase; letter-spacing: .15em; font: 11px/1.6 Arial,sans-serif; margin: 0 0 22px; color: #89764c; }
.project-hero .project-eyebrow { color: #dfca98; }
.projects .project-hero h1 { color: #fffaf0; font-size: clamp(36px,4.2vw,58px); line-height: 1.08; margin: 0 0 26px; }
.project-hero p:not(.project-eyebrow) { color: #e0e5dc; font-size: 16px; }
.project-hero > img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.projects .project-hero-link { display: inline-flex; align-items: center; gap: 25px; color: #e8d6a9; font-size: 14px; text-decoration: none; padding: 15px 0 4px; border-bottom: 1px solid #8b977d; }
.project-index { display: flex; flex-wrap: wrap; gap: 12px 30px; padding: 25px 0; border-bottom: 1px solid #dcdcd0; }
.project-index a { font: 12px/1.8 Arial,sans-serif; color: #345144; text-decoration: none; }
.project-index a:hover { text-decoration: underline; }
.project-section { margin-top: 74px; scroll-margin-top: 24px; }
.project-section-heading { display: flex; gap: 22px; align-items: baseline; margin-bottom: 28px; }
.project-number { color: #99845c; font: 13px/1.5 Arial,sans-serif; }
.projects h2 { font-size: clamp(29px,3vw,40px); line-height: 1.2; margin: 0 0 12px; }
.project-section-heading p { margin: 0; color: #697368; font-size: 14px; }
.project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: start; }
.project-wide { grid-column: 1 / -1; }
.project-card { min-width: 0; background: #f0efe8; border: 1px solid #e0e0d5; }
.project-images { display: flex; gap: 8px; padding: 12px; background: #e7e8df; height: 310px; }
.project-photo { display: block; min-width: 0; flex: 1; overflow: hidden; }
.project-images img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.project-photo:hover img { transform: scale(1.025); }
.project-photo:focus-visible { outline: 3px solid #907640; outline-offset: 3px; }
.project-copy { padding: 23px 26px 25px; }
.projects h3 { font-size: 23px; line-height: 1.3; margin: 0 0 12px; }
.project-copy p { color: #5c685d; font-size: 13px; margin: 0; }
.project-links { margin-top: 14px; font-size: 12px; }
.project-links a { color: #315b47; }
.project-card.project-wide { display: grid; grid-template-columns: 1.6fr 1fr; align-items: center; }
.project-card.project-wide .project-images { height: 360px; }
.project-group { padding: 28px; border: 1px solid #dcdcd0; }
.project-group > p { color: #687466; font-size: 14px; margin: 0 0 22px; }
.project-group-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.project-group-grid .project-images { height: 260px; }
.project-group-grid .project-copy { padding: 19px; }
.project-group-grid h3 { font-size: 20px; }
.project-screen { background: #193d32; padding: 32px; }
.project-screen .project-eyebrow { color: #dfca98; }
.project-film-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.6fr 1fr; gap: 14px; }
.projects figure { margin: 0; min-width: 0; }
.project-film-grid img { width: 100%; height: 200px; object-fit: contain; }
.projects figcaption { font: 12px/1.6 Arial,sans-serif; margin-top: 12px; color: #e3e4d6; }
.project-film-strip { margin-top: 32px !important; padding-top: 28px; border-top: 1px solid #506355; }
.project-film-strip img { width: 100%; height: auto; }
.project-archive .project-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.project-archive .project-images { height: 240px; }
.project-archive .project-copy { padding: 21px; }
.project-archive h3 { font-size: 20px; }
.project-clients { text-align: center; padding: 54px 35px; margin-top: 74px; border-top: 1px solid #dcdcd0; background: #f0efe8; }
.project-clients p:not(.project-eyebrow) { max-width: 680px; margin: 0 auto 32px; color: #687466; font-size: 14px; }
.project-clients img { width: 860px; max-width: 100%; height: auto; mix-blend-mode: multiply; }
@media(max-width:900px) {
 .project-hero { grid-template-columns: 1fr 1fr; }
 .project-hero > img { min-height: 340px; object-fit: contain; background: #eeeee6; }
 .project-group-grid,.project-archive .project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .project-film-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .project-hero { grid-template-columns: 1fr; margin-top: 0; }
 .project-hero > img { min-height: 0; height: auto; }
 .project-index { gap: 12px 20px; }
 .project-section { margin-top: 48px; }
 .project-grid,.project-group-grid,.project-archive .project-grid { grid-template-columns: 1fr; }
 .project-card.project-wide { display: block; }
 .project-card.project-wide .project-images { height: 240px; }
 .project-group,.project-screen { padding: 18px; }
 .project-film-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .project-images { height: 280px; }
 .project-clients { padding: 35px 15px; }
}
@media(prefers-reduced-motion:reduce) { .project-images img { transition: none; } }
