.pl-search { --pl-ink:#00203d; --pl-orange:#c94e27; color-scheme:light; position:relative; z-index:4; width:100%; max-width:780px; margin:28px auto 0; text-align:left; font-family:'Open Sans',sans-serif; color:var(--pl-ink); }
.pl-search,.pl-search * { box-sizing:border-box; }
.pl-search--directory { max-width:none; background:#f3f5f7; padding:28px 32px; margin:0 0 36px; border-radius:12px; }
.pl-search .pl-search__form { margin:0; }
.pl-search .pl-search__form label { display:block; position:static; color:var(--pl-ink); font-size:20px; font-weight:700; line-height:1.4; margin:0 0 12px; }
.pl-search--hero .pl-search__form label { color:#fff; }
.pl-search .pl-search__controls { display:flex; align-items:stretch; gap:10px; }
.pl-search .pl-search__input-wrap { position:relative; flex:1; min-width:0; }
.pl-search .pl-search__icon { position:absolute; top:19px; left:18px; z-index:1; color:#617080; pointer-events:none; }
.pl-search .pl-search__input-wrap input { display:block; width:100%; height:60px; padding:0 16px 0 50px; margin:0; color:#00203d; background:#fff; border:1px solid #bac4cc; border-radius:7px; box-shadow:none; font:400 16px/1.5 'Open Sans',sans-serif; appearance:none; }
.pl-search .pl-search__input-wrap input::placeholder { color:#586777; opacity:1; }
.pl-search .pl-search__submit { display:flex; justify-content:center; align-items:center; gap:22px; height:60px; padding:0 26px; margin:0; border:0; border-radius:7px; background:var(--pl-orange); color:#fff!important; font:700 16px/1.4 'Open Sans',sans-serif; text-transform:none; letter-spacing:0; cursor:pointer; white-space:nowrap; box-shadow:none; }
.pl-search .pl-search__submit:hover { background:#b5411e; }
.pl-search input:focus-visible,.pl-search button:focus-visible,.pl-search a:focus-visible { outline:3px solid #eea05c; outline-offset:3px; }
.pl-search .pl-search__help { font-size:13px; line-height:1.6; margin:12px 0 0; color:#4b5c6b; }
.pl-search .pl-search__help a { color:inherit; text-decoration:underline; white-space:nowrap; }
.pl-search--hero .pl-search__help { color:#fff; }
.pl-search .pl-search__options { position:absolute; top:calc(100% + 5px); left:0; right:0; z-index:10; max-height:300px; overflow:auto; background:#fff; color:var(--pl-ink); border:1px solid #bcc7d0; border-radius:7px; box-shadow:0 10px 28px #001a3333; margin:0!important; padding:6px!important; list-style:none!important; }
.pl-search .pl-search__options li { display:block!important; width:auto!important; float:none!important; color:var(--pl-ink)!important; margin:0!important; padding:10px 12px!important; font-size:15px!important; line-height:1.45!important; border-radius:4px; cursor:pointer; text-align:left; }
.pl-search .pl-search__options li::before,.pl-search .pl-search__options li::after { content:none!important; }
.pl-search .pl-search__options li:hover,.pl-search .pl-search__options li[aria-selected=true] { background:#edf2f6; }
.pl-search [hidden] { display:none!important; }
.pl-search .pl-search__status { font-size:14px; line-height:1.5; margin-top:12px; }
.pl-search .pl-search__status:empty { display:none; }
.pl-search--hero .pl-search__status { color:#fff; }
.pl-search .pl-search__results { background:#fff; border:1px solid #dce2e7; border-radius:10px; margin-top:14px; padding:22px; color:var(--pl-ink); }
.pl-search .pl-search__results h2 { font-size:22px; line-height:1.3; text-align:left; color:var(--pl-ink); margin:0 0 16px; }
.pl-search .pl-search__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pl-search .pl-search__card { display:flex; flex-direction:column; gap:7px; padding:16px 14px; color:var(--pl-ink); background:#f4f6f8; border:1px solid #e1e6eb; border-radius:6px; text-decoration:none; font-size:13px; line-height:1.45; }
.pl-search .pl-search__card:hover { border-color:#c94e27; background:#fff8f4; }
.pl-search .pl-search__card strong { font-size:16px; }
.pl-search .pl-search__distance { color:#4b5c6b; }
.pl-search .pl-search__link { margin-top:auto; padding-top:5px; font-weight:700; text-decoration:underline; }
.pl-search .pl-search__note { color:#586777; font-size:11px; line-height:1.5; margin:14px 0 0; }
.pl-search .pl-search__note a,.pl-search .pl-search__upcoming a { color:var(--pl-ink); text-decoration:underline; }
.pl-search .pl-search__note summary { cursor:pointer; font-size:12px; line-height:1.5; }
.pl-search .pl-search__note summary:focus-visible { outline:2px solid #c94e27; outline-offset:4px; }
.pl-search .pl-search__note p { font-size:12px!important; line-height:1.6!important; margin:10px 0 0!important; color:#586777!important; }
.pl-search .pl-search__upcoming { font-size:14px; line-height:1.6; margin:18px 0 0; }
/* Allow the existing hero to grow when search results open. Only the homepage hero is affected. */
.home .c-hero-wrapper:has(.pl-search) { height:auto!important; max-height:none!important; min-height:700px; overflow:visible; }
.home .c-hero-wrapper:has(.pl-search) .intro { padding-bottom:48px; }
.home .c-hero-wrapper:has(.pl-search) .video-wrapper { overflow:hidden; }
.home .pl-search p.pl-search__note { font-size:11px!important; line-height:1.5!important; }
.home .pl-search p.pl-search__help { font-size:13px!important; line-height:1.6!important; }
.home .pl-search p.pl-search__upcoming { font-size:14px!important; line-height:1.6!important; }
@media(max-width:600px) {
  .pl-search { margin-top:24px; }
  .pl-search--directory { padding:22px 18px; margin:0 0 28px; }
  .pl-search .pl-search__controls { flex-direction:column; }
  .pl-search .pl-search__form label { font-size:18px; }
  .pl-search .pl-search__submit { width:100%; height:54px; }
  .pl-search .pl-search__cards { grid-template-columns:1fr; }
  .pl-search .pl-search__results { padding:18px; }
  .pl-search .pl-search__help { font-size:12px; }
  .pl-search .pl-search__card { gap:4px; }
  .home .c-hero-wrapper:has(.pl-search) { min-height:0; }
}
