/* /villas/ "사진으로 둘러보기" 섹션 — 영상 히어로(.video-hero)와 같은 톤. 외부 URL 없음. 색은 redesign.css 변수 재사용(남색 제목 대비 15:1↑, 본문 --soft 7:1↑). */
.pvp{position:relative;overflow:clip;background:linear-gradient(180deg,#f3f8ff 0,var(--tint-blue) 100%);padding:28px 0 36px}
.pvp-deco{position:absolute;top:0;right:0;width:170px;height:170px;color:#cfe3f7;opacity:.6;pointer-events:none}
.pvp-layout{position:relative}
.pvp .wrap{width:calc(100% - 32px)}
.pvp-layout{display:grid;gap:22px}
.pvp-copy{text-align:center}
.pvp-copy .eyebrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 12px;border:1px solid #cfe0f5;border-radius:999px;background:#fff;color:#0a4fa8;font-size:.875rem;font-weight:700;letter-spacing:.02em;margin-bottom:14px;box-shadow:0 2px 6px #0f274712}
.pvp-em{color:#0a5bc4}
.pvp-copy h2{font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.25;letter-spacing:-.03em;font-weight:800;color:var(--navy);margin:0}
.pvp-copy>p:not(.eyebrow){color:var(--soft);font-size:.9375rem;margin:14px 0 0}
.pvp-actions{display:grid;gap:10px;margin-top:18px}
.pvp-actions .pvp-find{display:flex;width:100%;justify-content:center;background:#16294d;color:#fff;border-color:#16294d;min-height:52px;gap:10px;font-size:1rem;font-weight:700}
.pvp-actions .pvp-kakao{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border:1px solid #fee500;border-bottom:1px solid #fee500;border-radius:999px;background:#fee500;color:#191919;font-size:1rem;font-weight:700;text-decoration:none;line-height:1.2;box-shadow:0 6px 16px rgba(19,27,42,.12)}
.pvp-actions .pvp-kakao:hover{background:#f5dc00;border-color:#f5dc00;color:#191919}
.pvp-actions .pvp-kakao:focus-visible,.pvp-actions .pvp-find:focus-visible{outline:3px solid #0a5bc4;outline-offset:3px}
.pvp-talk{flex:none;display:block}
.pvp-actions .pvp-find{padding:0 22px;box-sizing:border-box;align-items:center;border-radius:999px}
.pvp-actions .pvp-find .pvp-pic{margin:0}
.pvp-actions .pvp-kakao{box-sizing:border-box}
.pvp-photos{display:grid;gap:14px}
.pvp-all{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;min-height:52px;padding:0 22px;border-radius:999px;background:#16294d;color:#fff;border:1px solid #16294d;font-size:1rem;font-weight:700;text-decoration:none}
.pvp-all:hover{background:#0f1f3d;color:#fff}
.pvp-all:focus-visible{outline:3px solid #0a5bc4;outline-offset:3px}
.pvp-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pvp-card{position:relative;display:block;overflow:hidden;border-radius:26px;background:#10253d;box-shadow:var(--shadow);aspect-ratio:4/3;min-height:44px}
.pvp-card-1{grid-column:1/-1;aspect-ratio:5/4}
/* 대표 사진(건물·수영장)은 가운데가 중심이라 가운데 기준으로 맞춘다. 사진 파일이 칸 비율(5:4·4:3)과 같아 거의 잘리지 않는다. */
.pvp-card img{object-position:50% 50%}
.pvp-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.pvp-card:hover img{transform:scale(1.03)}
.pvp-card:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.pvp-tag{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);background:#0f2747e6;color:#fff;border-radius:999px;padding:6px 12px;font-size:.8125rem;font-weight:700;line-height:1.3}
@media(max-width:700px){.pvp-card-2 .pvp-tag,.pvp-card-3 .pvp-tag{left:8px;bottom:8px;padding:5px 9px;font-size:.75rem}}
@media(min-width:1001px){
 .pvp{padding:56px 0 64px}
 .pvp .wrap{width:min(1120px,calc(100% - 48px))}
 .pvp-layout{grid-template-columns:1fr 1.3fr;gap:56px;align-items:center}
 .pvp-copy h2{font-size:clamp(2rem,3vw,2.75rem)}
 .pvp-copy>p:not(.eyebrow){font-size:1.0625rem}
 .pvp-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 20px;margin-top:22px}
 .pvp-actions .pvp-find{display:inline-flex;width:auto}
 .pvp-actions .pvp-kakao{display:inline-flex}
 .pvp-deco{width:260px;height:260px;right:0}
 .pvp-gallery{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:12px}
 .pvp-card,.pvp-card-1{aspect-ratio:auto}
 .pvp-card-1{grid-column:1;grid-row:1/3;min-height:380px}
 .pvp-card-2,.pvp-card-3{grid-column:2;min-height:184px}
}
@media(prefers-reduced-motion:reduce){.pvp-card img{transition:none}.pvp-card:hover img{transform:none}}
