/* v14.1.6 — Hard pre-paint hidden state. The search overlay must never paint while the HTML hidden attribute is present. */
html .pwu-search-overlay[hidden]{display:none!important;}

/* v4.3.6 — Professional search experience */
.pwu-search-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:10vh 18px 30px;
  background:rgba(16,35,53,.58);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
}
.pwu-search-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
html.pwu-pe-js .pwu-search-overlay:not(.is-open){display:none!important;opacity:0;visibility:hidden;pointer-events:none}
html.pwu-pe-js .pwu-search-overlay.is-open{display:flex}
.pwu-search-overlay__panel{
  width:min(860px,100%);
  max-height:min(82vh,760px);
  overflow:auto;
  background:var(--pwu-paper,#fffdf9);
  color:var(--pwu-ink,#17202a);
  border:1px solid rgba(228,221,209,.92);
  border-radius:24px;
  box-shadow:0 32px 90px rgba(0,0,0,.28);
  transform:translateY(-14px) scale(.985);
  transition:transform .2s ease;
}
.pwu-search-overlay.is-open .pwu-search-overlay__panel{transform:none}
.pwu-search-overlay__header{
  display:flex;
  justify-content:space-between;
  gap:22px;
  padding:26px 28px 12px;
  border-bottom:1px solid rgba(228,221,209,.78);
}
.pwu-search-overlay__eyebrow{
  margin-bottom:5px;
  color:var(--pwu-gold-dark,#956c2d);
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.pwu-search-overlay__header h2{
  margin:0;
  font-family:var(--pwu-font-serif,Georgia,"Times New Roman",serif);
  font-size:clamp(30px,4vw,40px);
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:500;
}
.pwu-search-overlay__header p{margin:8px 0 0;color:var(--pwu-muted,#6e746f);font-size:14px;line-height:1.5}
.pwu-search-overlay__close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pwu-line,#e4ddd1);
  border-radius:12px;
  background:transparent;
  color:var(--pwu-navy,#102335);
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.pwu-search-overlay__close svg{width:20px;height:20px}
.pwu-search-overlay__close:hover{background:#fff;border-color:rgba(181,138,67,.52);color:var(--pwu-gold-dark,#956c2d);transform:translateY(-1px)}
.pwu-search-overlay__form{padding:28px 28px 18px}
.pwu-search-form{display:flex;align-items:stretch;gap:10px;margin:0}
.pwu-search-form__field{position:relative;flex:1;min-width:0;display:flex;align-items:center}
.pwu-search-form__icon{position:absolute;left:18px;width:21px;height:21px;color:#7b8386;pointer-events:none}
.pwu-search-form__input{
  width:100%;
  height:62px;
  border:1px solid var(--pwu-line,#e4ddd1);
  border-radius:16px;
  background:#fff;
  color:var(--pwu-ink,#17202a);
  padding:0 54px 0 52px;
  font-size:19px;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(16,35,53,.02),0 3px 12px rgba(16,35,53,.03);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.pwu-search-form__input::placeholder{color:#90979a}
.pwu-search-form__input:focus{outline:none;border-color:var(--pwu-gold,#b58a43);box-shadow:0 0 0 4px rgba(181,138,67,.14),0 7px 20px rgba(16,35,53,.06);background:#fff}
.pwu-search-form__clear{
  position:absolute;
  right:10px;
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#727a7d;
  cursor:pointer;
}
.pwu-search-form__clear:hover{background:#f1ede6;color:var(--pwu-navy,#102335)}
.pwu-search-form__clear svg{width:18px;height:18px}
.pwu-search-form__submit{
  min-width:126px;
  height:62px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 22px;
  border:1px solid var(--pwu-gold,#b58a43);
  border-radius:16px;
  background:var(--pwu-gold,#b58a43);
  color:#fff;
  font-weight:800;
  font-size:14px;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(181,138,67,.18);
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.pwu-search-form__submit svg{width:19px;height:19px}
.pwu-search-form__submit:hover{background:var(--pwu-gold-dark,#956c2d);border-color:var(--pwu-gold-dark,#956c2d);transform:translateY(-1px);box-shadow:0 12px 24px rgba(149,108,45,.22)}
.pwu-search-overlay__hint{display:flex;justify-content:flex-end;gap:18px;padding:0 28px 24px;color:#737b7e;font-size:12px}
.pwu-search-overlay__hint span{display:inline-flex;align-items:center;gap:6px}
.pwu-search-overlay kbd{min-width:24px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9d2c7;border-bottom-width:2px;border-radius:6px;background:#fff;color:#596267;font-size:11px;line-height:1;font-family:inherit}
body.pwu-search-open{overflow:hidden}

@media(prefers-reduced-motion:reduce){
  .pwu-search-overlay,.pwu-search-overlay__panel,.pwu-search-toggle,.pwu-search-form__input,.pwu-search-form__submit{transition:none}
}


/* v13.5.1 — pre-paint JS state prevents search-overlay FOUC. */
/* v13.1.0 — server-rendered search fallback when JavaScript is unavailable */
html.pwu-pe-no-js .search-toggle{display:none!important}
html.pwu-pe-no-js .pwu-search-overlay[hidden]{display:flex!important}
html.pwu-pe-no-js .pwu-search-overlay{
  position:relative;
  inset:auto;
  z-index:49;
  display:flex;
  align-items:stretch;
  min-height:0;
  padding:18px 0 20px;
  background:var(--pwu-paper,#fffdf9);
  border-bottom:1px solid var(--pwu-line,#e4ddd1);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:none;
}
html.pwu-pe-no-js .pwu-search-overlay__panel{
  width:min(860px,calc(100% - 36px));
  max-height:none;
  overflow:visible;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:none;
  transition:none;
}
html.pwu-pe-no-js .pwu-search-overlay__close,
html.pwu-pe-no-js .pwu-search-overlay__hint{display:none!important}
html.pwu-pe-no-js .pwu-search-overlay__header{padding:0 0 10px;border-bottom:0}
html.pwu-pe-no-js .pwu-search-overlay__header h2{font-size:28px}
html.pwu-pe-no-js .pwu-search-overlay__header p{margin-top:6px}
html.pwu-pe-no-js .pwu-search-overlay__form{padding:0}

/* v13.3.0 — runtime failure fallback keeps the server-rendered search usable. */
html.pwu-pe-js .pwu-search-overlay.pwu-search-runtime-fallback{
  position:relative;
  inset:auto;
  z-index:49;
  display:flex;
  align-items:stretch;
  min-height:0;
  padding:18px 0 20px;
  background:var(--pwu-paper,#fffdf9);
  border-bottom:1px solid var(--pwu-line,#e4ddd1);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html.pwu-pe-js .pwu-search-overlay.pwu-search-runtime-fallback .pwu-search-overlay__panel{
  width:min(860px,calc(100% - 36px));
  max-height:none;
  overflow:visible;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:none;
  transition:none;
}
html.pwu-pe-js .pwu-search-overlay.pwu-search-runtime-fallback .pwu-search-overlay__close,
html.pwu-pe-js .pwu-search-overlay.pwu-search-runtime-fallback .pwu-search-overlay__hint{display:none!important}
html.pwu-pe-js .pwu-search-overlay.pwu-search-runtime-fallback .pwu-search-overlay__header{padding:0 0 10px;border-bottom:0}
html.pwu-pe-js .pwu-search-overlay.pwu-search-runtime-fallback .pwu-search-overlay__form{padding:0}


/* v17.8.1 — Search overlay on phones
   The overlay had no small-screen rules: the Search button sat beside the input
   and left it roughly three characters wide. Stack the form, tighten the panel
   padding, respect the dynamic viewport height, and drop the keyboard hints on
   touch devices where Enter/Esc are not applicable. */
@media(max-width:600px){
  .pwu-search-overlay{padding:max(12px,env(safe-area-inset-top,0px)) 12px 16px}
  .pwu-search-overlay__panel{
    max-height:calc(100vh - 28px);
    max-height:calc(100dvh - 28px);
    border-radius:20px;
  }
  .pwu-search-overlay__header{padding:20px 18px 12px;gap:14px}
  .pwu-search-overlay__header h2{font-size:clamp(26px,8vw,32px)}
  .pwu-search-overlay__form{padding:18px 18px 16px}
  .pwu-search-form{flex-direction:column;gap:10px}
  .pwu-search-form__input{height:56px;font-size:17px}
  .pwu-search-form__submit{width:100%;min-height:52px;justify-content:center}
}
@media(hover:none){
  .pwu-search-overlay__hint{display:none}
}


/* v24.3.0 — Phase 10: predictable dialog controls and constrained viewport behavior. */
.pwu-search-overlay__close{width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px}
.pwu-search-overlay__panel{min-width:0;overscroll-behavior:contain}
.pwu-search-overlay__header>div:first-child{min-width:0;overflow-wrap:anywhere}
.pwu-search-overlay__header h2,.pwu-search-overlay__header p{overflow-wrap:anywhere}
.pwu-search-form__input{min-width:0;max-width:100%}
@media(max-width:380px){
  .pwu-search-overlay{padding-inline:8px}
  .pwu-search-overlay__header{padding-inline:12px;gap:10px}
  .pwu-search-overlay__form{padding-inline:12px}
  .pwu-search-overlay__hint{display:none}
}
