/* Residential project portfolio: two projects, compact panoramic previews and horizontal filmstrips. */
.residential-projects{padding:70px 0 92px;background:#f2eee8}
.residential-projects .project-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin:0 0 35px}
.residential-projects .project-heading h2{font:400 clamp(28px,3.1vw,46px)/1.5 'Noto Serif KR',serif;letter-spacing:-.07em;margin:0}
.residential-projects .project-heading p{font-size:12px;color:#736a60;max-width:335px;line-height:2;margin:0}
.res-project{padding:28px 0 45px;border-top:1px solid #cfc6b8}
.res-project + .res-project{margin-top:16px}
.res-project-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:0 0 21px}
.res-project-num{display:block;color:#9b8770;letter-spacing:.24em;font-size:10px;font-family:'DM Sans',sans-serif;font-weight:600}
.res-project-head h3{font:400 clamp(23px,2.5vw,37px)/1.45 'Noto Serif KR',serif;letter-spacing:-.065em;margin:8px 0}
.res-project-head p{font-size:12px;line-height:1.9;color:#70675e;margin:0}
.res-project-count{font:500 12px 'DM Sans',sans-serif;color:#8d7d6b;white-space:nowrap}
.res-project-hero,.res-project-tile{border:0;display:block;padding:0;background:transparent;text-align:left;position:relative;cursor:pointer;color:#fff;overflow:hidden}
.res-project-hero{width:100%;height:clamp(230px,35vw,455px)}
.res-project-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 53%;transition:transform .4s ease}
.res-project-hero[data-project="misa"] img{object-position:center 45%}
.res-project-hero:hover img,.res-project-tile:hover img{transform:scale(1.035)}
.res-project-photo-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px 21px 15px;background:linear-gradient(transparent,rgba(10,10,8,.6));font-size:12px}
.res-project-photo-label strong{font-weight:500;font-size:13px}
.res-project-rail{display:flex;gap:12px;margin-top:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:9px}
.res-project-tile{flex:0 0 clamp(180px,26%,290px);scroll-snap-align:start;color:#292720}
.res-project-tile img{display:block;width:100%;height:clamp(130px,14vw,180px);object-fit:cover;transition:transform .4s ease}
.res-project-tile span{display:flex;justify-content:space-between;gap:12px;padding:9px 1px;font-size:12px;color:#5b544b}
.res-photo-disclaimer{font-size:11px;color:#746c61;line-height:1.8;margin:10px 0}
.res-project-controls{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:12px;font-size:12px;color:#70675d}
.res-project-controls a{text-decoration:underline;text-underline-offset:5px;color:#292720}
.res-project-hero:focus-visible,.res-project-tile:focus-visible{outline:3px solid #b19778;outline-offset:3px}
.res-lightbox{border:0;padding:0;background:#f7f4ef;color:#282720;width:min(950px,calc(100vw - 20px));max-height:96svh;overflow:hidden;box-shadow:0 28px 100px #0009}
.res-lightbox::backdrop{background:rgba(8,8,8,.87)}
.res-lightbox-shell{display:flex;flex-direction:column;position:relative;max-height:96svh}
.res-lightbox-image{background:#191916;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.res-lightbox-image img{width:100%;height:min(76svh,850px);max-height:76svh;object-fit:contain}
.res-lightbox-close{cursor:pointer;position:absolute;top:12px;right:12px;z-index:2;border:0;color:#fff;background:rgba(15,14,12,.7);border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:30px;font-weight:300;line-height:1}
.res-lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px 17px}
.res-lightbox-bottom .meta{display:flex;flex-direction:column;gap:4px;min-width:0}
.res-lightbox-bottom small{color:#8d7d69;font:600 10px 'DM Sans',sans-serif;letter-spacing:.11em}
.res-lightbox-bottom strong{font:400 17px 'Noto Serif KR',serif}
.res-lightbox-buttons{display:flex;align-items:center;gap:9px}
.res-lightbox-buttons button{cursor:pointer;border:1px solid #b6a899;background:transparent;color:#363029;min-width:40px;min-height:40px;font-size:18px}
.res-lightbox-buttons span{min-width:42px;text-align:center;font-size:11px;color:#7c7165}
@media(max-width:750px){
  .residential-projects{padding:48px 0 58px}
  .residential-projects .project-heading{display:block;margin-bottom:20px}
  .residential-projects .project-heading p{margin-top:15px}
  .res-project{padding:19px 0 28px}
  .res-project-head{align-items:start}
  .res-project-head h3{font-size:25px}
  .res-project-count{font-size:10px;margin-top:15px}
  .res-project-hero{height:auto;aspect-ratio:16/10}
  .res-project-rail{gap:10px}
  .res-project-tile{flex-basis:44%;min-width:142px}
  .res-project-tile img{height:auto;aspect-ratio:4/3}
  .res-project-tile span{font-size:11px}
  .res-lightbox-image img{height:min(70svh,730px);max-height:70svh}
  .res-lightbox-bottom{padding:12px 13px 16px}
  .res-lightbox-bottom strong{font-size:14px}
  .res-lightbox-buttons{gap:5px}
  .res-lightbox-buttons button{min-width:35px;min-height:38px}
}
@media(prefers-reduced-motion:reduce){.res-project-hero img,.res-project-tile img{transition:none}}
