/* Project photography and before / after galleries */
img{max-width:100%}figure{margin:0}.hero-image-link{display:block}.hero-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.comparison-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.portfolio-intro p{max-width:670px}.project-index{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 50px}.project-index a,.room-index a{border:1px solid #c4b7a3;padding:10px 17px;font-size:14px}.project-index a:hover,.room-index a:hover{background:#e6ddce}.case-card{padding:38px 0 60px;border-top:1px solid #cfc5b7;scroll-margin-top:25px}.case-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:0 0 26px}.case-heading .eyebrow{margin-bottom:12px}.case-heading h2{font-size:clamp(36px,4.3vw,62px)}.case-bottom{display:flex;gap:45px;justify-content:space-between;align-items:start;margin-top:22px}.case-bottom p{margin:0;max-width:670px}.materials{display:flex;gap:10px 23px;flex-wrap:wrap;list-style:none;padding:0;margin:25px 0;color:#6e6457;font-size:14px}.materials li:before{content:'—';margin-right:10px}.case-count{font-size:14px;color:#746857;white-space:nowrap}.case-link{display:inline-block;min-width:max-content}.case-card .pair>a{display:block}.case-card img{transition:filter .2s}.case-card a:hover img{filter:brightness(1.04)}.breadcrumb{font-size:14px;border-bottom:1px solid #887356;display:inline-block;margin-bottom:30px}.project-intro{padding-bottom:25px}.project-intro p{max-width:740px}.project-note{max-width:800px;font-size:14px;color:#665e52;margin:0 0 30px}.room-index{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:35px}.room-index a{padding:8px 12px}.palette-bar{position:sticky;top:0;z-index:5;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px 0;background:#f1ece3;border-top:1px solid #cfc5b7;border-bottom:1px solid #cfc5b7;box-shadow:0 8px 14px #f1ece3cc}.palette-bar p{margin:0;font-size:14px}.choices{display:flex;flex-wrap:wrap;gap:8px}.choice{font:inherit;font-size:14px;color:#1b1a18;background:transparent;border:1px solid #a99b88;cursor:pointer;padding:10px 16px;min-height:44px}.choice[aria-pressed=true]{background:#59282b;border-color:#59282b;color:#f1ece3}.choice:hover{border-color:#59282b}.swatch{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:8px;border:1px solid #a99b88}.swatch.bone{background:#e2d8c7}.swatch.dark{background:#39332e}.room{padding:48px 0;border-bottom:1px solid #cfc5b7;scroll-margin-top:90px}.room-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.room h2{font-size:clamp(30px,3.2vw,46px)}.room-number{font:14px Manrope;margin-bottom:10px;color:#746857}.room .room-note{font-size:14px;max-width:850px;color:#665e52;margin:20px 0 0}.image-button{display:block;width:100%;border:0;padding:0;background:#e6ddce;cursor:zoom-in;text-align:left}.room .comparison-image{object-fit:contain;background:#e6ddce}.room.portrait-room .comparison-image{aspect-ratio:3/4;max-height:670px}.room .single{max-width:1060px;margin:auto}.room .single.portrait-single{max-width:560px}.room-options{margin:0 0 22px}.image-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:#6e6457;margin:13px 0 0}.image-label strong{font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#3f3830}.image-label small{font-size:14px;text-align:right}.expand-hint{font-size:14px;color:#746857;margin:0 0 18px}.plans{padding:55px 0}.plans h2{font-size:42px;margin-bottom:25px}.plans .comparison-image{background:white;object-fit:contain}.source-credit{font-size:14px;color:#746857;margin:35px 0}.source-credit a{text-decoration:underline;text-underline-offset:3px}.next-projects{display:flex;justify-content:space-between;gap:25px;padding:35px 0 70px;flex-wrap:wrap}.next-projects a{border-bottom:1px solid #887356;font-size:16px}.viewer-open{overflow:hidden}dialog{border:0;background:#f1ece3;color:#1b1a18;padding:0;max-width:min(96vw,1600px);width:fit-content;max-height:94dvh}dialog::backdrop{background:#171513e8}dialog figure{padding:18px}dialog img{display:block;max-height:77dvh;max-width:88vw;width:auto;height:auto;margin:auto;object-fit:contain}dialog figcaption{font-size:14px;padding-top:14px;max-width:900px}dialog .viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 18px;border-bottom:1px solid #cfc5b7;font-size:14px}dialog button{font:inherit;font-size:14px;background:transparent;border:1px solid #a99b88;padding:8px 16px;min-height:44px;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:absolute;left:20px;top:-100px;background:#59282b;color:white;padding:12px;z-index:20}.skip-link:focus{top:10px}
@media(max-width:700px){.case-heading,.case-bottom,.room-heading{align-items:start;flex-direction:column;gap:16px}.case-heading h2{font-size:40px}.case-bottom{gap:18px}.case-card{padding:30px 0 45px}.palette-bar{gap:12px}.palette-bar .choice{padding:9px 13px}.palette-bar p{max-width:115px;font-size:13px}.room-index{gap:7px}.room-index a{font-size:13px;padding:8px 10px}.room{padding:35px 0}.room .pair{gap:24px}.room.portrait-room .pair{grid-template-columns:1fr 1fr;gap:12px}.room.portrait-room .image-label{display:block;font-size:13px}.room.portrait-room .image-label small{display:block;text-align:left;margin-top:3px}.room.portrait-room .comparison-image{max-height:none}.room-options .choices{gap:6px}.room-options .choice{padding:8px 11px}.image-label{font-size:13px}.image-label small{font-size:13px}.project-index{margin-bottom:30px;gap:8px}.project-index a{padding:9px 12px}.hero{gap:35px}.hero-image{aspect-ratio:3/2}.next-projects{flex-direction:column;align-items:start}.plans h2{font-size:36px}dialog figure{padding:10px}dialog img{max-width:90vw}dialog .viewer-toolbar{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Mixed viewpoints keep original photographs complete, including portrait sources. */
.mixed-orientation .comparison-image{object-fit:contain;background:#e6ddce}
.original-documentation{margin:28px 0}.original-documentation summary{min-height:44px}.original-documentation figure{max-width:400px;margin:20px 0 0}.original-documentation .comparison-image{aspect-ratio:3/4;object-fit:contain}.original-documentation .image-label{display:block}.original-documentation .image-label small{display:block;text-align:left;margin-top:4px}
@media(max-width:700px){.mixed-orientation .phone-comparison[data-show=before]>:first-child .comparison-image{aspect-ratio:3/4;max-height:72dvh;object-fit:contain}.original-documentation{margin:18px 0}.original-documentation summary{font-size:15px}}
