.venue-photo-card{display:block;aspect-ratio:16/10;overflow:hidden;background:#e4eadd}
.venue-photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ski-card:hover .venue-photo-card img{transform:scale(1.025)}
.venue-photo-hero{margin:0;min-width:0;align-self:center}
.venue-photo-hero img{display:block;width:100%;height:350px;object-fit:cover;border-radius:16px;background:#e4eadd}
.venue-photo-hero figcaption{font-size:10px;color:#657460;line-height:1.7;margin-top:9px;text-align:right}
.venue-photo-hero figcaption a{text-decoration:underline;text-underline-offset:3px}
.ski-detail-hero{grid-template-columns:1.1fr 1fr;gap:38px}
.has-venue-photo{display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:auto auto auto 1fr;column-gap:35px;padding:30px}
.has-venue-photo>p,.has-venue-photo>h1,.has-venue-photo>.ski-tags{grid-column:1}
.has-venue-photo>.ski-tags{align-self:start;align-items:flex-start}
.has-venue-photo>.eyebrow{align-self:end}
.has-venue-photo h1{font-size:clamp(30px,3.6vw,48px)}
.has-venue-photo .ski-lede{font-size:14px}
.venue-detail-photo-slot{grid-column:2;grid-row:1/5;align-self:center;min-width:0}
.naver-button{background:#fff;border:1px solid #c9ded1;color:#195f3d;gap:8px}
.naver-button:hover{background:#edf7ef;border-color:#21a156}
.naver-n{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:4px;background:#03c75a;color:white;font-weight:900;font-size:14px;line-height:1}
.place-map-section{margin-top:52px;padding-top:35px;border-top:1px solid #d8e1d0;scroll-margin-top:25px}
.place-map-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:22px}
.place-map-heading h2{font-size:26px;letter-spacing:-.7px;margin:8px 0 11px}
.place-map-heading p:not(.eyebrow){font-size:13px;line-height:1.8;color:#60715b}
.place-map-actions{display:flex;gap:9px;flex-wrap:wrap;flex-shrink:0}
.place-map-actions .button{font-size:12px;min-height:43px;padding:10px 15px;gap:7px}
.place-map-frame{height:380px;overflow:hidden;border:1px solid #d8e1d0;border-radius:16px;background:#e6ece2}
.place-map-frame iframe{width:100%;height:100%;border:0;display:block}
.map-caption{font-size:11px;color:#6d7c64;line-height:1.8;margin-top:12px}
.home-place-photo{display:block;aspect-ratio:16/10;margin:-23px -24px 20px;border-radius:12px 12px 0 0;overflow:hidden;background:#e4eadd}
.home-place-photo img{display:block;width:100%;height:100%;object-fit:cover}
.place-card:has(.home-place-photo) .bookmark-button{background:#ffffffed;border:1px solid #e1e7db;box-shadow:0 2px 8px #213a2620}
@media(max-width:1050px){.home-place-photo{margin-inline:-20px}.place-map-heading{align-items:flex-start;flex-direction:column}.has-venue-photo{column-gap:25px}.venue-photo-hero img{height:300px}}
@media(max-width:720px){.ski-detail-hero{grid-template-columns:1fr;gap:24px}.has-venue-photo{display:block;padding:24px}.venue-detail-photo-slot{margin-top:23px}.venue-photo-hero img{height:240px;border-radius:12px}.venue-photo-hero figcaption{font-size:9px}.has-venue-photo h1{font-size:34px}.place-map-section{margin-top:35px;padding-top:28px}.place-map-heading h2{font-size:24px}.place-map-frame{height:300px;border-radius:12px}.place-map-actions{width:100%}.place-map-actions .button{flex:1;white-space:nowrap;font-size:11px}.home-place-photo{margin-top:-20px}.venue-photo-card{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.venue-photo-card img{transition:none}.ski-card:hover .venue-photo-card img{transform:none}}
