/* Compact project photography, using the approved white, sage and warm-stone palette. */
.closet-gallery{--closet-ink:#2e443a;--closet-muted:#667366;--closet-line:#dce3d7;--closet-paper:#f1f3ed}
.closet-shell{max-width:1370px;padding-top:26px;padding-bottom:34px}
.portfolio-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;border-bottom:1px solid var(--closet-line);padding-bottom:21px;margin-bottom:23px}
.portfolio-heading h1{font:clamp(31px,3vw,40px)/1.14 Georgia,serif;letter-spacing:-.9px;margin:10px 0 0}
.portfolio-heading>p{justify-self:end;max-width:410px;color:var(--closet-muted);font-size:13px;line-height:1.8;margin:0 0 2px}
.featured-project{min-width:0}
.project-name-row{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:20px}
.project-index{display:block;font-size:9px;letter-spacing:1.6px;color:#78866f}
.project-name-row h2{font:clamp(26px,2.6vw,34px)/1.18 Georgia,serif;letter-spacing:-.6px;margin:8px 0 0;max-width:780px}
.project-detail-link{display:inline-flex;align-items:center;gap:20px;flex:none;font-size:12px;line-height:1.5;padding:9px 0;border-bottom:1px solid #a1af97;color:#4c6646}
.project-chapter-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f1f4ec;border:1px solid #e1e7da;margin-bottom:24px}
.project-chapter-strip>div{display:flex;align-items:flex-start;gap:14px;padding:17px 20px;min-width:0}
.project-chapter-strip>div+div{border-left:1px solid #dbe3d3}
.chapter-number{font:26px/1 Georgia,serif;color:#829175;padding-top:1px}
.project-chapter-strip h3{font:13px/1.4 Arial,sans-serif;font-weight:600;letter-spacing:.1px;margin:0 0 4px;color:#3f5840}
.project-chapter-strip p{font-size:11px;line-height:1.6;color:#6d7965;margin:0;max-width:255px}
.project-photo-grid{display:grid;gap:23px 20px}
.overview-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-frame{min-width:0;margin:0}
.project-photo{display:block;position:relative;overflow:hidden;background:var(--closet-paper)}
.project-photo img{display:block;width:100%;height:clamp(190px,16vw,225px);object-fit:cover;object-position:center 44%;background:var(--closet-paper)}
.photo-before-ceiling .project-photo img{object-position:50% 32%}
.photo-ceiling-opening .project-photo img{object-position:50% 24%}
.photo-wall-opening-detail .project-photo img{object-position:50% 30%}
.photo-finished .project-photo img{object-fit:contain;object-position:center}
.frame-stage{position:absolute;top:10px;left:10px;font-size:9px;line-height:1.5;letter-spacing:.5px;color:#52664a;background:#fffffff0;padding:4px 8px}
.phase-completion .frame-stage{background:#415d43;color:#fff}
.phase-completion .project-photo{outline:1px solid #a8b99b;outline-offset:-1px;background:#e8eee0}
.project-frame figcaption{display:flex;gap:10px;align-items:baseline;padding:10px 0 0}
.frame-number{font-size:10px;letter-spacing:.5px;color:#8b977f;flex:none}
.project-frame h3,.project-frame h4{font:13px/1.45 Arial,sans-serif;font-weight:500;color:#38523d;margin:0}
.project-frame figcaption p{font-size:11px;line-height:1.65;color:var(--closet-muted);margin:6px 0 0}
.project-overview-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--closet-line);margin-top:24px;padding-top:14px}
.project-overview-footer>p{font-size:12px;line-height:1.7;color:#75816d;margin:0}
.closet-gallery a:focus-visible{outline:2px solid #536b48;outline-offset:4px}
.project-enquiry{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;background:#f4f5ef;border:1px solid #e4e8dc;padding:21px 25px;margin-top:27px}
.project-enquiry h2{font:26px/1.2 Georgia,serif;letter-spacing:-.4px;margin:8px 0}
.project-enquiry p{font-size:13px;line-height:1.7;color:var(--closet-muted);margin:0;max-width:650px}
.project-cta{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;background:#e3ebd8;border:1px solid #ced9c3;color:#3d583c;padding:13px 16px;font-size:12px;white-space:nowrap}
.project-cta:hover{background:#d8e4ca}
.closet-breadcrumb{display:inline-block;font-size:12px;color:#6a7c60;margin-bottom:18px}
.case-heading{padding-bottom:23px}
.case-heading h1{font:clamp(31px,3.2vw,43px)/1.15 Georgia,serif;letter-spacing:-.8px;max-width:900px;margin:10px 0 13px}
.case-heading>p{font-size:14px;line-height:1.8;color:var(--closet-muted);max-width:760px;margin:0}
.case-chapter-nav{display:flex;gap:24px;flex-wrap:wrap;margin-top:17px}
.case-chapter-nav a{font-size:11px;line-height:1.6;color:#536d4a;padding-bottom:5px;border-bottom:1px solid #b2bda6}
.case-chapter{border-top:1px solid var(--closet-line);padding-top:21px;margin-bottom:27px;scroll-margin-top:20px}
.case-chapter-heading{display:grid;grid-template-columns:.9fr 1.5fr;align-items:end;gap:30px;margin-bottom:18px}
.case-chapter-heading h2{font:27px/1.18 Georgia,serif;letter-spacing:-.45px;margin:9px 0 0}
.case-chapter-heading>p{font-size:13px;line-height:1.8;color:var(--closet-muted);max-width:690px;margin:0}
.case-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.case-photo-grid .project-photo img{height:230px}
.case-photo-grid .frame-stage{display:none}
.completion-layout{display:grid;grid-template-columns:minmax(210px,300px) 1fr;gap:32px;align-items:center;background:#f4f6ef;border:1px solid #e3e8db;padding:18px}
.completion-layout .project-photo img{height:245px}
.completion-notes{max-width:690px;padding:4px 10px 4px 0}
.completion-notes ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:11px 0 15px}
.completion-notes li{font-size:11px;line-height:1.5;padding:6px 9px;color:#53684b;background:#e8eee1}
.completion-notes p{font-size:13px;line-height:1.75;color:var(--closet-muted);max-width:580px;margin:0}
.project-related-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:16px}
.project-related-links a{font-size:12px;line-height:1.6;color:#4e6a44;border-bottom:1px solid #a2b196;padding-bottom:3px}
.project-back-link{display:inline-block;font-size:12px;color:#637b57;margin-top:22px;border-bottom:1px solid #b6c1ab;padding-bottom:4px}

@media(max-width:1000px){.project-chapter-strip>div{padding:15px;gap:10px}.case-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 18px}.case-photo-grid .project-photo img{height:210px}.project-name-row h2{max-width:650px}.project-photo-grid{gap:20px 16px}}
@media(max-width:700px){.closet-shell{padding-top:23px}.portfolio-heading{gap:18px;align-items:start}.portfolio-heading>p{font-size:12px}.project-name-row{align-items:flex-start;gap:18px}.project-name-row h2{font-size:28px}.project-detail-link{gap:10px;font-size:11px}.project-chapter-strip>div{padding:12px;display:block}.chapter-number{display:block;font-size:21px;margin-bottom:8px}.project-chapter-strip p{font-size:10px}.project-chapter-strip h3{font-size:12px}.overview-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-photo-grid .project-photo img{height:185px}.project-enquiry{grid-template-columns:1fr;gap:18px}.project-cta{width:fit-content}.case-chapter-heading{grid-template-columns:1fr;gap:11px}.case-chapter-heading h2{font-size:26px}.completion-layout{grid-template-columns:minmax(150px,220px) 1fr;gap:20px}.completion-notes ul{gap:6px}.completion-notes li{font-size:10px}.project-related-links{gap:10px}.project-overview-footer{align-items:flex-start}.project-overview-footer>p{font-size:11px;max-width:60%}}
@media(max-width:480px){.portfolio-heading{grid-template-columns:1fr;gap:11px;padding-bottom:18px;margin-bottom:20px}.portfolio-heading h1{font-size:32px}.portfolio-heading>p{justify-self:start;max-width:340px}.project-name-row{display:block;margin-bottom:17px}.project-name-row h2{font-size:27px;line-height:1.2;margin-top:8px}.project-name-row .project-detail-link{margin-top:10px;padding:4px 0}.project-chapter-strip{margin-bottom:20px}.project-chapter-strip>div{padding:11px 9px}.project-chapter-strip h3{font-size:11px}.project-chapter-strip p{font-size:10px;line-height:1.5}.project-photo-grid{gap:19px 12px}.overview-photo-grid .project-photo img,.case-photo-grid .project-photo img{height:170px}.frame-stage{font-size:8px;left:7px;top:7px;padding:3px 6px}.project-frame figcaption{gap:7px;padding-top:9px}.project-frame h3,.project-frame h4{font-size:12px;line-height:1.5}.frame-number{font-size:9px}.project-frame figcaption p{font-size:11px;line-height:1.6}.project-overview-footer{display:block;margin-top:20px;padding-top:13px}.project-overview-footer>p{max-width:none}.project-overview-footer .project-detail-link{margin-top:5px}.project-enquiry{padding:19px;margin-top:23px}.project-enquiry h2{font-size:25px}.project-enquiry p{font-size:12px}.case-heading h1{font-size:32px}.case-heading>p{font-size:13px}.case-chapter-nav{gap:11px 16px}.case-chapter-nav a{font-size:10px}.case-chapter-heading>p{font-size:12px}.case-chapter{padding-top:19px;margin-bottom:24px}.completion-layout{grid-template-columns:1fr;gap:18px;padding:15px}.completion-layout .project-frame{max-width:240px;margin:0 auto;width:100%}.completion-layout .project-photo img{height:235px}.completion-notes{padding:0}.completion-notes p{font-size:12px}.completion-notes li{font-size:11px}}
@media(max-width:360px){.overview-photo-grid .project-photo img,.case-photo-grid .project-photo img{height:140px}.project-photo-grid{gap:17px 10px}}

.repair-context{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;border-top:1px solid var(--closet-line);padding-top:23px;margin-top:5px}.repair-context h2{font:27px/1.2 Georgia,serif;letter-spacing:-.4px;margin:9px 0 12px}.repair-context p{font-size:13px;line-height:1.8;color:var(--closet-muted);margin:0}.repair-questions details{border-bottom:1px solid var(--closet-line)}.repair-questions summary{padding:14px 20px 14px 0;min-height:44px;font-size:13px;line-height:1.5;color:#405b3d;cursor:pointer}.repair-questions details>p{font-size:12px;padding-bottom:16px}.repair-questions summary:focus-visible{outline:2px solid #536b48;outline-offset:4px}
@media(max-width:700px){.repair-context{grid-template-columns:1fr;gap:18px}.repair-context h2{font-size:26px}}
@media(max-width:480px){.repair-context{padding-top:20px}.repair-context p{font-size:12px}}

/* Overview: show the complete story in three compact stage columns. */
.overview-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:23px}.overview-stage{min-width:0;border-top:2px solid #d2ddc8;padding-top:15px}.overview-completion{border-top-color:#779269}.overview-stage-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;min-height:68px}.overview-stage-heading .chapter-number{font-size:23px;padding-top:3px}.overview-stage-heading h3{font:24px/1.15 Georgia,serif;letter-spacing:-.35px;margin:0 0 8px;color:#3c543b}.overview-stage-heading p{font-size:11px;line-height:1.65;color:#718068;margin:0;max-width:300px}.overview-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.overview-stage-grid .project-photo img{height:160px;object-fit:cover}.overview-stage-grid .frame-stage{display:none}.overview-stage-grid .project-frame figcaption{min-height:40px;padding-top:8px;gap:7px}.overview-stage-grid .project-frame h4{font-size:11px;line-height:1.5}.overview-stage-grid .frame-number{font-size:9px}.overview-completion .overview-stage-grid{grid-template-columns:1fr}.overview-completion .project-photo img{height:316px;object-fit:contain}.overview-completion .project-frame h4{font-size:12px}.gallery-overview .project-overview-footer{margin-top:17px;padding-top:12px}.gallery-overview .project-enquiry{margin-top:22px}
@media(max-width:1100px) and (min-width:901px){.overview-stages{gap:18px}.overview-stage-grid{gap:14px 9px}.overview-stage-heading{gap:9px}.overview-stage-heading h3{font-size:22px}.overview-stage-heading p{font-size:10px}.overview-stage-grid .project-photo img{height:150px}.overview-completion .project-photo img{height:294px}}
@media(max-width:900px){.overview-stages{grid-template-columns:1fr;gap:23px}.overview-stage-heading{min-height:0;margin-bottom:15px}.overview-stage-heading p{max-width:none}.overview-stage-grid{gap:17px 15px}.overview-stage-grid .project-photo img{height:180px}.overview-stage-grid .project-frame h4{font-size:12px}.overview-completion .overview-stage-grid{max-width:360px}.overview-completion .project-photo img{height:260px}.overview-stage-grid .project-frame figcaption{min-height:32px}.overview-completion .project-frame h4{font-size:13px}}
@media(max-width:480px){.overview-stages{margin-top:19px}.overview-stage{padding-top:13px}.overview-stage-heading{gap:11px}.overview-stage-heading h3{font-size:24px;margin-bottom:6px}.overview-stage-heading .chapter-number{font-size:22px}.overview-stage-heading p{font-size:11px}.overview-stage-grid{gap:15px 12px}.overview-stage-grid .project-photo img{height:170px}.overview-stage-grid .project-frame h4{font-size:12px}.overview-completion .overview-stage-grid{max-width:270px}.overview-completion .project-photo img{height:245px}}

/* Additional genuine progress views remain visible below the compact overview. */
.additional-process{border-top:1px solid var(--closet-line);margin-top:24px;padding-top:20px}.additional-process-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:15px}.additional-process-heading h3{font:23px/1.2 Georgia,serif;letter-spacing:-.3px;margin:0;color:#3c543b}.additional-process-heading p{font-size:12px;line-height:1.7;color:var(--closet-muted);margin:0}.additional-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.additional-process-grid .project-photo img{height:180px}.additional-process-grid .frame-stage{display:none}.additional-process-grid .project-frame h4{font-size:12px}.photo-exposed-wall-corner .project-photo img{object-position:50% 30%}
@media(max-width:700px){.additional-process-heading{display:block}.additional-process-heading h3{font-size:22px}.additional-process-heading p{margin-top:7px;font-size:11px}.additional-process-grid{gap:18px 12px}}
@media(max-width:600px){.additional-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.additional-process-grid .project-photo img{height:170px}.additional-process{margin-top:21px;padding-top:18px}}

/* Keep every process view ahead of completion when the stages stack on phones. */
.overview-stages>.additional-process{grid-column:1/-1;grid-row:2}.overview-stages>.overview-completion{grid-column:3;grid-row:1}
@media(max-width:900px){.overview-stages>.additional-process,.overview-stages>.overview-completion{grid-column:auto;grid-row:auto}.overview-stages>.additional-process{margin-top:0}.overview-completion{margin-top:0}}
