/* Shared Party House page preview. Existing post copy is read from WordPress. */
.ph-page-hero { position: relative; display: flex; align-items: center; isolation: isolate; height: 548px; overflow: hidden; background: #111725; }
.ph-site .ph-page-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: center; }
.ph-page-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #05070de8, #05070d80 55%, #05070d30), linear-gradient(0deg, #05070da6, transparent 45%); }
.ph-page-hero__inner { padding-block: 60px; }
.ph-page-hero h1 { margin-top: 18px; font-size: clamp(54px, 7vw, 96px); }
.ph-page--rental .ph-page-hero { height: 505px; }
.ph-page--rental .ph-page-hero__image { object-position: center 46%; }
.ph-page--rental .ph-page-hero__shade { background: linear-gradient(90deg, #05070dbd 0%, #05070d63 55%, #05070d2b 100%), linear-gradient(0deg, #05070dec 0%, transparent 43%); }
.ph-page--rental .ph-page-hero__inner { padding-top: 158px; padding-bottom: 34px; }
.ph-page-hero__breadcrumbs { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; color: #cad3de; font-size: 13px; }
.ph-page-hero__breadcrumbs a:hover { color: #55c4f7; }
.ph-page-hero__breadcrumbs span:not(:last-child) { color: #71839b; }
.ph-page--rental .ph-page-hero h1 { margin-top: 6px; font-size: clamp(62px, 5vw, 80px); }
.ph-page-hero__actions { display: flex; gap: 10px; margin-top: 4px; }
.ph-page--rental .ph-page-hero__actions .ph-button { min-height: 50px; }
.ph-page-block { padding-block: 128px; background: #05070d; }
.ph-page-block:nth-of-type(odd) { background: #111725; }
.ph-page-block__grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; min-height: 380px; }
.ph-page--rental .ph-page-block__grid { min-height: 0; }
.ph-page--rental .ph-page-block { padding-block: 100px; }
.ph-page--rental .ph-page-block--full { padding-block: 70px 100px; }
.ph-page--rental .ph-page-block--full .ph-page-block__copy { margin-bottom: 32px; }
.ph-page--rental .ph-page-block--rental-intro { padding-block: 112px 38px; background: #05070d; }
.ph-page--rental .ph-page-block--rental-intro .ph-page-block__copy { max-width: 840px; }
.ph-page--rental .ph-page-block--rental-intro h2 { margin-bottom: 24px; font-size: clamp(40px, 3vw, 56px); }
.ph-page--rental .ph-page-block--rental-intro .ph-page-block__prose { max-width: 800px; }
.ph-page--rental .ph-page-block--rental-intro + .ph-page-block--full { padding-top: 26px; }
.ph-page--rental .ph-page-products { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.ph-page--rental .ph-page-products .ph-archive-card { border-radius: 13px; background: #121827; }
.ph-page--rental .ph-page-products .ph-archive-card__body { min-height: 171px; padding: 15px; }
.ph-page--rental .ph-page-products .ph-archive-card h2 { min-height: 54px; margin-top: 7px; font: 700 16px/1.3 Inter, system-ui, sans-serif; text-transform: none; }
.ph-page--rental .ph-page-products .ph-archive-card__bottom { flex-direction: row; align-items: end; justify-content: space-between; gap: 8px; padding-top: 12px; }
.ph-page--rental .ph-page-products .ph-archive-card__bottom > span { font-size: 16px; line-height: 1.3; }
.ph-page--rental .ph-page-products .ph-archive-card__bottom > a { flex: 0 0 auto; padding: 8px 12px; border: 1px solid #2a526c; border-radius: 8px; background: #1a3449; color: #c7e7f7; font-size: 13px; line-height: 1.2; }
.ph-page--rental .ph-page-products .ph-archive-card__bottom > a:hover { background: #23658b; color: #fff; }
.ph-page-block--with-image .ph-page-block__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 65px; min-height: 700px; }
.ph-page-block--image-first .ph-page-block__media { grid-column: 1; grid-row: 1; }
.ph-page-block--image-first .ph-page-block__copy { grid-column: 2; grid-row: 1; }
.ph-page-block__copy { max-width: 780px; }
.ph-page-block--with-image .ph-page-block__copy { max-width: 600px; }
.ph-page-block__copy h2 { margin-bottom: 26px; font-size: clamp(36px, 4.4vw, 64px); }
.ph-page-block__copy h2:not(:first-child) { margin-top: 34px; }
.ph-page-block__prose { color: #c5cfdd; font-size: 17px; line-height: 1.8; }
.ph-page-block__prose + .ph-page-block__prose { margin-top: 20px; }
.ph-page-block__prose p + p, .ph-page-block__prose ul + p, .ph-page-block__prose p + ul { margin-top: 18px; }
.ph-page-block__prose ul, .ph-page-block__prose ol { margin: 18px 0; padding-left: 23px; }
.ph-page-block__prose a { color: #65c3f4; text-decoration: underline; text-underline-offset: 3px; }
.ph-page-block__prose a:hover { color: #fff; }
.ph-page-block__button { margin-top: 30px; }
.ph-page-block__media { display: grid; gap: 20px; }
.ph-page-block__image { height: 700px; overflow: hidden; border-radius: 20px; background: #1a2536; }
.ph-page-block__image img, .ph-page-block__image iframe { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; }
.ph-page-block__image:has(iframe) { height: auto; aspect-ratio: 16 / 9; }
.ph-page-block--full .ph-page-block__copy { max-width: 850px; margin-bottom: 38px; }
.ph-page-block--full .ph-page-block__copy:empty { display: none; }
.ph-page-block--full .ph-page-products + .ph-page-products { margin-top: 44px; }
.ph-page-block--full .ph-page-reviews { margin-top: 32px; }
.ph-page-block--form .ph-page-block__form-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 58px; align-items: start; }
.ph-page-block--form .ph-page-block__copy { max-width: none; }
.ph-page-block__form { min-width: 0; padding: 34px; border: 1px solid #ffffff24; border-radius: 18px; background: #151e2d; }
.ph-page-block__form .elementor-element { width: 100%; }
.ph-page-block__form .elementor-form-fields-wrapper { gap: 0; }
.ph-page-block__form .elementor-field-group { min-width: 0; margin-bottom: 14px; padding: 0 7px; }
.ph-page-block__form :is(.elementor-field,select,textarea) { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #45536a; border-radius: 9px; background: #0b1422; color: #eef2f8; }
.ph-page-block__form textarea { min-height: 130px; }
.ph-page-block__form .elementor-field::placeholder { color: #8999ad; }
.ph-page-block__form .elementor-button { min-height: 52px; padding: 10px 24px; border: 0; border-radius: 10px; background: #2096d4; color: #fff; font: 700 15px Inter, system-ui, sans-serif; cursor: pointer; }
.ph-page-block__form .elementor-button:hover { background: #1686c1; }
.ph-page-block__form .elementor-message { margin-top: 15px; color: #eef2f8; }
.ph-page-map { aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 28px; border-radius: 16px; background: #172033; }
.ph-page-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.ph-page-contact-list { display: grid; gap: 10px; margin: 0 0 28px; padding: 0; list-style: none; color: #d5deeb; }
.ph-page-contact-list a { color: #67c8f9; }
.ph-page-block--sparse h2, .ph-page-block--gallery h2 { max-width: 900px; margin: 20px 0 18px; font-size: clamp(38px, 4.8vw, 66px); }
.ph-page-block--sparse p:not(.ph-eyebrow) { max-width: 680px; color: #c5cfdd; font-size: 18px; }
.ph-page-sparse__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ph-page-block--sparse > .ph-wrap > .ph-button { margin-top: 28px; }
.ph-page-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.ph-page-gallery > div { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 16px; background: #162033; }
.ph-page-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ph-page--legal .ph-page-hero { height: 360px; }
.ph-page--legal .ph-page-hero__image { opacity: .55; }
.ph-page--legal .ph-page-block { padding-block: 90px; background: #f8fafc; }
.ph-page--legal .ph-page-block__grid { min-height: 0; }
.ph-page--legal .ph-page-block__copy { max-width: 920px; margin-inline: auto; color: #172033; }
.ph-page--legal .ph-page-block__copy h2 { color: #172033; font-size: 40px; }
.ph-page--legal .ph-page-block__prose { color: #334155; font-size: 16px; }
.ph-page--legal .ph-page-block__prose a { color: #087ebc; }

@media (max-width: 900px) {
  .ph-page-hero { height: 480px; }
  .ph-page-block { padding-block: 86px; }
  .ph-page-block--with-image .ph-page-block__grid { gap: 30px; min-height: 520px; }
  .ph-page-block__image { height: 520px; }
  .ph-page-block--form .ph-page-block__form-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .ph-page-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .ph-page-hero { height: 470px; }
  .ph-page-hero h1 { font-size: 56px; }
  .ph-page-block { padding-block: 72px; }
  .ph-page-block__grid, .ph-page-block--with-image .ph-page-block__grid { grid-template-columns: 1fr; gap: 30px; min-height: 0; }
  .ph-page-block--image-first .ph-page-block__media, .ph-page-block--image-first .ph-page-block__copy { grid-column: auto; grid-row: auto; }
  .ph-page-block__copy h2 { font-size: 40px; }
  .ph-page-block__prose { font-size: 16px; }
  .ph-page-block__image { height: 340px; }
  .ph-page-block__form { padding: 20px 13px; }
  .ph-page-map { aspect-ratio: 1; }
  .ph-page-gallery { gap: 10px; }
  .ph-page-gallery > div { aspect-ratio: 1; }
  .ph-page--legal .ph-page-hero { height: 280px; }
  .ph-page--legal .ph-page-block { padding-block: 60px; }
  .ph-page--legal .ph-page-block__copy h2 { font-size: 34px; }
}
