/* V1.15: Home image placeholders */
.home-slot{width:100%;height:100%;border:0}.home-hero-photo{background:#dfded6}.home-hero-slot{min-height:100%}.home-expertise-slot,.home-project-slot{aspect-ratio:unset}.hero-photo .home-slot{height:100%}.project-image .home-slot,.image-wrap .home-slot{height:100%}.slider-placeholder{width:100%;height:100%;border:0}.comparison-base .slider-placeholder{height:100%}.comparison-cover .slider-placeholder{position:absolute;top:0;left:0;width:var(--comparison-full-width, 700px);height:100%}.comparison-cover{--comparison-full-width: 100%}.comparison-visual .slot-id{font-size:10px}.comparison-visual .slot-title{font-size:10px}.comparison-visual .slot-details{font-size:8px}.hero-photo .slot-title{font-size:13px}.hero-photo .slot-id{font-size:12px}.comparison-labels{color:#333;text-shadow:none}
@media(max-width:650px){.home-slot .slot-details{font-size:8px}}
@media(max-width:480px){
  .home-project-slot .slot-core{gap:4px;padding:10px 6px;transform:translateY(-2px)}
  .home-project-slot .slot-title{font-size:8px;letter-spacing:.11em;line-height:1.35}
  .home-project-slot .slot-cross{font-size:20px}
  .home-project-slot .slot-id{top:13px;font-size:9px}
  .home-project-slot .slot-details{bottom:9px;display:grid;justify-content:start;gap:1px;font-size:6px;line-height:1.2;letter-spacing:.01em}
}

/* V1.17: reuse Projects comparison component. */


/* V1.15: paired PRJ-009 placeholders, interactive before/after */
.prj-compare{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#d7d6cc}
.prj-side{position:absolute;inset:0}
.prj-side .home-slot{height:100%;width:100%}
.prj-side .image-slot{height:100%;width:100%;border:0}
.prj-before{width:50%;overflow:hidden}
.prj-before .image-slot{position:absolute;left:0;top:0;width:var(--prj-full-width,700px);max-width:none}
.prj-done .image-slot{background:#d2d0c5}
.prj-before .image-slot{background:#e6e4dd}
.prj-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:white;pointer-events:none;z-index:2}
.prj-divider span{position:absolute;left:1px;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-size:20px}
.prj-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3}
.prj-compare:focus-within{outline:3px solid var(--olive);outline-offset:2px}
.prj-labels{position:absolute;inset:auto 16px 10px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;font-weight:700;pointer-events:none;z-index:2;color:#48493e}
.prj-compare .slot-details{bottom:36px;font-size:8px}
.prj-compare .slot-id{font-size:10px}
.prj-compare .slot-title{font-size:10px}
.home-prj-compare{aspect-ratio:16/9}
.home-prj-compare .prj-before .image-slot{height:100%;width:var(--prj-full-width,700px)}
.home-prj-compare .prj-done .image-slot{height:100%}

/* Homepage photography: preserve each established frame while cropping without distortion. */
.home-hero-photo>img,.image-wrap>img,.project-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.home-prj-compare .prj-side>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;max-width:none}
.home-prj-compare .prj-before>img{width:var(--prj-full-width,700px)}
