/* Review pass: shared components and more compact homepage rhythm. */
/* The outer header owns the continuous full-width background and rule. */
body.ps-refresh #section-2EoPJ4PY9k { padding:0 !important; margin:0 !important; background:#111 !important; border-bottom:1px solid #d9ad6e55 !important; }
body.ps-refresh #section-2EoPJ4PY9k > .inner,
body.ps-refresh #section-2EoPJ4PY9k .c-row,
body.ps-refresh #section-2EoPJ4PY9k .c-column { width:100% !important; max-width:none !important; padding:0 !important; margin:0 !important; background:#111 !important; }
body.ps-refresh #nav-menu-M9guXexdOB { border:0 !important; box-shadow:none !important; }
/* Replace legacy wobble / pulse / entrance effects with quiet interaction. */
body.ps-refresh [data-animation-class],
body.ps-refresh .c-button a,
body.ps-refresh .c-button button,
body.ps-refresh .button-element { animation:none !important; }
body.ps-refresh .c-button > a,
body.ps-refresh .c-button > button,
body.ps-refresh .button-element {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px;
  padding:14px 25px !important; border-radius:6px !important; text-decoration:none !important;
  box-shadow:none !important; text-shadow:none !important; transform:none !important;
  transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease,box-shadow 220ms ease,transform 220ms ease !important;
}
body.ps-refresh .c-button > a:hover,
body.ps-refresh .c-button > button:hover,
body.ps-refresh .button-element:hover { transform:translateY(-2px) !important; box-shadow:0 8px 22px #0003 !important; filter:brightness(1.08); }
body.ps-refresh .c-button > a:active,
body.ps-refresh .c-button > button:active,
body.ps-refresh .button-element:active { transform:translateY(0) !important; box-shadow:none !important; }
body.ps-refresh .c-button .main-heading-button { font-family:var(--poppins),Poppins,sans-serif !important; font-size:14px !important; line-height:1.5 !important; font-weight:600 !important; letter-spacing:.025em; }
body.ps-refresh #section-_XP75y0UMH .c-button > a { min-height:40px; padding:8px 12px !important; box-shadow:none !important; transform:none !important; filter:none; }
body.ps-refresh #section-_XP75y0UMH .c-button .main-heading-button { font-size:12px !important; font-weight:400 !important; }
body.ps-refresh #section-_XP75y0UMH a:hover { color:var(--ps-gold) !important; }
body.ps-refresh #button-FSn1qEQQGT_btn { background:#d9ad6e !important; color:#111 !important; min-width:180px; border:0 !important; }
body.ps-refresh #button-FSn1qEQQGT_btn::after { content:'↓'; margin-left:26px; font-size:22px; }
body.ps-refresh #button-FSn1qEQQGT_btn .btn-loader-position { display:none !important; }
.ps-partners { max-width:1160px; margin:auto; padding:80px 24px 100px; color:#f9f8f2; }
.ps-partners header { padding-bottom:32px; border-bottom:1px solid #d9ad6e45; margin-bottom:40px; }
.ps-partners h1 { font:600 clamp(36px,4.5vw,62px)/1.1 var(--oswald),Oswald,sans-serif; margin:0; text-align:left; }
.ps-partners-intro { display:grid; grid-template-columns:1fr 1fr; gap:22px 52px; }
.ps-partners-intro p { font:400 17px/1.8 var(--poppins),Poppins,sans-serif; color:#cececa; margin:0; }
.ps-partners-intro p:first-child { color:#f9f8f2; font-size:20px; }
.ps-partners h2 { font:500 30px/1.2 var(--oswald),Oswald,sans-serif; margin:60px 0 28px; }
.ps-partner-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.ps-partner { position:relative; display:flex; flex-direction:column; color:#f9f8f2; text-decoration:none; background:#1c1c1c; border:1px solid #ffffff20; border-radius:8px; overflow:hidden; transition:transform 220ms ease,border-color 220ms ease; }
.ps-partner:hover { transform:translateY(-4px); border-color:#d9ad6e; }
.ps-partner-logo { display:flex; align-items:center; justify-content:center; height:150px; padding:24px; background:#fff; }
.ps-partner-logo img { display:block; width:100%; max-height:100px; object-fit:contain; }
.ps-partner-name { display:block; padding:20px 20px 36px; font:500 13px/1.6 var(--poppins),Poppins,sans-serif; }
.ps-partner-arrow { position:absolute; bottom:12px; right:16px; color:#d9ad6e; font-size:19px; }
.ps-schedule { width:min(1000px,94vw); max-height:92vh; padding:56px 20px 20px; border:1px solid #d9ad6e70; border-radius:10px; background:#111; color:#fff; }
.ps-schedule::backdrop { background:#000b; backdrop-filter:blur(5px); }
.ps-schedule img { display:block; width:100%; height:auto; }
.ps-schedule-close { position:absolute; right:14px; top:10px; width:38px; height:38px; border:0; border-radius:50%; background:#2b2b2b; color:#fff; font-size:28px; cursor:pointer; }
@media(max-width:1000px) { .ps-partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .ps-partners { padding:52px 20px 64px; } .ps-partners-intro { grid-template-columns:1fr; gap:24px; } .ps-partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .ps-partner-logo { height:125px; padding:18px; } .ps-partner-name { padding:16px 12px 34px; font-size:12px; } }
@media(prefers-reduced-motion:reduce) {
  body.ps-refresh *,body.ps-refresh *::before,body.ps-refresh *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  body.ps-refresh .c-button > a:hover,body.ps-refresh .c-button > button:hover,.ps-partner:hover { transform:none !important; }
}
body.ps-refresh #nav-menu-M9guXexdOB .nav-menu-wrapper { max-width:1280px; padding-inline:24px; }
body.ps-refresh #nav-menu-M9guXexdOB .dropdown-menu,
body.ps-refresh #nav-menu-M9guXexdOB .dropdown-menu .dropdown-item,
body.ps-refresh #nav-menu-M9guXexdOB .dropdown-menu .dropdown-item a {
  background:#111 !important; border:0 !important; outline:0; border-radius:0 !important;
}
body.ps-refresh #nav-menu-M9guXexdOB .dropdown-menu {
  padding:8px 0 !important; box-shadow:0 16px 30px #0006 !important;
}
body.ps-refresh #nav-menu-M9guXexdOB .dropdown-menu .dropdown-item a {
  display:block; padding:13px 20px !important; color:#f9f8f2 !important; line-height:1.45 !important;
}
body.ps-refresh #nav-menu-M9guXexdOB .dropdown-menu .dropdown-item a:hover,
body.ps-refresh #nav-menu-M9guXexdOB .dropdown-menu .dropdown-item a:focus-visible {
  color:#d9ad6e !important; background:#242424 !important;
}
body.ps-refresh #nav-menu-M9guXexdOB .dropdown:focus-within > .dropdown-menu { display:block; }
/* Keep every dropdown above the full-width hero arrow hit area, including
   the final links on laptop viewports. A high z-index on the menu alone is
   insufficient while its header ancestor remains in a lower stacking context. */
body.ps-refresh #section-2EoPJ4PY9k { position:relative; z-index:100 !important; }
body.ps-home #image-slider-obGcllAAAw .carousel__arrow { padding-inline:clamp(18px,2.5vw,48px) !important; }
body.ps-home #image-slider-obGcllAAAw .carousel__pagination-container {
  justify-content:center !important; align-items:center !important; left:auto !important;
  right:max(24px, calc((100% - 1160px) / 2)) !important;
  bottom:100px !important; width:auto !important; height:auto !important;
  min-height:34px; padding:12px 16px; gap:8px; box-sizing:border-box;
  background:rgba(10,10,10,.56); border:1px solid rgba(255,255,255,.2); border-radius:999px;
  transform:none !important; z-index:6;
}
body.ps-home #image-slider-obGcllAAAw .carousel__pagination-inactive { background:#ffffff70 !important; }
body.ps-home #section-UMcDX8B441 { padding:0 24px 0 !important; background:#111 !important; }
body.ps-home #row-34cQYsLwt8 { margin:-76px auto 0 !important; }
body.ps-home #row-34cQYsLwt8 .c-column { min-height:380px; padding:44px 46px !important; }
body.ps-home #row-34cQYsLwt8 .c-column::after { background:linear-gradient(120deg,rgba(17,17,17,.62),rgba(17,17,17,.4)) !important; }
body.ps-home #row-34cQYsLwt8 .c-column > .bg { opacity:.48 !important; }
body.ps-home #row-34cQYsLwt8 #sub-heading-YpIyYsU0Do h2,
body.ps-home #row-34cQYsLwt8 #sub-heading-y9zaACdPwo h2 {
  font-family:var(--oswald),Oswald,sans-serif !important; font-size:36px !important; line-height:1.15 !important;
}
body.ps-home #row-34cQYsLwt8 .c-button { margin-top:28px !important; }
body.ps-home #section-cWOGbHw24Y { padding:64px 24px 76px !important; }
body.ps-home #row-QMBFAjkVXY .c-column { margin:0 !important; flex:1 1 0 !important; min-width:0; }
body.ps-home #row-QMBFAjkVXY .text-output h2 { font-size:16px !important; }
body.ps-home #row-QMBFAjkVXY #sub-heading-ozbKk4sfts h2,
body.ps-home #row-QMBFAjkVXY #sub-heading-xjEZRc2-wi h2,
body.ps-home #row-QMBFAjkVXY #sub-heading-OsxS3VoNNA h2 { font-size:26px !important; line-height:1.2 !important; }
body.ps-home #row-QMBFAjkVXY .c-image img {
  filter:brightness(0) saturate(100%) invert(76%) sepia(26%) saturate(602%) hue-rotate(354deg) brightness(92%) contrast(88%);
}
body.ps-home #section-o4O5WwxCLq { padding-bottom:64px !important; }
body.ps-home #button-wpUUGfwBcm { margin:34px 0 0 !important; }
/* Three edge-to-edge contact panels, without an enclosing grey frame. */
body.ps-refresh #section-xhEK7Aqjza,
body.ps-refresh #section-xhEK7Aqjza > .inner,
body.ps-refresh #row-m6_fLdHr1h { width:100% !important; max-width:none !important; padding:0 !important; margin:0 !important; }
body.ps-refresh #row-m6_fLdHr1h > .inner { gap:0 !important; align-items:stretch !important; }
body.ps-refresh #row-m6_fLdHr1h .c-column {
  flex:1 1 0 !important; width:33.333% !important; min-width:0;
  margin:0 !important; padding:40px 24px !important; border:0 !important;
}
body.ps-refresh #row-m6_fLdHr1h .c-column > .inner { justify-content:center; }
body.ps-refresh #row-m6_fLdHr1h #col-TAYTC57WLv { background:#d9ad6e !important; }
body.ps-refresh #row-m6_fLdHr1h #col-0EUVmCdaXX { background:#080808 !important; }
body.ps-refresh #row-m6_fLdHr1h #col-ROjnjakaEY { background:#8e0b17 !important; }
body.ps-refresh #row-m6_fLdHr1h #col-TAYTC57WLv .text-output,
body.ps-refresh #row-m6_fLdHr1h #col-TAYTC57WLv .text-output * { color:#111 !important; }
body.ps-refresh #row-m6_fLdHr1h .text-output p { font-size:15px !important; overflow-wrap:anywhere; }
body.ps-refresh #row-m6_fLdHr1h h2 { font-size:20px !important; }
/* Contact headings: font-independent icons, without changing CMS text or nodes. */
body.ps-refresh #section-xhEK7Aqjza .sub-heading-hFmkwLlTNy h2:first-child::before,
body.ps-refresh #section-xhEK7Aqjza .sub-heading-gxe2DZwqyr h2:first-child::before,
body.ps-refresh #section-xhEK7Aqjza .sub-heading-iFORYPd4oK h2:first-child::before {
  content:"" !important; display:inline-block; width:1em; height:1em;
  margin-right:5px; vertical-align:-.12em; background-color:currentColor;
  -webkit-mask-image:var(--ps-contact-icon); mask-image:var(--ps-contact-icon);
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
}
body.ps-refresh #section-xhEK7Aqjza .sub-heading-hFmkwLlTNy {
  --ps-contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E");
}
body.ps-refresh #section-xhEK7Aqjza .sub-heading-gxe2DZwqyr {
  --ps-contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.4v2.7a2 2 0 0 1-2.2 2 18.7 18.7 0 0 1-8.2-2.9 18.1 18.1 0 0 1-5.6-5.6A18.7 18.7 0 0 1 2.1 4.3 2 2 0 0 1 4.1 2h2.7a2 2 0 0 1 2 1.7c.1.9.3 1.7.6 2.5a2 2 0 0 1-.5 2.1L7.8 9.4a14.4 14.4 0 0 0 5.6 5.6l1.1-1.1a2 2 0 0 1 2.1-.5c.8.3 1.7.5 2.5.6a2 2 0 0 1 1.9 2.4Z'/%3E%3C/svg%3E");
}
body.ps-refresh #section-xhEK7Aqjza .sub-heading-iFORYPd4oK {
  --ps-contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 11-8 11S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.7'/%3E%3C/svg%3E");
}
/* Strong black footer; copyright shares its photographic background. */
body.ps-refresh #section-_XP75y0UMH { background:#000 !important; padding:42px 24px 68px !important; }
body.ps-refresh #section-_XP75y0UMH > .bg { opacity:.18 !important; }
body.ps-refresh #section-_XP75y0UMH .c-row,
body.ps-refresh #section-_XP75y0UMH .c-column { margin-block:0 !important; padding-block:8px !important; }
body.ps-refresh #section-uSO4PRpwBe { position:relative; margin-top:-48px !important; padding:8px 18px 16px !important; background:transparent !important; }
body.ps-refresh #section-uSO4PRpwBe .c-row,
body.ps-refresh #section-uSO4PRpwBe .c-column,
body.ps-refresh #section-uSO4PRpwBe .c-sub-heading { margin:0 !important; padding:0 !important; }
body.ps-refresh #section-uSO4PRpwBe h2 { line-height:1.6 !important; }
body.ps-refresh #heading-iVnTgXUGLN h1 { text-align:left !important; }
/* Consistent dark form controls, including the formerly separate date widget. */
body.ps-refresh #form-VixWahc2Hx input,
body.ps-refresh #form-VixWahc2Hx textarea,
body.ps-refresh #form-VixWahc2Hx select {
  color:#f9f8f2 !important; background:#1b1b1b !important; border:1px solid #ffffff38 !important;
  border-radius:4px !important; padding:14px 16px !important; width:100% !important;
  font-family:var(--poppins),Poppins,sans-serif !important; font-size:16px !important;
}
body.ps-refresh #form-VixWahc2Hx input::placeholder,
body.ps-refresh #form-VixWahc2Hx textarea::placeholder { color:#bcbcbc !important; opacity:1; }
body.ps-refresh #form-VixWahc2Hx .date-picker-custom-style { background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
body.ps-refresh #form-VixWahc2Hx #form-builder .date-picker-custom-style { background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
body.ps-refresh #form-VixWahc2Hx #form-builder input,
body.ps-refresh #form-VixWahc2Hx #form-builder textarea { background:#1b1b1b !important; color:#f9f8f2 !important; border:1px solid #ffffff38 !important; font-size:16px !important; }
body.ps-refresh #form-VixWahc2Hx .input-icon { display:none; }
body.ps-refresh #form-VixWahc2Hx input:focus,
body.ps-refresh #form-VixWahc2Hx textarea:focus { border-color:#d9ad6e !important; box-shadow:0 0 0 3px #d9ad6e20 !important; }
/* FAQ: readable answers with the same spacing as the question. */
body.ps-article .c-heading .text-output h1,
body.ps-article .c-heading .text-output h2 {
  font-family:var(--poppins),Poppins,sans-serif !important; font-size:19px !important;
  font-weight:400 !important; line-height:1.7 !important;
}
body.ps-article .c-heading .text-output h1.ps-page-title {
  font-family:var(--oswald),Oswald,sans-serif !important; font-size:clamp(34px,4vw,52px) !important;
  font-weight:600 !important; line-height:1.15 !important;
}
body.ps-refresh #paragraph-OpK0EwOPSW .paragraph-OpK0EwOPSW { width:100% !important; max-width:100% !important; min-width:0 !important; padding:10px clamp(16px,6vw,100px) !important; }
body.ps-refresh .hl-faq-child { overflow:hidden; background:#181818 !important; border:1px solid #ffffff26 !important; border-radius:6px !important; margin:0 0 14px !important; }
body.ps-refresh .hl-faq-child-heading { padding:22px 26px !important; background:transparent !important; color:#f9f8f2 !important; gap:20px; }
body.ps-refresh .hl-faq-child-heading h4 { font-size:18px !important; line-height:1.5 !important; color:#f9f8f2 !important; }
body.ps-refresh .hl-faq-child-heading-icon { color:#d9ad6e !important; flex-shrink:0; }
body.ps-refresh .hl-faq-child-heading[aria-expanded="true"] { background:#222 !important; }
body.ps-refresh .hl-faq-child-panel { overflow:hidden !important; background:#181818 !important; }
body.ps-refresh #section-yZGtLLFL3R { background:#111 !important; padding:64px 24px !important; }
body.ps-refresh .hl-faq-child-panel.clone-expanded { padding:22px 26px 26px !important; }
body.ps-refresh .hl-faq-child-panel p,
body.ps-refresh .hl-faq-child-panel span { color:#deded9 !important; font-size:16px !important; line-height:1.75 !important; }
body.ps-refresh .hl-faq-child-panel p { margin:0 !important; }
@media(max-width:767px) {
  body.ps-refresh #nav-menu-M9guXexdOB .nav-menu-wrapper { padding-inline:14px; }
  body.ps-home #section-UMcDX8B441 { padding:0 14px !important; }
  body.ps-home #row-34cQYsLwt8 { margin:-30px auto 0 !important; }
  body.ps-home #row-34cQYsLwt8 .c-column { min-height:0; padding:32px 26px !important; }
  body.ps-home #section-cWOGbHw24Y { padding:52px 14px 64px !important; }
  body.ps-home #row-QMBFAjkVXY .c-column { flex:auto !important; }
  body.ps-refresh #row-m6_fLdHr1h .c-column { width:100% !important; flex:auto !important; padding:32px 20px !important; }
  body.ps-refresh .hl-faq-child-heading { padding:20px !important; }
  body.ps-refresh .hl-faq-child-panel.clone-expanded { padding:18px 20px 24px !important; }
}
/* The cloned mobile drawer must not inherit Bootstrap's floated dropdowns. */
body.ps-refresh #nav-menu-popup .nav-menu,
body.ps-refresh #nav-menu-popup .nav-menu-item,
body.ps-refresh #nav-menu-popup .dropdown-menu,
body.ps-refresh #nav-menu-popup .dropdown-item {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: auto !important;
}
body.ps-refresh #nav-menu-popup .dropdown-menu {
  position: static !important;
  margin: 0 !important;
  border: 0 !important;
  transform: none !important;
  padding: 0 0 12px 12px !important;
}
body.ps-refresh #nav-menu-popup .nav-menu-item > a,
body.ps-refresh #nav-menu-popup .dropdown-item > a {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.5 !important;
  width: 100% !important;
  min-height: 44px;
  box-sizing: border-box;
}
body.ps-refresh #nav-menu-popup .dropdown-item > a { font-size: 16px !important; }
body.ps-refresh #nav-menu-popup .close-menu::before {
  content: "×" !important;
  font-family: Arial, sans-serif !important;
  font-style: normal !important;
}
body.ps-refresh #nav-menu-popup.clone-open .nav-menu-body {
  height: 100vh !important;
  height: 100dvh !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
}

/* The first slide is artwork with embedded copy and a CTA: never crop it. */
body.ps-home #image-slider-obGcllAAAw .ps-banner-artwork img {
  object-fit: contain !important;
}
/* Keep the artwork's natural ratio at every desktop/tablet width. A fixed
   desktop height with contain creates side bars on wide screens. */
@media (min-width: 768px) {
  body.ps-home #image-slider-obGcllAAAw {
    height: calc(100vw * var(--ps-banner-height-ratio, .4852071)) !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.ps-home #image-slider-obGcllAAAw > .inner,
  body.ps-home #image-slider-obGcllAAAw .image-container,
  body.ps-home #image-slider-obGcllAAAw .carousel,
  body.ps-home #image-slider-obGcllAAAw .carousel__slides {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}
