.project-visual.has-image{display:block;background:#d8d3c8}
.project-visual.has-image::after{display:none}
.project-visual.has-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.project-visual.has-image:hover img{transform:scale(1.015)}
.project-meta h3 a{color:inherit;text-decoration:none}
.contact-link{font-size:clamp(3rem,11vw,11rem)}
.contact-email{display:block;width:max-content;margin-top:2.2rem;color:inherit;text-decoration:none;font-size:clamp(1.1rem,1.7vw,1.5rem);letter-spacing:.03em;border-bottom:1px solid #77746d;padding-bottom:.25rem}
.bathroom-cover img{object-position:center 38%}

.detail-body{background:#f4f2ed}
.detail-nav{position:fixed;color:#171714;background:rgba(244,242,237,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,23,20,.12)}
.back-link{color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}
.detail-hero{padding:clamp(8rem,14vw,13rem) 5vw 5vw;display:grid;grid-template-columns:1.2fr 2fr;gap:4vw;align-items:end}
.detail-hero h1{font-weight:400;font-size:clamp(5rem,11vw,11rem);line-height:.82;letter-spacing:-.045em;margin:0}
.detail-intro{max-width:470px;font-size:1.25rem;line-height:1.55;margin:0 0 .6rem}
.detail-cover{margin:0 5vw;height:min(67vw,900px);overflow:hidden}
.detail-cover img,.gallery-frame img{width:100%;height:100%;display:block;object-fit:cover}
.project-facts{margin:7rem 5vw 10rem;padding-top:1.5rem;border-top:1px solid #cecac0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.project-facts p{margin:.4rem 0 0;font-size:1.1rem}.project-facts .eyebrow{margin-bottom:.7rem}
.gallery{padding:0 5vw 13vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw 4vw;align-items:start}
.gallery-frame{margin:0;overflow:hidden;background:#d8d3c8}
.gallery-frame.wide{grid-column:1/-1;height:min(60vw,850px)}
.gallery-frame.portrait{height:min(78vw,1050px)}
.gallery-frame.landscape{height:min(52vw,720px);margin-top:14vw}
.detail-footer{margin-top:0}
.realization-strip{margin:0 5vw clamp(8rem,13vw,13rem);background:#fff}
.realization-strip img{display:block;width:100%;height:auto}
.process-grid{padding:0 5vw clamp(10rem,16vw,16rem);display:grid;grid-template-columns:1.4fr 1fr;gap:5vw;align-items:start}
.process-grid figure{margin:0;background:#fff}.process-grid img{display:block;width:100%;height:auto}.process-grid figcaption{padding:1rem 0;background:#f4f2ed;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;border-top:1px solid #cecac0}
.photo-hero{margin:0 5vw;height:min(78vw,980px);overflow:hidden;background:#d8d3c8}.photo-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.story-section{padding:clamp(8rem,13vw,13rem) 5vw 0}.story-head{display:grid;grid-template-columns:1fr 2fr;gap:4vw;margin-bottom:6rem;align-items:start}.story-head h2{font-weight:400;font-size:clamp(3.4rem,7.4vw,8rem);line-height:.94;letter-spacing:-.035em;margin:0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:start}.story-grid figure{margin:0;overflow:hidden;background:#d8d3c8}.story-grid img{display:block;width:100%;height:auto}.story-grid .offset{margin-top:14vw}.story-grid .detail-shot{grid-column:1/-1;width:62%;margin:4vw auto 0}.before-section{padding-bottom:clamp(10rem,16vw,16rem)}.before-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}.before-grid figure{margin:0;overflow:hidden;background:#d8d3c8}.before-grid img{display:block;width:100%;height:auto;filter:saturate(.76) contrast(.96)}
@media(max-width:720px){.detail-hero{grid-template-columns:1fr;padding-top:8rem;gap:2rem}.detail-hero h1{font-size:20vw}.detail-intro{font-size:1.1rem}.detail-cover{height:72vw;margin:0}.project-facts{grid-template-columns:1fr;gap:1.5rem;margin-top:5rem;margin-bottom:7rem}.gallery{grid-template-columns:1fr;gap:2.5rem;padding-left:0;padding-right:0}.gallery-frame.wide,.gallery-frame.portrait,.gallery-frame.landscape{grid-column:auto;height:auto;margin:0}.gallery-frame img{height:auto}.detail-nav .back-link{margin-left:0}.realization-strip{margin-left:0;margin-right:0}.process-grid{grid-template-columns:1fr;padding-left:0;padding-right:0;gap:4rem}.process-grid figcaption{padding-left:6vw}.photo-hero{margin:0;height:118vw}.story-section{padding-left:0;padding-right:0}.story-head{grid-template-columns:1fr;padding:0 6vw;margin-bottom:4rem}.story-head h2{margin-top:2rem}.story-grid{grid-template-columns:1fr;gap:2rem}.story-grid .offset{margin-top:0}.story-grid .detail-shot{grid-column:auto;width:100%;margin:0}.before-grid{grid-template-columns:1fr;gap:2rem}}
