@charset "UTF-8";
.cps-main { width:100%; }
.cp-page .cps-hero { background:var(--cp-surface); padding-top:35px; padding-bottom:65px; }
.cps-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:10px; color:var(--cp-muted); margin-bottom:45px; }
.cp-page .cps-hero h1 { font:300 clamp(50px,6vw,88px)/1.1 "Helvetica Neue",Arial,sans-serif; letter-spacing:-.045em; margin:0 0 26px; }
.cp-page .cps-hero h2 { font-size:24px; margin-bottom:20px; }
.cps-hero p { font-size:13px; }
.cps-search-wrap { padding:55px 5vw 45px; border-bottom:1px solid var(--cp-line); }
.cps-search-heading { margin-bottom:30px; }
.cp-page .cps-search-heading h2 { font-size:25px; }
.cps-search-heading p { font-size:12px; color:var(--cp-muted); margin-top:8px; }
.cps-search-form { display:grid; grid-template-columns:1fr 1fr 1.6fr auto; gap:22px; align-items:end; }
.cps-search-form label { display:block; font-size:11px; margin-bottom:10px; }
.cps-search-form input,.cps-search-form select { display:block; width:100%; height:52px; border:1px solid var(--cp-line); border-radius:0; background:var(--cp-paper); padding:0 14px; color:var(--cp-ink); font-size:13px; }
.cps-search-form input::placeholder { color:var(--cp-muted); opacity:1; }
.cps-search-form button { border:0; border-bottom:1px solid var(--cp-ink); height:45px; margin-bottom:3px; padding:0 3px; background:none; font-size:12px; }
.cps-list-wrap { padding:35px 5vw 80px; }
.cps-count { font-size:12px; margin-bottom:25px !important; }
.cps-count strong { font-size:24px; font-weight:400; margin-right:7px; }
.cps-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:55px 30px; }
.cps-card { min-width:0; display:flex; flex-direction:column; }
.cps-card-media { aspect-ratio:1.45; overflow:hidden; background:var(--cp-surface); }
.cp-page .cps-card-media > img { width:100%; height:100%; object-fit:cover; }
.cps-card-fallback { height:100%; display:grid; place-items:center; background:#f8eeee; }
.cp-page .cps-card-fallback img { width:60%; height:auto; }
.cps-card-body { display:flex; flex-direction:column; flex:1; padding:20px 0 0; }
.cps-pref-label { font-size:10px; color:var(--cp-muted); }
.cp-page .cps-card h3 { font-size:22px; margin:4px 0 12px; }
.cps-address { font-size:12px; color:var(--cp-muted); }
.cps-tel { font-size:15px; letter-spacing:.04em; margin:12px 0 18px; display:block; }
.cps-card-actions { display:flex; flex-wrap:wrap; gap:10px 20px; justify-content:space-between; margin-top:auto; padding-top:14px; border-top:1px solid var(--cp-line); font-size:11px; }
.cps-card-actions a { padding:8px 0; }
.cps-card-actions a:first-child { color:var(--cp-rose); }
.cps-empty { text-align:center; padding:60px 0; }
.cp-page .cps-empty h2 { font-size:24px; }
.cps-empty p { margin:16px 0 25px; }
.cps-list-note { margin-top:50px !important; }
.cps-contact { text-align:center; background:var(--cp-surface); }
.cps-contact p { margin:22px 0 30px; font-size:13px; }
@media (max-width:1100px) { .cps-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .cps-search-form { grid-template-columns:1fr 1fr; } }
@media (max-width:767px) {
  .cp-page .cps-hero { padding:25px 24px 45px; }
  .cps-breadcrumb { margin-bottom:35px; font-size:9px; }
  .cp-page .cps-hero h1 { font-size:48px; }
  .cp-page .cps-hero h2 { font-size:21px; }
  .cps-search-wrap { padding:35px 24px; }
  .cps-search-form { grid-template-columns:1fr; gap:20px; }
  .cps-search-form button { width:fit-content; justify-self:end; }
  .cps-list-wrap { padding:25px 24px 55px; }
  .cps-list { grid-template-columns:1fr; gap:40px; }
  .cp-page .cps-card h3 { font-size:22px; }
  .cps-card-actions { font-size:12px; }
  .cps-empty p { font-size:12px; }
}

.cps-hours { font-size:11px; color:var(--cp-muted); margin:0 0 18px; }
