/* Listings & Sales styles, scoped to this section. */
.pf-listings{display:block;background:#f5f7fa;color:#172b40;--ls-line:#dce3eb}
.pf-listings .ls-container{width:min(100%,1280px);margin-inline:auto;padding-inline:48px}

/* hero — shorter, two lines of copy; .ls-intro-copy is removed from the markup */
.pf-listings .ls-intro{padding:32px 0 30px;background:#102138;border-bottom:1px solid #304157}
.pf-listings .ls-eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.15em;color:#c6d9e3}
.pf-listings .p10-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:10px}
.pf-listings .p10-icon svg{width:20px;height:20px}
.pf-listings .ls-intro h1{color:#fff;font-size:clamp(34px,3.4vw,48px);line-height:1.08;font-weight:400;letter-spacing:-.03em;margin:14px 0 6px}
.pf-listings .ls-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.35;color:#7dd6c7;margin:0}

/* section + toolbar (NEW: .ls-toolbar, .ls-years, .ls-hint replace .ls-section-head) */
.pf-listings .ls-section{padding:0;scroll-margin-top:calc(var(--return-header,96px) + var(--ms-bar,49px) + 24px)}
.pf-listings .ls-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px}
.pf-listings .ls-section-title{display:flex;align-items:center;gap:12px}
.pf-listings h2{font-size:26px;line-height:1.2;letter-spacing:-.02em;font-weight:400;color:#102138;margin:0}
.pf-listings .ls-years{display:flex;gap:8px;flex-wrap:wrap}
.pf-listings .ls-years a{display:inline-flex;align-items:center;text-decoration:none;min-height:40px;padding:0 18px;border-radius:999px;border:1px solid #c9d3de;background:#fff;color:#172b40;font:inherit;font-size:14px;cursor:pointer}
.pf-listings .ls-years a[aria-current=page]{background:#102138;border-color:#102138;color:#fff}
.pf-listings .ls-years .ls-label-mobile{display:none}
.pf-listings .ls-hint{font-size:13px;line-height:1.5;color:#586678;margin:10px 0 20px}

/* grid + cards */
.pf-listings .ls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pf-listings .ls-card{min-width:0;background:#fff;border:1px solid var(--ls-line);border-radius:10px;box-shadow:0 9px 28px -22px #203d5880;overflow:hidden;transition:box-shadow .16s ease}
.pf-listings .ls-card:hover{box-shadow:0 0 0 1px #258d85,0 9px 28px -22px #203d5880}
.pf-listings .ls-card:has(.ls-card-open:focus-visible){outline:3px solid #0d8d89;outline-offset:4px}
.pf-listings .ls-card-open{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.pf-listings .ls-photo{position:relative;display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:#dce3eb}
.pf-listings .ls-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}
.pf-listings .ls-card:hover .ls-photo img.ls-photo-main{transform:scale(1.03)}
.pf-listings .ls-photo img.ls-photo-backdrop{position:absolute;inset:0;filter:blur(18px);transform:scale(1.15);opacity:.9}
.pf-listings .ls-photo img.ls-photo-contain{position:relative;object-fit:contain}
.pf-listings .ls-chip{position:absolute;top:10px;left:10px;background:rgba(16,33,56,.82);color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:4px;line-height:1}
.pf-listings .ls-card-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.pf-listings .ls-address{display:block;font-size:18px;line-height:1.3;letter-spacing:-.01em;color:#172b40;text-wrap:balance}
.pf-listings .ls-location{display:block;font-size:13px;line-height:1.5;color:#657587;margin-top:4px}
.pf-listings .ls-date{display:flex;align-items:baseline;gap:8px;margin-top:auto;padding-top:12px;font-size:13px;line-height:1.5;color:#42576b}
.pf-listings .ls-date b{font-family:"Century Gothic",CenturyGothic,Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;color:#0f8558}

/* show more (NEW) */
.pf-listings .ls-more{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:32px}
.pf-listings .ls-more button{min-height:48px;padding:0 28px;border-radius:8px;border:1px solid #102138;background:#fff;color:#102138;font:inherit;font-size:15px;cursor:pointer}
.pf-listings .ls-more button:hover{background:#102138;color:#fff}
.pf-listings .ls-more p{margin:0;font-size:13px;color:#586678}
.pf-listings .ls-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap} /* NEW: live region */

/* profiles + back link — unchanged */
.pf-listings .ls-profiles{padding:44px 0;margin-top:48px;border-top:1px solid var(--ls-line)}
.pf-listings .ls-profiles h2{font-size:26px;margin-bottom:22px}
.pf-listings .pf-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pf-listings .pf-profile-card{min-width:0;padding:22px;text-decoration:none;display:flex;flex-direction:column}
.pf-listings .pf-profile-card h3{font-size:21px;font-weight:400;line-height:1.3;margin:12px 0 5px;color:#203d58}
.pf-listings .pf-profile-kind{font-size:9px;letter-spacing:.1em}
.pf-listings .pf-profile-foot{margin-top:8px;min-height:44px}
.pf-listings .pf-profile-action{font-size:12px}
.pf-listings .ls-back{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#146a70;text-underline-offset:4px;margin-top:16px}
.pf-listings :is(a,button):focus-visible{outline:3px solid #0d8d89;outline-offset:4px}

/* gallery — desktop */
.pf-listings .ls-gallery{width:min(1240px,calc(100% - 48px));height:min(852px,calc(100dvh - 48px));max-width:none;max-height:none;position:fixed;inset:0;margin:auto;padding:18px 24px 20px;border:1px solid #496078;border-radius:12px;background:#102138;color:#fff;overflow:hidden;box-shadow:0 20px 80px #0008}
.pf-listings .ls-gallery[open]{display:flex;flex-direction:column;gap:12px}
.pf-listings .ls-gallery::backdrop{background:#07111de6}
.pf-listings .ls-gallery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex:none}
.pf-listings .ls-gallery h2{font-size:22px;line-height:1.2;letter-spacing:-.01em;color:#fff}
.pf-listings .ls-gallery-head p{font-size:13px;color:#c5d2de;margin:4px 0 0}
.pf-listings .ls-gallery-headright{display:flex;align-items:center;gap:14px;flex:none}                 /* NEW */
.pf-listings .ls-gallery-count{font-size:13px;color:#d9e6ed;letter-spacing:.04em}                       /* NEW */
.pf-listings .ls-gallery button{background:#1c3349;border:1px solid #64798c;color:#fff;border-radius:6px;font:inherit;min-height:44px;min-width:44px;cursor:pointer}
.pf-listings .ls-gallery button:hover{background:#264258}
.pf-listings .ls-gallery button:focus-visible{outline-color:#91e5d5;outline-offset:2px}
.pf-listings [data-gallery-close]{display:inline-flex;align-items:center;gap:8px;padding:0 14px;white-space:nowrap;font-size:14px!important}
.pf-listings .ls-gallery-stage{display:grid;place-items:center;flex:1;min-height:0;position:relative;background:#091522;border-radius:6px;overflow:hidden;touch-action:pan-y pinch-zoom}
.pf-listings .ls-gallery-stage img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.pf-listings .ls-gallery-error{position:absolute;background:#091522;padding:20px}
.pf-listings .ls-gallery-stage [data-gallery-prev],.pf-listings .ls-gallery-stage [data-gallery-next]{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;min-height:0;min-width:0;padding:0;border-radius:999px;background:rgba(16,33,56,.85);display:inline-flex;align-items:center;justify-content:center}
.pf-listings .ls-gallery-stage [data-gallery-prev]{left:16px}.pf-listings .ls-gallery-stage [data-gallery-next]{right:16px}
.pf-listings .ls-gallery-stage button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pf-listings .ls-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}
.pf-listings [data-gallery-status]{margin:0;font-size:13px;line-height:1.45;color:#d9e6ed}
.pf-listings .ls-gallery-keys{font-size:12px;color:#8ea3b6;margin:0}                                        /* NEW */
.pf-listings .ls-gallery-keys kbd{font:inherit;border:1px solid #4b6075;border-radius:4px;padding:1px 6px;margin:0 2px;color:#c5d2de}
.pf-listings .ls-gallery-swipe{display:none}                                                              /* NEW: mobile only */
.pf-listings .ls-gallery-thumbs{display:flex;gap:8px;overflow-x:auto;flex:none;padding:4px 2px;overscroll-behavior:contain;scrollbar-width:thin}
.pf-listings .ls-gallery-thumbs button{flex:none;width:84px;height:56px;padding:0;min-height:0;min-width:0;border:2px solid transparent;border-radius:5px;background:#0b1a2b;overflow:hidden;opacity:.72}
.pf-listings .ls-gallery-thumbs button:hover{opacity:1}
.pf-listings .ls-gallery-thumbs button[aria-pressed=true]{border-color:#9bedd9;background:#0b1a2b;opacity:1}
.pf-listings .ls-gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}

@media (prefers-reduced-motion:reduce){.pf-listings .ls-photo img,.pf-listings .ls-card{transition:none}.pf-listings .ls-card:hover .ls-photo img.ls-photo-main{transform:none}}

@media (max-width:1100px){.pf-listings .ls-container{padding-inline:32px}}
@media (max-width:900px){.pf-listings .ls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:800px){.pf-listings .pf-profile-grid{grid-template-columns:1fr}}
@media (max-width:600px){
  .pf-listings .ls-container{padding-inline:20px}
  .pf-listings .ls-intro{padding:26px 0 24px}.pf-listings .ls-intro h1{font-size:34px;margin:12px 0 6px}.pf-listings .ls-lead{font-size:17px}
  .pf-listings .ls-toolbar{padding-top:24px}.pf-listings h2{font-size:24px}
  .pf-listings .ls-years{width:100%}.pf-listings .ls-years a{min-height:44px;padding:0 18px;font-size:15px}
  .pf-listings .ls-years .ls-label-desktop{display:none}.pf-listings .ls-years .ls-label-mobile{display:inline}
  .pf-listings .ls-hint{margin:8px 0 16px}
  .pf-listings .ls-grid{grid-template-columns:1fr;gap:16px}
  /* gallery — full screen */
  .pf-listings .ls-gallery{width:100%;height:100dvh;padding:0;border:0;border-radius:0;gap:0}
  .pf-listings .ls-gallery-head{padding:14px 12px 10px 16px}
  .pf-listings .ls-gallery h2{font-size:18px;line-height:1.25}.pf-listings .ls-gallery-head p{font-size:12px}
  .pf-listings .ls-gallery-count{display:none}
  .pf-listings [data-gallery-close]{width:44px;height:44px;padding:0;border-radius:8px;justify-content:center}
  .pf-listings [data-gallery-close] .ls-close-text{display:none}
  .pf-listings .ls-gallery-stage{border-radius:0}
  .pf-listings .ls-gallery-stage [data-gallery-prev],.pf-listings .ls-gallery-stage [data-gallery-next]{position:static;transform:none}
  .pf-listings .ls-gallery-swipe{display:block;position:absolute;left:50%;bottom:10px;transform:translateX(-50%);font-size:11px;letter-spacing:.06em;color:#c5d2de;background:rgba(16,33,56,.7);padding:4px 10px;border-radius:999px;white-space:nowrap}
  .pf-listings .ls-gallery-controls{padding:10px 12px 0;gap:12px}
  .pf-listings [data-gallery-status]{flex:1;text-align:center;font-size:12px;line-height:1.4}
  .pf-listings .ls-gallery-keys{display:none}
  .pf-listings .ls-gallery-thumbs{padding:12px 12px 14px;scrollbar-width:none}
  .pf-listings .ls-gallery-thumbs button{width:64px;height:44px}
}

/* Section-local integration fixes for intrinsic sizing and mobile controls. */
.pf-listings{overflow-anchor:none}
.pf-listings .ls-card-open{scroll-margin-top:calc(var(--return-header,96px) + var(--return-height,49px) + 16px)}
.pf-listings .ls-photo{flex-shrink:0}
.pf-listings .ls-card-body{width:100%;min-width:0}
.pf-listings .p10-icon svg{stroke-width:1.9}
.pf-listings .ls-gallery-head>div:first-child{min-width:0}
.pf-listings .ls-gallery-stage img{position:absolute;inset:0}
.pf-listings .ls-gallery [data-gallery-prev],.pf-listings .ls-gallery [data-gallery-next]{width:48px;height:48px;flex:none;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.pf-listings .ls-gallery button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pf-listings .ls-close-icon{font-size:24px;line-height:1}
.pf-listings .ls-gallery-swipe{transition:opacity .2s ease;pointer-events:none}
.pf-listings .ls-gallery-swipe.is-hidden{opacity:0}
@media(max-width:600px){
 .pf-listings .ls-gallery[open]{gap:0}
 .pf-listings .ls-caption-separator{display:none}
 .pf-listings [data-gallery-caption]{display:block}
 .pf-listings .ls-gallery-keys{display:none}
}
@media(prefers-reduced-motion:reduce){.pf-listings .ls-gallery-swipe{transition:none}}

/* Landing and archive additions; shared site components remain unchanged. */
.pf-listings .ls-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pf-listings .ls-year-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--ls-line);border-radius:10px;box-shadow:0 9px 28px -22px #203d5880;overflow:hidden;text-decoration:none;transition:box-shadow .16s ease}
.pf-listings .ls-year-card:hover{box-shadow:0 0 0 1px #258d85,0 9px 28px -22px #203d5880}
.pf-listings .ls-year-photo{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#dce3eb}
.pf-listings .ls-year-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}
.pf-listings .ls-year-card:hover img{transform:scale(1.03)}
.pf-listings .ls-year-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 16px;min-width:0}
.pf-listings .ls-year-number{font-size:26px;line-height:1.2;letter-spacing:-.02em;color:#102138}
.pf-listings .ls-year-action{font-size:13px;color:#146a70;white-space:nowrap}
.pf-listings .ls-year-card:hover .ls-year-action{text-decoration:underline;text-underline-offset:4px}
.pf-listings .ls-view-all{display:flex;justify-content:center;margin-top:24px}
.pf-listings .ls-view-all a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 28px;border-radius:8px;border:1px solid #102138;background:#fff;color:#102138;font-size:15px;text-decoration:none}
.pf-listings .ls-view-all a:hover{background:#102138;color:#fff}
.pf-listings .ls-profiles{margin-top:40px}
.pf-listings .pf-profile-card{padding:22px 24px;min-height:200px}
.pf-listings .pf-profile-card h3{margin:10px 0 4px}
.pf-listings .pf-profile-domain{margin-bottom:12px}
.pf-listings .ls-profile-logo{display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex:none;padding:7px;margin-bottom:14px;border:1px solid #dce3eb;border-radius:10px;background:#fff}
.pf-listings .ls-profile-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.pf-listings .ls-overview{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:14px;color:#146a70;text-underline-offset:4px}
.pf-listings.ls-archive .ls-toolbar{padding-top:4px}
.pf-listings .ls-overview-bottom{display:flex;justify-content:center;margin-top:28px;padding-bottom:44px}
.pf-listings .ls-overview-bottom .ls-overview{margin-top:0}
@media(max-width:900px){
 .pf-listings .ls-year-grid{grid-template-columns:1fr}
 .pf-listings .ls-year-card{flex-direction:row;min-height:88px}
 .pf-listings .ls-year-photo{flex:none;width:132px;aspect-ratio:auto;position:relative}
 .pf-listings .ls-year-photo img{position:absolute;inset:0}
 .pf-listings .ls-year-body{flex:1;padding:12px 18px}
}
@media(max-width:600px){
 .pf-listings .ls-year-grid{gap:12px}
 .pf-listings .ls-year-photo{width:120px}
 .pf-listings .ls-year-number{font-size:24px}
 .pf-listings .ls-view-all{margin-top:20px}.pf-listings .ls-view-all a{width:100%}
 .pf-listings .pf-profile-card{min-height:0}
}
@media(prefers-reduced-motion:reduce){.pf-listings .ls-year-card,.pf-listings .ls-year-photo img{transition:none}.pf-listings .ls-year-card:hover img{transform:none}}

/* Decorative spacing preserves row alignment while third-party logos are omitted. */
.pf-listings .ls-profile-logo-spacer{visibility:hidden;border:0;background:transparent}
.pf-listings .pf-profile-foot{margin-top:auto}

/* Transaction filters use the existing year-pill treatment, within Listings only. */
.pf-listings .ls-types{margin-top:16px}
.pf-listings .ls-empty{padding:24px 0;color:#586678;font-size:15px}
