/* Representative sections only. Existing px-common/location CSS supplies type, controls and components. */
.preview { background: #fff; }
.preview figure { position: relative; }
/* Reuse the current site's general/module.css rule without loading header/footer modules. */
.preview .mainimg-property img { width: 100%; }
.preview a:focus-visible, .preview button:focus-visible { outline: 2px solid #a98b14 !important; outline-offset: 4px; }
.review-bar, .review-note { font: 13px/1.7 -apple-system, BlinkMacSystemFont, sans-serif; letter-spacing: normal; }
.review-bar { padding: 12px 24px; background: #f3f3f3; border-bottom: 1px dashed #aaa; display: flex; gap: 8px 24px; flex-wrap: wrap; align-items: center; }
.review-bar nav { margin-left: auto; display: flex; gap: 20px; }
.review-bar a { color: #333; text-decoration: underline; }
.review-note { color: #555; border: 1px dashed #aaa; padding: 14px 18px; margin-block: 24px; }
.review-note strong { display: block; font-weight: 600; }
.preview-heading { padding-block: 70px 45px; }
.preview-heading h2 { font-size: clamp(28px, 3.5vw, 48px); letter-spacing: .12em; font-weight: 400; }
.preview-heading > p { margin-top: 8px; font-size: 16px; letter-spacing: .14em; }
.preview-lead { text-align: center; padding-block: 35px 55px; }
.preview-lead .sectionText { margin-top: 25px; }
.preview-area-map .spHalfModal { display: block; width: 100%; }
.preview-anchors { margin: 0 0 55px; }
.preview-anchors .pageTab__inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
.preview-anchors .pageTab__btn { padding-block: 22px; }
.preview-anchors .pageTab__text { opacity: 1; }
.preview-anchors .ja { font-size: 20px; }
.preview-life-link { display: block; text-align: center; font-size: 14px; margin-top: 24px; text-decoration: underline; }
.preview-area { margin-top: 85px; scroll-margin-top: 30px; }
.preview-area-title { font-size: clamp(22px, 2.3vw, 32px); letter-spacing: .08em; line-height: 1.9; font-weight: 400; margin-bottom: 45px; }


.preview-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 70px 60px; max-width: 1080px; margin-inline: auto; }
.preview-card { min-width: 0; }
.preview-card figure img { width: 100%; display: block; }
.preview-card h3, .preview-card h4 { margin-top: 24px; font-weight: 400; }
.preview-distance { font-size: 13px; margin: 4px 0 18px; line-height: 1.7; }
.preview-card .mapBtn { margin-top: 24px; }
.preview-card .sectionNote { margin-top: 15px; }
.preview-card .imgcap { max-width: 100%; }
.preview .lifeInfo { scroll-margin-top: 25px; }
.preview-now { margin-top: 65px; }
.preview-now-lead { margin: -20px 0 50px; }
.preview-future { margin-top: 120px; }
.preview-future .introSection { margin-top: 55px; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: 65px; }
.preview-future .introPickup { top: 40px; }
.preview-future .introRight { width: 100%; max-width: none; }
.preview-slider-lead { margin-top: 85px; }
.preview .schedule { padding-top: 0; }
.preview .scheduleBox { padding-top: 30px; }
.preview-end { margin-block: 65px 70px; }
@media (max-width: 1024px) {
 .preview-cards { gap: 55px 40px; }
 .preview-future .introSection { column-gap: 40px; }
}
@media (max-width: 960px) {
 .preview-future .introSection { grid-template-columns: minmax(0,1fr); gap: 45px; }
 .preview-future .introPickup { position: static; }
 .preview-future .introFutureList { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px; }
 .preview-future .introFutureItem + .introFutureItem { margin-top: 0; }
}
@media (max-width: 768px) {
 .review-bar { padding: 10px 20px; gap: 4px 12px; }
 .review-bar nav { margin-left: 0; }
 .preview-heading { padding-block: 40px 20px; }
 .preview-lead { padding-block: 25px 35px; }
 .preview-anchors { margin-bottom: 35px; }
 .preview-anchors .ja { font-size: 16px; }
 .preview-anchors .pageTab__btn { padding-inline: 4px; }
 .preview-area { margin-top: 60px; }
 .preview-area-title { margin-bottom: 28px; }


 .preview-cards, .preview-future .introFutureList { grid-template-columns: minmax(0,1fr); gap: 45px; }
 .preview-card h3, .preview-card h4 { margin-top: 20px; }
 .preview-card .sectionText { font-size: 14px; }
 .preview-now { margin-top: 40px; }
 .preview-now-lead { margin: 0 0 30px; }
 .preview-future { margin-top: 70px; }
 .preview-future .introSection { margin-top: 35px; }
 .preview-slider-lead { margin-top: 55px; }
}
/* Match the four Now-card image frames while retaining each supplied image. */
.preview-now .preview-card figure img { aspect-ratio: 1400 / 640; object-fit: cover; }
/* Review-only explanation for the supplied Maps API's localhost restriction. Remove before production. */
.preview #map[data-review-map]::after { content: attr(data-review-map); position: absolute; inset: 20px; padding: 20px; border: 1px dashed #aaa; background: #f5f5f5; color: #555; font: 13px/1.8 -apple-system, BlinkMacSystemFont, sans-serif; }
