/**
 * Picklehall Theme — Main Styles
 */

/* ==========================================================================
   Design Tokens
   ========================================================================== */

:root {
	--ph-navy: #101f46;
	--ph-blue: #21366b;
	--ph-green: #a1cd3a;
	--ph-teal: #81c6bc;
	--ph-bg: #fbfcff;
	--ph-light-blue: #d3e4ff;
	--ph-lila: #adbada;
	--ph-white: #ffffff;
	--ph-text: #21366b;
	--ph-dark-green: #004a45;

	--ph-font-heading: 'Monda', sans-serif;
	--ph-font-body: 'Hanken Grotesk', sans-serif;
	--ph-font-hero: 'Plus Jakarta Sans', sans-serif;

	--ph-sidebar-width: 298px;
	--ph-radius: 20px;
	--ph-radius-sm: 10px;
	--ph-radius-pill: 30px;

	--ph-container: 1022px;
	--ph-gutter: 24px;
}

/* ==========================================================================
   Reset & Base
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	font-family: var(--ph-font-body);
	font-size: 16px;
	line-height: 1.5;
	color: var(--ph-text);
	background: var(--ph-bg);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; }

ul, ol { list-style: none; margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--ph-font-heading); }

.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}

/* ==========================================================================
   Layout
   ========================================================================== */

.ph-site {
	min-height: 100vh;
}

.ph-main {
	margin-left: var(--ph-sidebar-width);
	min-height: 100vh;
	padding-bottom: 0;
}

.ph-logo {
	width: 161px;
	height: auto;
	display: block;
}

.ph-container {
	max-width: var(--ph-container);
	margin: 0 auto;
	padding: 0 var(--ph-gutter);
}

.ph-page {
	padding: 60px var(--ph-gutter);
}

.ph-page__content h1 {
	font-size: 2rem;
	margin-bottom: 1rem;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.ph-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 32px;
	border-radius: var(--ph-radius-pill);
	font-family: var(--ph-font-heading);
	font-weight: 600;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	border: none;
	cursor: pointer;
	transition: opacity 0.2s;
	white-space: nowrap;
}

.ph-btn:hover { opacity: 0.85; }

.ph-btn--primary { background: var(--ph-blue); color: var(--ph-white); }
.ph-btn--green   { background: var(--ph-green); color: var(--ph-blue); }
.ph-btn--white   { background: var(--ph-white); color: var(--ph-blue); box-shadow: 0 4px 2px rgba(0,0,0,0.25); }
.ph-btn--outline-green {
	background: transparent;
	color: #a2f90d;
	border: 1px solid #a2f90d;
	box-shadow: none;
}
.ph-btn--dark-green {
	background: var(--ph-dark-green);
	color: var(--ph-white);
	box-shadow: 0 4px 2px rgba(0, 0, 0, 0.25);
}
.ph-btn--lg      { padding: 16px 48px; font-size: 20px; min-width: 280px; }

/* ==========================================================================
   Headings
   ========================================================================== */

.ph-heading {
	font-family: var(--ph-font-heading);
	font-size: 30px;
	text-transform: uppercase;
	color: var(--ph-text);
	line-height: 1.2;
	letter-spacing: 0;
}

.ph-heading__medium { font-weight: 500; }
.ph-heading__bold   { font-weight: 700; }

.ph-heading__medium + .ph-heading__bold {
	margin-left: 0.45em;
}

.ph-parties__title .ph-heading__medium + .ph-heading__bold {
	margin-left: 0;
}

.ph-how-to-join__title .ph-heading__medium + .ph-heading__bold {
	margin-left: 0.5em;
}

.ph-tournaments__title .ph-heading__medium + .ph-heading__bold {
	margin-left: 0.55em;
}

/* Section headings (split titles via picklehall_heading) */
.ph-feature-cards__title,
.ph-where-play__title,
.ph-how-to-join__title,
.ph-parties__title,
.ph-tournaments__title,
.ph-visitors__title {
	font-family: var(--ph-font-heading);
	text-transform: uppercase;
}

/* ==========================================================================
   Sidebar (Desktop)
   ========================================================================== */

.ph-sidebar {
	position: fixed;
	top: 0; left: 0;
	width: var(--ph-sidebar-width);
	height: 100vh;
	background: var(--ph-navy);
	z-index: 100;
	overflow-y: auto;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
}

.ph-sidebar__accent {
	position: absolute;
	left: 0;
	top: 0;
	width: 8px;
	height: 30px;
	background: var(--ph-green);
	border-radius: 0 var(--ph-radius-sm) var(--ph-radius-sm) 0;
	transition: top 0.28s ease, width 0.28s ease, height 0.28s ease, opacity 0.2s ease;
	opacity: 0;
	pointer-events: none;
	z-index: 1;
}

.ph-sidebar__inner {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 40px 39px 32px;
	background: var(--ph-blue);
	margin-left: 0;
	position: relative;
	z-index: 0;
}

.ph-sidebar__logo,
.ph-sidebar__nav,
.ph-sidebar__footer {
	position: relative;
	z-index: 2;
}

.ph-sidebar:has(.ph-sidebar__nav--submenu) .ph-sidebar__accent {
	opacity: 0 !important;
}

.ph-sidebar__nav {
	flex: 1;
}

.ph-sidebar__link--active {
	color: var(--ph-green);
}

.ph-sidebar__logo { margin-bottom: 40px; }

.ph-sidebar__logo-text {
	font-family: var(--ph-font-heading);
	font-size: 22px;
	font-weight: 700;
	color: var(--ph-white);
	text-transform: uppercase;
}

.ph-sidebar__logo-img { max-height: 60px; width: auto; }

.ph-sidebar__menu {
	display: flex;
	flex-direction: column;
	gap: 32px;
	flex: 1;
}

.ph-sidebar__link,
.ph-sidebar__toggle {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--ph-font-heading);
	font-size: 19px;
	font-weight: 700;
	color: var(--ph-white);
	text-transform: uppercase;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	text-align: left;
	width: 100%;
}

.ph-sidebar__link:hover,
.ph-sidebar__toggle:hover { opacity: 0.8; }

.ph-sidebar__chevron { flex-shrink: 0; margin-left: auto; }

.ph-sidebar__toggle-back {
	display: none;
	align-items: center;
	flex-shrink: 0;
}

.ph-sidebar__submenu {
	display: none;
	padding: 0;
	gap: 20px;
	flex-direction: column;
	list-style: none;
	margin: 0;
}

.ph-sidebar__submenu li {
	list-style: none;
}

.ph-sidebar__branch {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}

.ph-sidebar__branch-link {
	flex: 1;
	min-width: 0;
}

.ph-sidebar__branch-toggle {
	flex: 0 0 auto;
	width: auto;
	margin-left: auto;
}

.ph-sidebar__branch-toggle .ph-sidebar__toggle-back,
.ph-sidebar__branch-toggle .ph-sidebar__toggle-label {
	display: none;
}

/* Submenu panel — replaces main nav (no inline dropdowns) */
.ph-sidebar__nav--submenu .ph-sidebar__menu > .ph-sidebar__item:not(.ph-sidebar__item--panel-active) {
	display: none;
}

.ph-sidebar__item--panel-active > .ph-sidebar__toggle,
.ph-sidebar__item--panel-active > .ph-sidebar__branch > .ph-sidebar__branch-toggle {
	background: var(--ph-green);
	color: var(--ph-white);
	margin-left: -39px;
	padding: 10px 20px 10px 16px;
	padding-left: 47px;
	border-radius: 0 var(--ph-radius-sm) var(--ph-radius-sm) 0;
	position: relative;
	width: calc(100% + 39px);
}

.ph-sidebar__item--panel-active > .ph-sidebar__toggle::before,
.ph-sidebar__item--panel-active > .ph-sidebar__branch > .ph-sidebar__branch-toggle::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 8px;
	background: var(--ph-green);
	border-radius: 0 var(--ph-radius-sm) var(--ph-radius-sm) 0;
}

.ph-sidebar__item--panel-active > .ph-sidebar__branch {
	width: calc(100% + 39px);
	margin-left: -39px;
}

.ph-sidebar__item--panel-active .ph-sidebar__branch-link {
	display: none;
}

.ph-sidebar__item--panel-active .ph-sidebar__branch-toggle {
	flex: 1;
	margin-left: 0;
}

.ph-sidebar__item--panel-active .ph-sidebar__toggle-back,
.ph-sidebar__item--panel-active .ph-sidebar__branch-toggle .ph-sidebar__toggle-back {
	display: inline-flex;
}

.ph-sidebar__item--panel-active .ph-sidebar__branch-toggle .ph-sidebar__toggle-label {
	display: inline;
}

.ph-sidebar__item--panel-active .ph-sidebar__chevron,
.ph-sidebar__item--panel-active .ph-sidebar__branch-toggle .ph-sidebar__chevron {
	display: none;
}

.ph-sidebar__item--panel-active .ph-sidebar__submenu {
	display: flex;
	padding-top: 24px;
}

.ph-sidebar__nav--submenu .ph-sidebar__submenu .ph-sidebar__link {
	font-size: 19px;
	font-weight: 700;
	padding-left: 0;
}

.ph-sidebar__submenu .ph-sidebar__link--active {
	color: var(--ph-green);
}

.ph-sidebar__login {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 32px;
	padding: 10px 20px 10px 16px;
	background: var(--ph-green);
	color: var(--ph-blue);
	font-family: var(--ph-font-heading);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	border-radius: 0 var(--ph-radius-sm) var(--ph-radius-sm) 0;
	margin-left: -39px;
	padding-left: 47px;
	position: relative;
	letter-spacing: 0.02em;
}

.ph-sidebar__footer {
	margin-top: auto;
	padding-top: 48px;
}

.ph-sidebar__login::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 8px;
	background: var(--ph-green);
	border-radius: 0 var(--ph-radius-sm) var(--ph-radius-sm) 0;
}

.ph-sidebar__contact { padding-top: 0; }

.ph-sidebar__contact-link {
	display: inline-block;
	font-family: var(--ph-font-heading);
	font-size: 19px;
	font-weight: 700;
	color: var(--ph-white);
	text-transform: uppercase;
	text-decoration: none;
	margin-bottom: 20px;
}

.ph-sidebar__contact-link:hover {
	opacity: 0.8;
}

.ph-sidebar__contact-label {
	font-family: var(--ph-font-heading);
	font-size: 19px;
	font-weight: 700;
	color: var(--ph-white);
	text-transform: uppercase;
	margin-bottom: 20px;
}

.ph-sidebar__socials { display: flex; gap: 11px; }

.ph-sidebar__social {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	flex-shrink: 0;
}

.ph-sidebar__social img {
	display: block;
	width: 25px;
	height: 25px;
	object-fit: contain;
}

.ph-sidebar__social svg {
	display: block;
	width: 20px;
	height: 20px;
}

/* ==========================================================================
   Mobile Header
   ========================================================================== */

.ph-mobile-header {
	display: none;
	position: sticky;
	top: 0;
	z-index: 200;
	background: var(--ph-blue);
	padding: 27px 23px;
	box-shadow: 0 3px 4px rgba(0,0,0,0.15);
	align-items: center;
	justify-content: space-between;
}

.ph-mobile-header__toggle {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	display: flex;
}

.ph-mobile-header__logo-text {
	font-family: var(--ph-font-heading);
	font-size: 18px;
	font-weight: 700;
	color: var(--ph-white);
	text-transform: uppercase;
}

.ph-mobile-header__logo-img,
.ph-mobile-header__logo .ph-logo {
	max-height: 40px;
	width: auto;
}

.ph-mobile-header__account {
	color: var(--ph-white);
	display: flex;
}

.ph-site__overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.5);
	z-index: 99;
}

.ph-site--menu-open .ph-site__overlay { display: block; }
.ph-site--menu-open .ph-sidebar { transform: translateX(0); }

/* ==========================================================================
   Hero
   ========================================================================== */

.ph-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 0;
	max-width: none;
	border-radius: var(--ph-radius);
	overflow: hidden;
	min-height: 507px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ph-hero__bg {
	position: absolute;
	inset: 0;
}

.ph-hero__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.59);
}

.ph-hero__content {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 40px 20px;
}

.ph-hero__headline {
	margin-bottom: 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.ph-hero__line-stack {
	position: relative;
	display: inline-block;
}

.ph-hero__line-shadow {
	position: absolute;
	inset: 0;
	transform: translate(8px, 7px);
}

.ph-hero__line-shadow--green { background: var(--ph-green); }
.ph-hero__line-shadow--navy  { background: var(--ph-navy); }

.ph-hero__line {
	position: relative;
	display: block;
	padding: 14px 28px;
	text-align: center;
}

.ph-hero__line--dark {
	background: var(--ph-navy);
	color: var(--ph-white);
	font-family: var(--ph-font-hero);
	font-size: clamp(22px, 2.4vw, 35px);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.15;
	min-width: min(679px, 90vw);
}

.ph-hero__line--green {
	background: var(--ph-green);
	color: var(--ph-blue);
	font-family: var(--ph-font-hero);
	font-size: clamp(22px, 2.4vw, 35px);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.15;
	min-width: min(612px, 88vw);
}

/* ==========================================================================
   Feature Cards
   ========================================================================== */

.ph-feature-cards {
	padding: 48px 0 60px;
}

.ph-feature-cards__title {
	margin-bottom: 32px;
	font-size: clamp(24px, 2.2vw, 30px);
}

.ph-feature-cards__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.ph-feature-card {
	background: var(--ph-white);
	border-radius: var(--ph-radius);
	box-shadow: 0 2px 2px rgba(0,0,0,0.1);
	overflow: hidden;
	min-height: 306px;
	display: flex;
	flex-direction: column;
}

.ph-feature-card__image {
	height: 148px;
	flex-shrink: 0;
	overflow: hidden;
}

.ph-feature-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-feature-card__title {
	font-family: var(--ph-font-heading);
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-navy);
	padding: 16px 16px 0;
}

.ph-feature-card__desc {
	font-size: 15px;
	font-weight: 300;
	line-height: 1.2;
	color: var(--ph-text);
	padding: 8px 16px 20px;
}

.ph-feature-cards__cta {
	text-align: center;
	margin-top: 40px;
}

/* ==========================================================================
   Where Play Comes Easy
   ========================================================================== */

.ph-where-play {
	padding: 48px 0 72px;
	position: relative;
	overflow: visible;
}

.ph-where-play .ph-container {
	position: relative;
	overflow: visible;
}

.ph-where-play__frame {
	position: relative;
}

.ph-where-play__circle {
	position: absolute;
	border: 1px solid var(--ph-teal);
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}

.ph-where-play__circle--tr {
	width: 154px;
	height: 154px;
	right: -28px;
	top: -42px;
	opacity: 0.6;
}

.ph-where-play__circle--bl {
	width: 235px;
	height: 235px;
	left: -72px;
	bottom: -88px;
	opacity: 0.4;
}

.ph-where-play__card {
	position: relative;
	z-index: 1;
	background: var(--ph-white);
	border-radius: var(--ph-radius);
	box-shadow: 0 2px 4px rgba(0,0,0,0.15);
	display: grid;
	grid-template-columns: 1fr 409px;
	overflow: hidden;
	min-height: 331px;
}

.ph-where-play__text {
	padding: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	z-index: 1;
}

.ph-where-play__divider {
	width: 54px;
	height: 2px;
	background: var(--ph-teal);
	margin: 12px 0;
}

.ph-where-play__subtitle {
	font-weight: 700;
	font-size: 19px;
	margin-bottom: 8px;
}

.ph-where-play__body {
	font-size: 19px;
	line-height: 1.2;
}

.ph-where-play__image {
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.ph-where-play__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==========================================================================
   How To Join
   ========================================================================== */

.ph-how-to-join {
	padding: 40px 0 60px;
}

.ph-how-to-join__wrap {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0 max(var(--ph-gutter), calc((100% - min(100%, var(--ph-container))) / 2 + var(--ph-gutter))) 0 0;
}

.ph-how-to-join__layout {
	display: grid;
	grid-template-columns: 413px 1fr;
	gap: 0;
	align-items: stretch;
}

.ph-how-to-join__panel {
	background: var(--ph-navy);
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	padding: 48px 40px 40px;
	color: var(--ph-white);
	min-height: 502px;
	display: flex;
	flex-direction: column;
}

.ph-how-to-join__title {
	color: var(--ph-white);
	font-size: 30px;
}

.ph-how-to-join__title .ph-heading__medium {
	font-weight: 600;
}

.ph-how-to-join__divider {
	width: 54px;
	height: 2px;
	background: var(--ph-teal);
	margin: 16px 0 20px;
}

.ph-how-to-join__intro,
.ph-how-to-join__value-text {
	font-size: 18px;
	line-height: 1.2;
	margin-bottom: 20px;
	max-width: 273px;
}

.ph-how-to-join__value-title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 8px;
	max-width: 273px;
	text-transform: uppercase;
}

.ph-how-to-join__panel .ph-btn {
	margin-top: auto;
	align-self: flex-start;
	min-width: 211px;
}

.ph-how-to-join__steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: auto auto;
	gap: 33px 16px;
	padding: 0 0 0 20px;
	align-content: center;
}

.ph-step-card {
	background: var(--ph-white);
	border-radius: var(--ph-radius);
	box-shadow: 0 0 6.8px rgba(0, 0, 0, 0.15);
	padding: 29px 24px 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 261px;
	overflow: hidden;
}

.ph-step-card--wide {
	grid-column: 1 / -1;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 24px 32px;
	min-height: 208px;
}

.ph-step-card__header {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.ph-step-card--wide .ph-step-card__header {
	flex: 1;
	max-width: 420px;
	align-items: center;
}

.ph-step-card__badge {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	height: 33px;
	min-width: 106px;
}

.ph-step-card__badge-shadow {
	position: absolute;
	left: 0;
	top: 3px;
	width: 100%;
	height: 33px;
	background: var(--ph-blue);
}

.ph-step-card__badge-label {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 33px;
	width: 100%;
	padding: 0 14px;
	background: var(--ph-teal);
	color: var(--ph-blue);
	font-family: var(--ph-font-heading);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.ph-step-card__title {
	font-size: 17px;
	line-height: 1.25;
	margin: 4px 0 0;
	flex: 1;
}

.ph-step-card--wide .ph-step-card__title {
	margin: 0;
	font-size: 17px;
	line-height: 1.3;
	max-width: none;
}

.ph-step-card__icon {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

.ph-step-card__icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 138px;
	height: 138px;
	background: var(--ph-teal);
	border-radius: 50%;
}

.ph-step-card:nth-child(1) .ph-step-card__icon-circle {
	width: 116px;
	height: 116px;
}

.ph-step-card__icon-circle img {
	max-width: 72%;
	max-height: 72%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.ph-step-card--wide .ph-step-card__icon-circle {
	width: 138px;
	height: 138px;
}

.ph-step-card--wide .ph-step-card__icon-circle img {
	max-width: 74%;
	max-height: 45%;
}

/* ==========================================================================
   Why Choose Us
   ========================================================================== */

.ph-why-choose {
	padding: 60px 0;
}

.ph-why-choose__title {
	font-size: 35px;
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.ph-why-choose__divider {
	width: 54px;
	height: 2px;
	background: var(--ph-teal);
	margin-bottom: 40px;
}

.ph-why-choose__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.ph-why-choose__item {
	position: relative;
	padding-left: 36px;
}

.ph-why-choose__item:not(:last-child)::after {
	content: '';
	position: absolute;
	right: -20px;
	top: 0;
	width: 1px;
	height: 100%;
	background: var(--ph-light-blue);
}

.ph-why-choose__icon {
	position: absolute;
	left: 0;
	top: 0;
}

.ph-why-choose__item-title {
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 12px;
	line-height: 1.1;
}

.ph-why-choose__item-desc {
	font-size: 15px;
	font-weight: 300;
	line-height: 1.4;
}

/* ==========================================================================
   Parties & Events
   ========================================================================== */

.ph-parties {
	padding: 80px 0 64px;
	overflow: visible;
}

.ph-parties .ph-container {
	overflow: visible;
	max-width: 1116px;
}

/*
 * Figma (content area): image 519×390 @ (64,62), panel 927×393 @ (189,135),
 * text inset 461px, deco 189×237 @ top −169px / right 133px on panel.
 */
.ph-parties__layout {
	position: relative;
	display: grid;
	grid-template-columns: 519px minmax(0, 1fr);
	align-items: start;
	min-height: 528px;
}

.ph-parties__circle {
	position: absolute;
	display: block;
	width: 235px;
	height: 235px;
	pointer-events: none;
	z-index: 0;
}

/* Figma 14435:823 — top-left arc behind photo */
.ph-parties__circle--tl {
	left: 37px;
	top: 0;
}

/* Figma 14435:819 — bottom-right arc over navy, behind photo */
.ph-parties__circle--br {
	left: 373px;
	top: 271px;
}

.ph-parties__photo {
	position: relative;
	z-index: 3;
	grid-column: 1;
	grid-row: 1;
	padding-top: 62px;
	overflow: visible;
}

.ph-parties__photo-frame {
	position: relative;
	display: block;
	width: 100%;
	max-width: 519px;
	overflow: visible;
}

.ph-parties__image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 519px;
	height: auto;
	aspect-ratio: 519 / 390;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.ph-parties__panel {
	grid-column: 1 / -1;
	grid-row: 1;
	margin-left: 189px;
	margin-top: 135px;
	min-height: 393px;
	background: var(--ph-navy);
	border-radius: var(--ph-radius);
	color: var(--ph-white);
	position: relative;
	z-index: 2;
	overflow: visible;
	padding: 56px 80px 56px 461px;
	box-sizing: border-box;
}

.ph-parties__deco {
	position: absolute;
	top: -169px;
	right: 133px;
	width: 189px;
	height: auto;
	display: block;
	z-index: 6;
	pointer-events: none;
}

.ph-parties__copy {
	position: relative;
	z-index: 1;
	max-width: 392px;
}

.ph-parties__title {
	color: var(--ph-white);
	margin-bottom: 16px;
	font-size: 30px;
	line-height: 1.2;
}

.ph-parties__title .ph-heading__medium {
	color: var(--ph-white);
	display: block;
}

.ph-parties__title .ph-heading__bold {
	color: var(--ph-teal);
	display: block;
}

.ph-parties__subtitle {
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
	margin-bottom: 8px;
}

.ph-parties__body {
	font-size: 18px;
	line-height: 1.2;
	margin-bottom: 24px;
}

.ph-parties__cta {
	min-width: 211px;
	text-align: center;
}

/* ==========================================================================
   Tournaments
   ========================================================================== */

.ph-tournaments {
	padding: 60px 0;
}

.ph-tournaments__title {
	font-size: 35px;
	margin-bottom: 16px;
}

.ph-tournaments__divider {
	width: 54px;
	height: 2px;
	background: var(--ph-teal);
	margin-bottom: 40px;
}

.ph-tournaments__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.ph-tournament-card {
	background: var(--ph-white);
	border-radius: var(--ph-radius);
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.ph-tournament-card__image {
	height: 291px;
	overflow: hidden;
}

.ph-tournament-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-tournament-card__placeholder {
	width: 100%;
	height: 100%;
	background: #d9d9d9;
}

.ph-tournament-card__meta {
	padding: 16px;
	text-align: center;
	font-size: 16px;
	text-transform: uppercase;
	opacity: 0.65;
}

.ph-tournament-card__meta p { margin: 0 0 4px; }

.ph-tournament-card__btn {
	margin: 0 auto 20px;
}

/* ==========================================================================
   Difference
   ========================================================================== */

.ph-difference {
	padding: 48px 0 88px;
	position: relative;
	overflow: visible;
}

.ph-difference .ph-container {
	overflow: visible;
}

.ph-difference__inner {
	display: grid;
	grid-template-columns: 485px 1fr;
	gap: 40px;
	align-items: center;
}

.ph-difference__media {
	position: relative;
}

.ph-difference__circle {
	position: absolute;
	border: 1px solid var(--ph-teal);
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}

.ph-difference__circle--tr {
	width: 154px;
	height: 154px;
	top: -36px;
	right: -32px;
	opacity: 0.65;
}

.ph-difference__circle--bl {
	width: 235px;
	height: 235px;
	bottom: -72px;
	left: -68px;
	opacity: 0.45;
}

.ph-difference__image {
	position: relative;
	z-index: 1;
}

.ph-difference__image img {
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	width: 100%;
	display: block;
}

.ph-difference__title {
	font-size: 32px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 20px;
	line-height: 1.2;
}

.ph-difference__body {
	font-size: 18px;
	line-height: 1.2;
}

/* ==========================================================================
   Visitors Welcome
   ========================================================================== */

.ph-visitors {
	padding: 40px 0 60px;
}

.ph-visitors__card {
	background: rgba(33, 54, 107, 0.1);
	border-radius: var(--ph-radius);
	padding: 48px;
	display: grid;
	grid-template-columns: minmax(240px, 392px) 1fr;
	gap: 40px 48px;
	align-items: start;
}

.ph-visitors__left {
	align-self: center;
}

.ph-visitors__right {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.ph-visitors__body {
	font-size: 16px;
	line-height: 1.2;
	margin-bottom: 24px;
	max-width: 513px;
}

.ph-visitors__actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 16px;
	align-items: center;
}

.ph-visitors__actions .ph-btn {
	min-width: 211px;
	padding: 12px 28px;
	justify-content: center;
}

.ph-visitors__title {
	font-size: 35px;
}

.ph-visitors__divider {
	width: 54px;
	height: 2px;
	background: var(--ph-teal);
	margin: 12px 0;
}

.ph-visitors__subtitle {
	font-size: 16px;
	font-weight: 500;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.ph-footer {
	background: var(--ph-navy);
	color: var(--ph-white);
	padding: 60px 98px;
	margin-left: var(--ph-sidebar-width);
}

.ph-footer__inner {
	display: grid;
	grid-template-columns: 330px auto;
	grid-template-areas: "brand content";
	column-gap: 43px;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	align-items: start;
}

.ph-footer__content {
	grid-area: content;
	display: flex;
	flex-direction: column;
	width: fit-content;
	max-width: 100%;
}

.ph-footer__waitlist {
	min-width: 0;
	margin-bottom: 28px;
}

.ph-footer__brand {
	grid-area: brand;
	flex-shrink: 0;
	width: 240px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

.ph-footer__divider {
	line-height: 0;
}

.ph-footer__divider--nav,
.ph-footer__divider--credit {
	width: 100%;
	margin: 0;
}

.ph-footer__divider--nav {
	margin-bottom: 26px;
}

.ph-footer__divider--credit {
	margin-bottom: 0;
}

.ph-footer__nav {
	display: flex;
	align-items: flex-start;
	gap: 29px;
	margin-bottom: 26px;
}

.ph-footer__bottom {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 17px;
	width: 100%;
}

.ph-footer__logo {
	display: block;
	width: 100%;
	max-width: 192px;
	overflow: visible;
}

.ph-footer__logo-img {
	display: block;
	width: 192px;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.ph-footer__socials {
	display: flex;
	gap: 11px;
	justify-content: center;
	width: 133px;
}

.ph-footer__social {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	color: var(--ph-white);
}

.ph-footer__social img {
	display: block;
	width: 25px;
	height: 25px;
}


.ph-footer__waitlist-title {
	margin: 0 0 12px;
	font-family: var(--ph-font-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.ph-footer__waitlist-text {
	margin: 0 0 19px;
	font-size: 16px;
	line-height: 1.2;
	max-width: 671px;
}

.ph-footer__form {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: 210px;
	min-height: 31px;
	background: var(--ph-white);
	border-radius: var(--ph-radius-pill);
	overflow: hidden;
}

.ph-footer__form input {
	flex: 1;
	min-width: 0;
	padding: 0 16px;
	border: 0;
	background: transparent;
	font-family: var(--ph-font-body);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: #060f50;
}

.ph-footer__form input::placeholder {
	color: #060f50;
	opacity: 1;
}

.ph-footer__form button {
	flex: 0 0 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: var(--ph-green);
	cursor: pointer;
	padding: 0;
}

.ph-footer__form button img {
	width: 16px;
	height: 16px;
	display: block;
}

.ph-footer__divider-img {
	width: 100%;
	height: 1px;
	display: block;
	opacity: 0.5;
}

.ph-footer__nav-grid {
	display: flex;
	align-items: flex-start;
	gap: 29px;
	flex: 1;
	flex-wrap: wrap;
}

.ph-footer__col {
	min-width: 0;
}

.ph-footer__col--about {
	width: 167px;
	flex-shrink: 0;
}

.ph-footer__col-title {
	margin: 0 0 8px;
	font-family: var(--ph-font-heading);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.ph-footer__col-links {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ph-footer__col-links a,
.ph-footer__col-links span {
	font-size: 13px;
	line-height: 1.2;
	color: var(--ph-white);
}

.ph-footer__col-links a:hover {
	opacity: 0.85;
}

.ph-footer__col-links--about li {
	display: flex;
	align-items: flex-start;
	gap: 3px;
}

.ph-footer__bullet {
	flex-shrink: 0;
	width: 3px;
	height: 3px;
	margin-top: 7px;
	background: var(--ph-white);
}

.ph-footer__credit {
	margin: 0;
	text-align: center;
	font-family: var(--ph-font-body);
	font-size: 13px;
	line-height: 20px;
	color: var(--ph-white);
	opacity: 0.08;
}

/* ==========================================================================
   Responsive — Tablet
   ========================================================================== */

@media (max-width: 1200px) {
	.ph-feature-cards__grid,
	.ph-why-choose__grid,
	.ph-tournaments__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ph-how-to-join__layout {
		grid-template-columns: 1fr;
	}

	.ph-how-to-join__panel {
		border-radius: var(--ph-radius) var(--ph-radius) 0 0;
	}

	.ph-how-to-join__steps {
		grid-template-rows: auto auto auto;
		padding: 20px 0 0;
	}

	.ph-step-card {
		min-height: 240px;
	}

	.ph-step-card--wide {
		min-height: 208px;
	}

	.ph-parties__layout {
		grid-template-columns: minmax(0, 519px) minmax(0, 1fr);
		min-height: 480px;
	}

	.ph-parties__panel {
		padding: 56px 48px 56px clamp(200px, 42vw, 461px);
	}

	.ph-difference__inner {
		grid-template-columns: 1fr;
	}

	.ph-difference__circle--tr {
		width: 120px;
		height: 120px;
		top: -24px;
		right: -16px;
	}

	.ph-difference__circle--bl {
		width: 170px;
		height: 170px;
		bottom: -48px;
		left: -40px;
	}

	.ph-visitors__card {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   The Club Page
   ========================================================================== */

.ph-club-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 0 0;
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	overflow: hidden;
	min-height: 340px;
}

.ph-club-hero__bg {
	position: absolute;
	inset: 0;
}

.ph-club-hero__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-club-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(141deg, rgba(0, 0, 0, 0) 56%, rgba(161, 205, 58, 0.4) 99%),
		rgba(0, 0, 0, 0.59);
}

.ph-club-hero__inner {
	position: relative;
	z-index: 1;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
	padding: 40px var(--ph-gutter) 40px 0;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
}

.ph-club-hero__headline {
	margin: 0;
}

.ph-club-hero__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 48px;
	padding-left: 51px;
}

.ph-club-hero__tag {
	margin: 0 0 8px;
	padding-left: 24px;
	font-family: var(--ph-font-heading);
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-club-hero__title-wrap {
	position: relative;
	display: block;
}

.ph-club-hero__title-wrap::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 404px;
	max-width: 100%;
	height: 7px;
	background: var(--ph-teal);
	z-index: 2;
}

.ph-club-hero__title {
	position: relative;
	z-index: 1;
	margin: 0;
	background: var(--ph-navy);
	width: 416px;
	max-width: 100%;
	min-height: 78px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 32px;
	font-family: var(--ph-font-heading);
	font-size: 50px;
	font-weight: 700;
	line-height: 26px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-club-hero__meta {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
}

.ph-club-hero__meta li {
	display: flex;
	align-items: center;
	gap: 11px;
	font-family: 'Red Hat Text', var(--ph-font-body);
	font-size: 15px;
	text-transform: uppercase;
	color: var(--ph-white);
	line-height: 22px;
}

.ph-club-hero__meta-icon {
	flex-shrink: 0;
	display: block;
	object-fit: contain;
}

.ph-club-hero__meta-icon--pin {
	width: 16px;
	height: 20px;
}

.ph-club-hero__meta-icon--phone {
	width: 16px;
	height: 16px;
}

.ph-club-hero__meta-icon--cal {
	width: 16px;
	height: 17px;
}

.ph-club-hero__calendar-link {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	font-weight: 700;
	color: var(--ph-white);
}

.ph-club-hero__calendar-link:hover {
	opacity: 0.85;
}

.ph-club-hero__chevron {
	flex-shrink: 0;
	margin-left: 2px;
}

.ph-club-hero__actions {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ph-club-hero__btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 176px;
	height: 30px;
	padding: 0 20px;
	border: 1px solid var(--ph-white);
	border-radius: var(--ph-radius-pill);
	font-family: var(--ph-font-heading);
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--ph-white);
	transition: opacity 0.2s;
	white-space: nowrap;
}

.ph-club-hero__btn-outline:hover { opacity: 0.85; }

/* Intro card */
.ph-club-intro {
	padding: 0 0 64px;
}

.ph-club-intro__card {
	background: var(--ph-white);
	border-radius: 0;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	margin-right: 0;
	padding: 54px var(--ph-gutter);
	width: auto;
}

.ph-club-intro__inner {
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 560px 396px;
	gap: 48px;
	align-items: stretch;
	min-height: 320px;
}

.ph-club-intro__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
}

.ph-club-intro__lead {
	margin: 0 0 24px;
	font-size: 19px;
	line-height: 1.2;
	color: var(--ph-blue);
}

.ph-club-intro__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 0 28px;
	padding: 0;
}

.ph-club-intro__btn {
	display: inline-flex;
	align-self: flex-start;
	width: auto;
	min-width: 211px;
	max-width: 211px;
	height: 45px;
	padding: 0 24px;
	font-size: 16px;
	font-weight: 500;
}

.ph-club-intro__list li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 8px;
	align-items: start;
	font-size: 19px;
	line-height: 22px;
	color: var(--ph-blue);
}

.ph-club-intro__check {
	width: 24px;
	height: 24px;
}

.ph-club-intro__media {
	width: 396px;
	display: flex;
}

.ph-club-intro__media img {
	width: 396px;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

/* Mission */
.ph-club-mission {
	padding: 96px 0 104px;
}

.ph-club-mission__inner {
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 var(--ph-gutter);
	display: grid;
	grid-template-columns: 405px 443px;
	gap: 48px;
	align-items: center;
}

.ph-club-mission__media {
	position: relative;
	width: 405px;
}

.ph-club-mission__img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 315px;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.ph-club-mission__deco {
	position: absolute;
	z-index: 0;
	width: 153px;
	height: 153px;
	pointer-events: none;
}

.ph-club-mission__deco--tr {
	top: -46px;
	right: -40px;
}

.ph-club-mission__deco--bl {
	bottom: -40px;
	left: -40px;
}

.ph-club-mission__text {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 443px;
	max-width: 100%;
}

.ph-club-mission__heading {
	margin: 0 0 10px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--ph-dark-green);
	line-height: 1.2;
}

.ph-club-mission__block p {
	margin: 0;
	font-size: 18px;
	line-height: 1.26;
	color: var(--ph-blue);
}

/* About */
.ph-club-about {
	position: relative;
	padding: 64px 0 80px;
}

.ph-club-about__band {
	position: absolute;
	inset: 0;
	background: var(--ph-navy);
	opacity: 0.1;
	pointer-events: none;
}

.ph-club-about__grid {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 287px;
	gap: 48px;
	align-items: start;
}

.ph-club-about__title {
	margin: 0 0 21px;
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-club-about__body {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 28px;
	max-width: 528px;
}

.ph-club-about__body p {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-club-about__media img {
	width: 100%;
	height: 440px;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

/* Different */
.ph-club-different {
	margin-top: 48px;
	padding: 56px 0 72px;
}

.ph-club-different__grid {
	display: grid;
	grid-template-columns: 371px 1fr;
	gap: 48px;
	align-items: center;
}

.ph-club-different__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
	max-width: 443px;
}

.ph-club-different__media img {
	width: 100%;
	height: 378px;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.ph-club-different__title {
	margin: 0 0 10px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--ph-dark-green);
	line-height: 1.2;
}

.ph-club-different__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ph-club-different__body p {
	margin: 0;
	font-size: 18px;
	line-height: 1.26;
	color: var(--ph-blue);
}

/* Amenities */
.ph-club-amenities {
	position: relative;
	padding: 80px 0;
}

.ph-club-amenities__band {
	position: absolute;
	inset: 0;
	background: rgba(161, 205, 58, 0.4);
	opacity: 0.2;
	pointer-events: none;
}

.ph-club-amenities .ph-container {
	position: relative;
}

.ph-club-amenities__header {
	display: flex;
	align-items: center;
	gap: 21px;
	margin-bottom: 32px;
}

.ph-club-amenities__icon {
	flex-shrink: 0;
}

.ph-club-amenities__eyebrow {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 17px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-green);
	line-height: 1;
}

.ph-club-amenities__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 25px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-club-amenities__intro-grid {
	display: grid;
	grid-template-columns: 444px 1fr;
	gap: 20px;
	margin-bottom: 40px;
}

.ph-club-amenities__lead {
	margin: 0;
	font-size: 17px;
	line-height: 24px;
	color: var(--ph-blue);
}

.ph-club-amenities__bullets {
	margin: 0;
	padding-left: 24px;
	list-style: disc;
	font-size: 16px;
	line-height: 24px;
	color: var(--ph-blue);
}

.ph-club-amenities__bullets li + li {
	margin-top: 8px;
}

.ph-club-amenities__gallery {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.ph-club-amenities__gallery img {
	width: 100%;
	height: 262px;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

/* Tournaments panel */
.ph-club-tournaments {
	margin-top: 48px;
	padding: 72px 0 64px;
}

.ph-club-tournaments__panel {
	background: var(--ph-blue);
	border-radius: var(--ph-radius);
	min-height: 356px;
	padding: 48px 56px 56px;
	position: relative;
	overflow: visible;
}

.ph-club-tournaments__grid {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: center;
}

.ph-club-tournaments__content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.ph-club-tournaments__aside {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	flex-shrink: 0;
}

.ph-club-tournaments__media {
	margin-top: -96px;
}

.ph-club-tournaments__media img {
	display: block;
	width: 309px;
	height: 292px;
	object-fit: cover;
	border-radius: 157px;
}

.ph-club-tournaments__cta {
	min-width: 258px;
}

.ph-club-tournaments__cta--mobile {
	display: none;
}

.ph-club-tournaments__cta--desktop {
	align-self: center;
}

.ph-club-tournaments__title {
	margin: 0 0 12px;
	font-family: var(--ph-font-heading);
	font-size: 35px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--ph-white);
	line-height: 1.2;
}

.ph-club-tournaments__title strong {
	font-weight: 700;
}

.ph-club-tournaments__desc {
	margin: 0 0 24px;
	max-width: 572px;
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	color: var(--ph-white);
}

.ph-club-tournaments__lists {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
	margin-bottom: 32px;
	max-width: 420px;
}

.ph-club-tournaments__lists ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ph-club-tournaments__lists li {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 16px;
	line-height: 24px;
	color: var(--ph-white);
}

.ph-club-tournaments__check {
	color: var(--ph-teal);
	flex-shrink: 0;
}

/* Events promo */
.ph-club-events-promo {
	padding: 32px 0 64px;
}

.ph-club-events-promo__link {
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--ph-blue);
	transition: opacity 0.2s;
}

.ph-club-events-promo__link:hover { opacity: 0.85; }

.ph-club-events-promo__text {
	font-family: var(--ph-font-heading);
	font-size: 25px;
	text-transform: uppercase;
	line-height: 1.3;
}

.ph-club-events-promo__text strong {
	font-weight: 700;
}

.ph-club-events-promo__arrow {
	font-size: 28px;
	line-height: 1;
}

/* Location card */
.ph-club-location {
	padding: 0 0 80px;
}

.ph-club-location .ph-container {
	max-width: calc((100% - var(--ph-gutter)) * 0.72);
	margin-inline: auto;
	padding-inline: var(--ph-gutter);
}

.ph-club-location__card {
	background: var(--ph-white);
	border-radius: var(--ph-radius);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	display: grid;
	grid-template-columns: minmax(0, 58%) 1fr;
	overflow: hidden;
	min-height: 200px;
}

.ph-club-location__map img {
	width: 100%;
	height: 100%;
	min-height: 200px;
	max-height: 200px;
	object-fit: cover;
	filter: grayscale(1);
	mix-blend-mode: luminosity;
	border-radius: var(--ph-radius) 0 0 var(--ph-radius);
}

.ph-club-location__info {
	padding: 24px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
}

.ph-club-location__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-club-location__contact {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ph-club-location__contact li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-club-location__icon {
	flex-shrink: 0;
	display: block;
}

.ph-club-location__actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 16px;
	margin-top: 8px;
	width: 100%;
	max-width: 520px;
}

.ph-club-location__btn {
	flex: 1 1 0;
	min-width: 0;
	padding: 10px 14px;
	font-size: 14px;
	line-height: 1.15;
	white-space: normal;
	text-align: center;
	justify-content: center;
}

/* ==========================================================================
   Contact Us Page
   ========================================================================== */

.ph-contact-intro {
	position: relative;
	background: var(--ph-white);
	padding: 48px 0 40px;
	overflow: hidden;
}

.ph-contact-intro__deco {
	position: absolute;
	inset: -20% -10% auto -5%;
	height: 280px;
	background: radial-gradient(ellipse at 70% 30%, rgba(129, 198, 188, 0.18) 0%, transparent 65%);
	pointer-events: none;
}

.ph-contact-intro__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 831px;
}

.ph-contact-intro__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 40px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-contact-intro__lead {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
	color: var(--ph-blue);
	max-width: 831px;
}

/* Contact location card */
.ph-contact-location {
	padding: 0 0 48px;
}

.ph-contact-location__card {
	background: var(--ph-white);
	border-radius: var(--ph-radius);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	display: grid;
	grid-template-columns: minmax(0, 55%) 1fr;
	overflow: hidden;
	min-height: 200px;
}

.ph-contact-location__map img {
	width: 100%;
	height: 100%;
	min-height: 200px;
	max-height: 200px;
	object-fit: cover;
	filter: grayscale(1);
	mix-blend-mode: luminosity;
	border-radius: var(--ph-radius) 0 0 var(--ph-radius);
}

.ph-contact-location__info {
	padding: 24px 32px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
}

.ph-contact-location__title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-contact-location__contact {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ph-contact-location__contact li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-contact-location__icon {
	flex-shrink: 0;
	display: block;
}

.ph-contact-location__actions {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 16px;
	margin-top: 8px;
	max-width: 420px;
}

.ph-contact-location__btn {
	flex: 0 1 auto;
	padding: 8px 28px;
	font-size: 17px;
	white-space: nowrap;
	text-align: center;
	justify-content: center;
}

/* Contact form */
.ph-contact-form {
	position: relative;
	padding: 0 0 96px;
}

.ph-contact-form__header {
	display: grid;
	grid-template-columns: 469px 1fr;
	gap: 32px;
	align-items: center;
	margin-bottom: 40px;
	padding-right: max(var(--ph-gutter), calc((100% - min(100%, var(--ph-container))) / 2 + var(--ph-gutter)));
}

.ph-contact-form__banner {
	background: var(--ph-lila);
	min-height: 62px;
	padding: 12px 24px;
	display: flex;
	align-items: center;
}

.ph-contact-form__banner-title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-contact-form__banner-title strong {
	font-weight: 700;
}

.ph-contact-form__intro {
	margin: 0;
	font-size: 16px;
	line-height: 1.2;
	color: #000;
	max-width: 392px;
	padding-right: var(--ph-gutter);
}

.ph-contact-form__fields {
	margin-bottom: 0;
}

.ph-contact-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px 20px;
}

.ph-contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ph-contact-form__field--message {
	grid-column: 1;
}

.ph-contact-form__aside {
	grid-column: 2;
	grid-row: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	align-self: end;
	padding-bottom: 4px;
}

.ph-contact-form__label {
	font-family: var(--ph-font-heading);
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-contact-form__req {
	color: #f00;
}

.ph-contact-form__input {
	width: 100%;
	margin: 0;
	padding: 10px 20px;
	border: none;
	border-radius: var(--ph-radius);
	background: var(--ph-white);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	font-family: var(--ph-font-body);
	font-size: 16px;
	color: var(--ph-blue);
	line-height: 1.4;
	min-height: 46px;
}

.ph-contact-form__input::placeholder {
	color: #c8c7c7;
}

.ph-contact-form__textarea {
	min-height: 111px;
	resize: vertical;
	padding-top: 14px;
}

.ph-contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 12px;
	line-height: 1.2;
	color: var(--ph-blue);
	cursor: pointer;
}

.ph-contact-form__consent input {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 1px solid var(--ph-blue);
	border-radius: 5px;
	accent-color: var(--ph-blue);
}

.ph-contact-form__submit {
	min-width: 211px;
	padding: 12px 32px;
	border-radius: var(--ph-radius-pill);
	background: var(--ph-blue);
	color: var(--ph-white);
	font-size: 16px;
}

.ph-contact-form__success {
	display: none;
	width: 100%;
	max-width: 463px;
	margin: 0 0 0 auto;
	padding: 48px 32px;
	background: var(--ph-lila);
	border-radius: var(--ph-radius);
	text-align: center;
	box-sizing: border-box;
}

.ph-contact-form__success-title {
	margin: 0 0 16px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: #131e28;
}

.ph-contact-form__success-text {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-contact-form__shell--success .ph-contact-form__header,
.ph-contact-form__shell--success .ph-contact-form__fields {
	display: none;
}

.ph-contact-form__shell--success .ph-contact-form__success {
	display: block;
}

/* ==========================================================================
   Learn Page
   ========================================================================== */

.ph-learn-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 0 0;
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	overflow: hidden;
	min-height: 340px;
}

.ph-learn-hero__bg {
	position: absolute;
	inset: 0;
}

.ph-learn-hero__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-learn-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(141deg, rgba(0, 0, 0, 0) 56%, rgba(161, 205, 58, 0.4) 99%),
		rgba(0, 0, 0, 0.59);
}

.ph-learn-hero__inner {
	position: relative;
	z-index: 1;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 40px var(--ph-gutter) 40px 0;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
}

.ph-learn-hero__title-stack {
	position: relative;
	display: block;
}

.ph-learn-hero__title-teal {
	position: absolute;
	left: 0;
	top: 7px;
	width: 704px;
	max-width: 100%;
	height: 78px;
	background: var(--ph-teal);
	z-index: 0;
}

.ph-learn-hero__title-navy {
	position: relative;
	z-index: 1;
	background: var(--ph-navy);
	width: 725px;
	max-width: 100%;
	min-height: 78px;
	display: flex;
	align-items: center;
	padding: 16px 32px;
}

.ph-learn-hero__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 50px;
	font-weight: 700;
	line-height: 26px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-learn-hero__lead {
	margin: 0 0 0 2rem;
	max-width: 443px;
	font-size: 20px;
	font-weight: 700;
	line-height: 23px;
	color: var(--ph-white);
}

.ph-learn-section-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 32px;
}

.ph-learn-section-head__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-learn-section-head__line {
	display: block;
	width: 120px;
	height: 4px;
	background: var(--ph-teal);
	border-radius: 2px;
}

.ph-learn-intro {
	padding: 80px 0 64px;
}

.ph-learn-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	gap: 48px;
	align-items: center;
}

.ph-learn-intro__title {
	margin: 0 0 24px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-learn-intro__body {
	display: flex;
	flex-direction: column;
	gap: 15px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-learn-intro__media img,
.ph-learn-youth__media img,
.ph-learn-development__media img,
.ph-learn-coaches__photo img:not(.ph-learn-placeholder) {
	width: 100%;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.ph-learn-intro__media img,
.ph-learn-youth__media img {
	height: 388px;
}

.ph-learn-coaches__photo img.ph-learn-placeholder {
	width: 100%;
	height: 254px;
	object-fit: fill;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

.ph-learn-lessons {
	padding: 56px 0 64px;
}

.ph-learn-lessons__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	padding-top: 8px;
}

.ph-learn-lesson-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--ph-white);
	border: 1px solid var(--ph-teal);
	border-radius: 31px;
	padding: 40px 24px 32px;
	min-height: 100%;
	box-shadow: 0 2px 4px rgba(255, 255, 255, 0.2);
}

.ph-learn-lesson-card__icon-wrap {
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	width: 49px;
	height: 49px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ph-white);
	border-radius: 50%;
}

.ph-learn-lesson-card__icon {
	width: 49px;
	height: 49px;
}

.ph-learn-lesson-card__inner {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 12px;
	text-align: center;
}

.ph-learn-lesson-card__title {
	margin: 8px 0 0;
	font-family: var(--ph-font-heading);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-dark-green);
	line-height: 1.2;
}

.ph-learn-lesson-card__price {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: #85b11d;
}

.ph-learn-lesson-card__desc {
	margin: 0;
	flex: 1;
	font-size: 14px;
	line-height: 1.4;
	color: var(--ph-blue);
}

.ph-learn-lesson-card__btn {
	display: none;
	align-self: center;
	margin-top: 8px;
	min-width: 140px;
	padding: 10px 28px;
	background: var(--ph-dark-green);
	color: var(--ph-white);
}

.ph-learn-clinics {
	padding: 56px 0 64px;
}

.ph-learn-clinics__panel {
	background: var(--ph-navy);
	border-radius: var(--ph-radius);
	padding: 48px 56px 40px;
	color: var(--ph-white);
	text-align: center;
}

.ph-learn-clinics__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-bottom: 40px;
}

.ph-learn-clinics__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.2;
}

.ph-learn-clinics__line {
	display: block;
	width: 120px;
	height: 4px;
	background: var(--ph-teal);
	border-radius: 2px;
}

.ph-learn-clinics__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	margin-bottom: 32px;
}

.ph-learn-clinics__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.ph-learn-clinics__icon {
	width: 48px;
	height: 48px;
}

.ph-learn-clinics__item-title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-teal);
	line-height: 1.2;
}

.ph-learn-clinics__item-desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--ph-white);
	max-width: 220px;
}

.ph-learn-clinics__note {
	margin: 0 0 24px;
	font-size: 16px;
	line-height: 1.4;
}

.ph-learn-clinics__cta {
	min-width: 240px;
}

.ph-learn-youth {
	padding: 56px 0 64px;
}

.ph-learn-youth__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	gap: 48px;
	align-items: center;
}

.ph-learn-youth__title {
	margin: 0 0 20px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-learn-youth__text {
	margin: 0 0 28px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-learn-development {
	padding: 56px 0 64px;
}

.ph-learn-development__panel {
	background: rgb(33 54 107 / 0.1);
	border-radius: var(--ph-radius);
	padding: 48px 56px;
}

.ph-learn-development__grid {
	display: grid;
	grid-template-columns: 330px minmax(0, 1fr);
	gap: 40px;
	align-items: stretch;
}

.ph-learn-development__media {
	display: flex;
}

.ph-learn-development__media img {
	width: 100%;
	height: 100%;
	min-height: 342px;
	object-fit: cover;
}

.ph-learn-development__content {
	display: flex;
	flex-direction: column;
}

.ph-learn-development__title {
	margin: 0 0 20px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-learn-development__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-learn-coaches {
	padding: 56px 0 64px;
}

.ph-learn-coaches__header {
	display: grid;
	grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	margin-bottom: 32px;
}

.ph-learn-coaches__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-learn-coaches__text {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-learn-coaches__gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.ph-learn-coaches__photo img:not(.ph-learn-placeholder) {
	height: 254px;
}

.ph-learn-cta {
	padding: 0 0 72px;
}

.ph-learn-cta__panel {
	position: relative;
	border-radius: var(--ph-radius);
	overflow: hidden;
	min-height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ph-learn-cta__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-learn-cta__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
}

.ph-learn-cta__content {
	position: relative;
	z-index: 1;
	max-width: 640px;
	padding: 48px 32px;
	text-align: center;
	color: var(--ph-white);
}

.ph-learn-cta__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
}

.ph-learn-cta__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 35px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.2;
}

.ph-learn-cta__line {
	display: block;
	width: 120px;
	height: 4px;
	background: var(--ph-teal);
	border-radius: 2px;
}

.ph-learn-cta__text {
	margin: 0 0 28px;
	font-size: 18px;
	line-height: 26px;
}

.ph-learn-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

/* ==========================================================================
   Play Page
   ========================================================================== */

.ph-play-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 56px 0;
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	overflow: hidden;
	min-height: 340px;
}

.ph-play-hero__bg {
	position: absolute;
	inset: 0;
}

.ph-play-hero__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-play-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(141deg, rgba(0, 0, 0, 0) 56%, rgba(161, 205, 58, 0.4) 99%),
		rgba(0, 0, 0, 0.59);
}

.ph-play-hero__inner {
	position: relative;
	z-index: 1;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 40px var(--ph-gutter) 40px 0;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
}

.ph-play-hero__title-stack {
	position: relative;
	display: block;
}

.ph-play-hero__title-teal {
	position: absolute;
	left: 0;
	top: 7px;
	width: 566px;
	max-width: 100%;
	height: 78px;
	background: var(--ph-teal);
	z-index: 0;
}

.ph-play-hero__title-navy {
	position: relative;
	z-index: 1;
	background: var(--ph-navy);
	width: 583px;
	max-width: 100%;
	min-height: 78px;
	display: flex;
	align-items: center;
	padding: 16px 32px;
}

.ph-play-hero__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 50px;
	font-weight: 700;
	line-height: 26px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-play-hero__lead {
	margin: 0 0 0 2rem;
	max-width: 443px;
	font-size: 20px;
	font-weight: 700;
	line-height: 23px;
	color: var(--ph-white);
}

.ph-play-intro {
	padding: 72px 0 64px;
}

.ph-play-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 364px) minmax(0, 1fr);
	gap: 21px;
	align-items: start;
}

.ph-play-intro__heading {
	display: flex;
	align-items: center;
	gap: 21px;
}

.ph-play-intro__icon {
	flex-shrink: 0;
	width: 53px;
	height: auto;
}

.ph-play-intro__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 37px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-play-intro__text {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
	max-width: 630px;
}

.ph-play-showcase {
	padding: 32px 0 80px;
	overflow: hidden;
}

.ph-play-showcase__img {
	display: block;
	width: 100%;
	max-height: 528px;
	object-fit: contain;
	filter: blur(4.95px);
	pointer-events: none;
}

.ph-play-experience {
	padding: 64px 0 96px;
}

.ph-play-experience__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 211px;
	gap: 48px;
	align-items: start;
}

.ph-play-experience__title {
	margin: 0 0 25px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 37px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-play-experience__text {
	margin: 0 0 25px;
	font-size: 18px;
	line-height: 31px;
	color: var(--ph-blue);
	max-width: 554px;
}

.ph-play-experience__cta {
	min-width: 307px;
}

.ph-play-experience__skills-badge {
	margin: 0 0 27px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	background: var(--ph-green);
	font-family: var(--ph-font-heading);
	font-size: 20px;
	font-weight: 600;
	text-transform: uppercase;
	color: #131e28;
	line-height: 1;
}

.ph-play-experience__skills-list {
	display: flex;
	flex-direction: column;
	gap: 27px;
}

.ph-play-experience__skill {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ph-font-body);
	font-size: 24px;
	font-weight: 600;
	color: var(--ph-blue);
}

.ph-play-experience__skill img {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
}

/* ==========================================================================
   Play — Walk-In Play
   ========================================================================== */

.ph-play-walkin {
	padding: 96px 0;
}

.ph-play-walkin__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
	gap: 48px;
	align-items: start;
}

.ph-play-walkin__badge {
	margin: 0 0 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	background: var(--ph-green);
	font-family: var(--ph-font-heading);
	font-size: 20px;
	font-weight: 600;
	text-transform: uppercase;
	color: #131e28;
	line-height: 1;
}

.ph-play-walkin__title {
	margin: 0 0 25px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 37px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-play-walkin__text {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 31px;
	color: var(--ph-blue);
	max-width: 554px;
}

.ph-play-walkin__how {
	background: var(--ph-white);
	border: 1px solid var(--ph-light-blue);
	border-radius: var(--ph-radius);
	padding: 32px;
}

.ph-play-walkin__how-label {
	margin: 0 0 20px;
	font-family: var(--ph-font-heading);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-play-walkin__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ph-play-walkin__list li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 10px;
	align-items: start;
	font-size: 16px;
	line-height: 1.4;
	color: var(--ph-blue);
}

.ph-play-walkin__list img {
	width: 24px;
	height: 24px;
	margin-top: 2px;
}

.ph-play-events {
	padding: 96px 0 96px;
	overflow: visible;
}

.ph-play-events .ph-container {
	overflow: visible;
	max-width: 1116px;
}

/*
 * Figma (content area): image 519×390 @ padding-top 62px, panel @ margin-top 135px,
 * min-height 502px (taller than home parties for tagline footer).
 */
.ph-play-events__layout {
	position: relative;
	display: grid;
	grid-template-columns: 519px minmax(0, 1fr);
	align-items: start;
	min-height: 637px;
}

.ph-play-events__circle {
	position: absolute;
	display: block;
	width: 235px;
	height: 235px;
	pointer-events: none;
	z-index: 0;
}

.ph-play-events__circle--tl {
	left: 37px;
	top: 0;
}

.ph-play-events__circle--br {
	left: calc(397px - 2rem);
	top: 295px;
	width: 188px;
	height: 188px;
}

.ph-play-events__photo {
	position: relative;
	z-index: 3;
	grid-column: 1;
	grid-row: 1;
	padding-top: 62px;
	overflow: visible;
}

.ph-play-events__photo-frame {
	position: relative;
	display: block;
	width: 100%;
	max-width: 519px;
	overflow: visible;
}

.ph-play-events__image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 519px;
	height: auto;
	aspect-ratio: 519 / 390;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.ph-play-events__panel {
	grid-column: 1 / -1;
	grid-row: 1;
	margin-left: 189px;
	margin-top: 135px;
	min-height: 502px;
	background: var(--ph-navy);
	border-radius: var(--ph-radius);
	color: var(--ph-white);
	padding: 56px 80px 72px 461px;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	overflow: visible;
	display: flex;
	flex-direction: column;
}

.ph-play-events__fork {
	position: absolute;
	top: -169px;
	right: 133px;
	width: 189px;
	height: auto;
	display: block;
	z-index: 6;
	pointer-events: none;
}

.ph-play-events__copy {
	position: relative;
	z-index: 1;
	max-width: 392px;
	flex: 0 0 auto;
}

.ph-play-events__title {
	margin: 0 0 20px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
}

.ph-play-events__title-accent {
	color: var(--ph-teal);
}

.ph-play-events__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 1.2;
}

.ph-play-events__body p {
	margin: 0;
}

.ph-play-events__cta {
	min-width: 211px;
}

.ph-play-events__tagline {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 32px;
	margin: 0;
	padding: 0 40px;
	text-align: center;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--ph-teal);
	white-space: nowrap;
}

.ph-play-reserve {
	padding: 64px 0 96px;
}

.ph-play-reserve__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 405px;
	gap: 48px;
	align-items: center;
	background: rgba(33, 54, 107, 0.1);
	border-radius: var(--ph-radius);
	padding: 48px 56px;
}

.ph-play-reserve__title {
	margin: 0 0 21px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-play-reserve__text {
	margin: 0 0 21px;
	font-size: 17px;
	line-height: 26px;
	color: var(--ph-blue);
	max-width: 479px;
}

.ph-play-reserve__cta {
	min-width: 213px;
}

.ph-play-reserve__media img {
	width: 100%;
	height: 232px;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

/* ==========================================================================
   Parties & Corporate Events Page
   ========================================================================== */

.ph-pce-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 56px 0;
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	overflow: hidden;
	min-height: 340px;
}

.ph-pce-hero__bg {
	position: absolute;
	inset: 0;
}

.ph-pce-hero__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-pce-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(141deg, rgba(0, 0, 0, 0) 56%, rgba(161, 205, 58, 0.4) 99%),
		rgba(0, 0, 0, 0.59);
}

.ph-pce-hero__inner {
	position: relative;
	z-index: 1;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	padding: 40px var(--ph-gutter) 40px 0;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
}

.ph-pce-hero__eyebrow {
	margin: 0 0 0 47px;
	font-size: 25px;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-pce-hero__titles {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.ph-pce-hero__title-stack {
	position: relative;
	display: inline-block;
}

.ph-pce-hero__title-stack--wide {
	margin-left: 47px;
}

.ph-pce-hero__title-teal {
	position: absolute;
	left: 0;
	top: 7px;
	width: 450px;
	max-width: calc(100% - 10px);
	height: 78px;
	background: var(--ph-teal);
	z-index: 0;
}

.ph-pce-hero__title-stack--wide .ph-pce-hero__title-teal {
	left: -10px;
	width: 545px;
	max-width: calc(100% + 10px);
}

.ph-pce-hero__title-navy {
	position: relative;
	z-index: 1;
	background: var(--ph-navy);
	width: 463px;
	max-width: calc(100% - 10px);
	min-height: 78px;
	margin-left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
}

.ph-pce-hero__title-stack--wide .ph-pce-hero__title-navy {
	width: 570px;
	margin-left: 10px;
}

.ph-pce-hero__title {
	font-family: var(--ph-font-heading);
	font-size: 50px;
	font-weight: 700;
	line-height: 26px;
	text-transform: uppercase;
	color: var(--ph-white);
	text-align: center;
	white-space: nowrap;
}

.ph-pce-intro {
	padding: 72px 0 48px;
}

.ph-pce-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 555px) minmax(0, 440px);
	gap: 48px;
	align-items: start;
	justify-content: space-between;
}

.ph-pce-intro__title {
	margin: 0 0 21px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 37px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-pce-intro__text {
	margin: 0 0 21px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
	max-width: 529px;
}

.ph-pce-intro__text p {
	margin: 0 0 15px;
}

.ph-pce-intro__text p:last-child {
	margin-bottom: 0;
}

.ph-pce-intro__cta {
	min-width: 307px;
}

.ph-pce-intro__img {
	width: 100%;
	height: 388px;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.ph-pce-types {
	padding: 0 0 72px;
}

.ph-pce-types__list {
	display: flex;
	flex-wrap: wrap;
	gap: 46px;
	align-items: center;
}

.ph-pce-types__item {
	display: flex;
	align-items: center;
	gap: 17px;
}

.ph-pce-types__icon {
	position: relative;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
}

.ph-pce-types__icon-bg {
	width: 48px;
	height: 48px;
}

.ph-pce-types__icon-glyph {
	position: absolute;
}

.ph-pce-types__item--birthday .ph-pce-types__icon-glyph {
	left: 16px;
	top: 9px;
	width: 15px;
	height: 30px;
}

.ph-pce-types__item--corporate .ph-pce-types__icon-glyph {
	left: 8px;
	top: 11px;
	width: 31px;
	height: 25px;
}

.ph-pce-types__item--private .ph-pce-types__icon-glyph {
	left: 11px;
	top: 13px;
	width: 26px;
	height: 25px;
}

.ph-pce-types__label {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ph-blue);
}

.ph-pce-why {
	padding: 0 0 96px;
	overflow: visible;
}

.ph-pce-why__wrap {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0 0 0 max(var(--ph-gutter), calc((100% - min(100%, var(--ph-container))) / 2 + var(--ph-gutter)));
}

.ph-pce-why__grid {
	display: grid;
	grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
}

.ph-pce-why__title {
	margin: 0 0 12px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 37px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-pce-why__line {
	display: block;
	margin-bottom: 12px;
}

.ph-pce-why__lead {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
	max-width: 460px;
}

.ph-pce-why__bullets-wrap {
	position: relative;
	min-height: 320px;
	padding: 40px 80px 40px 48px;
	display: flex;
	align-items: center;
}

.ph-pce-why__bullets-bg {
	position: absolute;
	inset: 0;
	background: rgba(33, 54, 107, 0.1);
	border-radius: var(--ph-radius) 0 0 var(--ph-radius);
	pointer-events: none;
}

.ph-pce-why__list {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 311px;
}

.ph-pce-why__item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	font-size: 18px;
	line-height: 23px;
	color: var(--ph-blue);
}

.ph-pce-why__check {
	flex-shrink: 0;
	margin-top: 2px;
}

.ph-pce-included {
	position: relative;
	padding: 0 0 96px;
	overflow: visible;
}

.ph-pce-included__wrap {
	--pce-panel-width: 78%;
	--pce-img-width: min(439px, 38vw);
	--pce-img-overlap: 210px;
	position: relative;
	min-height: 606px;
	padding-bottom: 100px;
	overflow: visible;
}

.ph-pce-included__panel {
	position: relative;
	z-index: 1;
	width: var(--pce-panel-width);
	background: var(--ph-navy);
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	min-height: 606px;
	overflow: visible;
}

.ph-pce-included__deco {
	position: absolute;
	width: 235px;
	height: 235px;
	pointer-events: none;
	z-index: 2;
}

/* Centrados en el borde derecho del panel, mitad fuera del bloque */
.ph-pce-included__deco--tr {
	top: -62px;
	left: calc(var(--pce-panel-width) - 118px);
}

/* Círculo inferior del wrap — solo desktop */
.ph-pce-included__deco--bl-desktop {
	top: 448px;
	left: calc(var(--pce-panel-width) - 324px);
}

.ph-pce-included__mobile-float {
	display: none;
}

.ph-pce-included__media--desktop {
	position: absolute;
	z-index: 4;
	top: 110px;
	left: calc(var(--pce-panel-width) - var(--pce-img-overlap));
	width: var(--pce-img-width);
}

.ph-pce-included__inner {
	position: relative;
	z-index: 1;
	padding: 55px 40px 55px 103px;
	max-width: 520px;
}

.ph-pce-included__title {
	margin: 0 0 14px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-pce-included__line {
	display: block;
	margin-bottom: 14px;
}

.ph-pce-included__lead {
	margin: 0 0 29px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--ph-white);
}

.ph-pce-included__list {
	margin: 0 0 29px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 21px;
}

.ph-pce-included__item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	font-size: 18px;
	line-height: 23px;
	color: var(--ph-white);
}

.ph-pce-included__check {
	flex-shrink: 0;
	margin-top: 2px;
}

.ph-pce-included__note {
	margin: 0 0 29px;
	font-style: italic;
	font-size: 16px;
	line-height: 1.2;
	color: var(--ph-green);
	max-width: 456px;
}

.ph-pce-included__cta {
	min-width: 307px;
}

.ph-pce-included__img {
	width: 100%;
	height: 498px;
	object-fit: cover;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.ph-pce-included__media--mobile {
	display: none;
}

.ph-pce-form {
	padding: 0 0 96px;
}

.ph-pce-form__shell {
	width: 100%;
	max-width: calc(586px + 48px + 463px + (var(--ph-gutter) * 2));
	margin: 0 auto;
	padding: 0 var(--ph-gutter);
	box-sizing: border-box;
}

.ph-pce-form__grid {
	display: grid;
	grid-template-columns: minmax(0, 586px) minmax(0, 463px);
	column-gap: 48px;
	row-gap: 32px;
	width: 100%;
	max-width: calc(586px + 48px + 463px);
	margin: 0 auto;
	align-items: start;
}

.ph-pce-form__banner {
	grid-column: 1;
	grid-row: 1;
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	align-self: center;
	width: 100%;
	max-width: 586px;
	background: var(--ph-lila);
	padding: 8px 24px;
	min-height: 62px;
}

.ph-pce-form__banner::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 100%;
	width: calc(max(0px, (100vw - var(--ph-sidebar-width) - 586px - 48px - 463px - (var(--ph-gutter) * 2)) / 2) + var(--ph-gutter));
	background: var(--ph-lila);
}

.ph-pce-form__banner-title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	color: #131e28;
	white-space: nowrap;
}

.ph-pce-form__intro {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	align-self: center;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-pce-form__layout {
	display: contents;
}

.ph-pce-form__event {
	grid-column: 1;
	grid-row: 2;
	max-width: 462px;
	width: 100%;
}

.ph-pce-form__contact {
	grid-column: 2;
	grid-row: 2;
	position: relative;
	overflow: hidden;
	background: var(--ph-navy);
	border-radius: var(--ph-radius);
	padding: 32px 40px 40px;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.ph-pce-form__contact-overlay {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
	border-radius: inherit;
	opacity: 0.18;
}

.ph-pce-form__contact-overlay img {
	position: absolute;
	top: 22%;
	left: -10%;
	width: 142%;
	max-width: none;
	height: auto;
}

.ph-pce-form__event,
.ph-pce-form__contact-fields {
	display: flex;
	flex-direction: column;
	gap: 29px;
}

.ph-pce-form__contact-fields {
	position: relative;
	z-index: 1;
}

.ph-pce-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ph-pce-form__label {
	font-family: var(--ph-font-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 29px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-pce-form__label--light {
	color: var(--ph-white);
}

.ph-pce-form__req {
	color: var(--ph-green);
}

.ph-pce-form__input {
	width: 100%;
	height: 46px;
	padding: 0 20px;
	border: none;
	border-radius: var(--ph-radius);
	background: var(--ph-white);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	font-family: inherit;
	font-size: 16px;
	line-height: 29px;
	color: var(--ph-blue);
}

.ph-pce-form__input::placeholder {
	color: #c8c7c7;
}

.ph-pce-form__select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2321366b' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 20px center;
	padding-right: 44px;
	color: #c8c7c7;
}

.ph-pce-form__select:valid,
.ph-pce-form__select option:not([disabled]) {
	color: var(--ph-blue);
}

.ph-pce-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 12px;
	line-height: 22px;
	color: var(--ph-white);
	cursor: pointer;
}

.ph-pce-form__consent input {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	accent-color: var(--ph-green);
	border: 1px solid var(--ph-green);
	border-radius: 5px;
}

.ph-pce-form__submit {
	align-self: flex-start;
	min-width: 139px;
	margin-top: 8px;
}

.ph-pce-form__success {
	display: none;
	grid-column: 1 / -1;
	width: 100%;
	max-width: calc(586px + 48px + 463px);
	margin: 0 auto;
	padding: 48px 40px;
	background: var(--ph-lila);
	border-radius: var(--ph-radius);
	text-align: center;
	box-sizing: border-box;
}

.ph-pce-form__success-title {
	margin: 0 0 16px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: #131e28;
}

.ph-pce-form__success-text {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-pce-form__shell--success .ph-pce-form__banner,
.ph-pce-form__shell--success .ph-pce-form__intro,
.ph-pce-form__shell--success .ph-pce-form__layout {
	display: none;
}

.ph-pce-form__shell--success .ph-pce-form__success {
	display: block;
}

.ph-pce-form__shell--success .ph-pce-form__grid {
	display: block;
}

/* ==========================================================================
   Join / Memberships Page
   ========================================================================== */

.ph-join-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 0 0;
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	overflow: hidden;
	min-height: 340px;
}

.ph-join-hero__bg {
	position: absolute;
	inset: 0;
}

.ph-join-hero__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-join-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(141deg, rgba(0, 0, 0, 0) 56%, rgba(161, 205, 58, 0.4) 99%),
		rgba(0, 0, 0, 0.59);
}

.ph-join-hero__inner {
	position: relative;
	z-index: 1;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 40px var(--ph-gutter) 40px 0;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
}

.ph-join-hero__title-stack {
	position: relative;
	display: block;
}

.ph-join-hero__title-teal {
	position: absolute;
	left: 0;
	top: 7px;
	width: 653px;
	max-width: 100%;
	height: 78px;
	background: var(--ph-teal);
	z-index: 0;
}

.ph-join-hero__title-navy {
	position: relative;
	z-index: 1;
	background: var(--ph-navy);
	width: 673px;
	max-width: 100%;
	min-height: 78px;
	display: flex;
	align-items: center;
	padding: 16px 32px;
}

.ph-join-hero__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 50px;
	font-weight: 700;
	line-height: 26px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-join-hero__lead {
	margin: 0 0 0 2rem;
	max-width: 443px;
	font-size: 20px;
	font-weight: 700;
	line-height: 23px;
	color: var(--ph-white);
}

.ph-join-intro {
	padding: 56px 0 40px;
}

.ph-join-intro__grid {
	display: grid;
	grid-template-columns: 475px 1fr;
	gap: 51px;
	align-items: start;
}

.ph-join-intro__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 44px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-join-intro__text {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
	max-width: 489px;
}

.ph-join-compare {
	padding: 0 0 48px;
}

.ph-join-compare__wrap {
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter) 0 0;
}

.ph-join-compare__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ph-join-compare__table {
	--ph-compare-label: 321px;
	--ph-compare-tier: 155px;
	--ph-compare-gap: 17px;
	--ph-compare-row-action: 72px;
	display: flex;
	align-items: stretch;
	gap: var(--ph-compare-gap);
	width: 100%;
	max-width: var(--ph-container);
	min-width: calc(var(--ph-compare-label) + (var(--ph-compare-tier) * 4) + (var(--ph-compare-gap) * 4));
}

.ph-join-compare__labels {
	flex: 0 0 var(--ph-compare-label);
	display: grid;
	grid-template-rows: 90px 40px 40px 40px 40px 40px 40px 50px 40px 40px 40px var(--ph-compare-row-action);
	gap: 10px;
	align-content: start;
}

.ph-join-compare__label {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35em;
	justify-content: flex-start;
	padding: 0 16px 0 0;
	border-top: 1px solid rgba(33, 54, 107, 0.15);
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-join-compare__label:has(.ph-join-compare__label-small) {
	flex-wrap: nowrap;
	white-space: nowrap;
}

.ph-join-compare__label--head {
	border-top: none;
}

.ph-join-compare__label--foot {
	border-top: 1px solid rgba(33, 54, 107, 0.15);
}

.ph-join-compare__label-small {
	display: inline;
	font-size: 14px;
	line-height: inherit;
}

.ph-join-compare__tiers {
	flex: 1 1 0;
	display: flex;
	gap: var(--ph-compare-gap);
	min-width: 0;
}

.ph-join-compare__tier {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	display: grid;
	grid-template-rows: 90px 40px 40px 40px 40px 40px 40px 50px 40px 40px 40px var(--ph-compare-row-action);
	gap: 10px;
	align-content: start;
}

.ph-join-compare__pillar {
	position: absolute;
	top: 18px;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 31px;
	box-shadow: 0 2px 4px rgba(255, 255, 255, 0.2);
	z-index: 0;
}

.ph-join-compare__tier--diamond .ph-join-compare__pillar    { background: #efeeea; border: 1px solid rgba(0, 0, 0, 0.2); }
.ph-join-compare__tier--platinum .ph-join-compare__pillar   { background: #d3d3d3; border: 1px solid #b4b4b4; }
.ph-join-compare__tier--gold .ph-join-compare__pillar       { background: #b79d3e; border: 1px solid #a98f2f; }
.ph-join-compare__tier--non-member .ph-join-compare__pillar { background: #f5c06a; border: 1px solid #ce8e27; }

.ph-join-compare__tier-head,
.ph-join-compare__cell,
.ph-join-compare__action {
	position: relative;
	z-index: 1;
	width: 100%;
	justify-self: center;
}

.ph-join-compare__tier-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	padding-top: 0;
	text-align: center;
	grid-row: 1;
	min-height: 90px;
}

.ph-join-compare__badge {
	display: inline-block;
	background: var(--ph-green);
	color: var(--ph-navy);
	font-family: var(--ph-font-heading);
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 22px;
	white-space: nowrap;
	margin-top: 2px;
}

.ph-join-compare__tier-icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
}

.ph-join-compare__tier-name {
	font-family: var(--ph-font-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	text-transform: uppercase;
}

.ph-join-compare__tier--gold .ph-join-compare__tier-name {
	color: var(--ph-white);
}

.ph-join-compare__tier--diamond .ph-join-compare__tier-name,
.ph-join-compare__tier--platinum .ph-join-compare__tier-name {
	color: var(--ph-navy);
}

.ph-join-compare__tier--non-member .ph-join-compare__tier-name {
	color: var(--ph-blue);
}

.ph-join-compare__tier--platinum .ph-join-compare__tier-head {
	padding-bottom: 0;
}

.ph-join-compare__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border-top: 1px solid rgba(33, 54, 107, 0.15);
	text-align: center;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-join-compare__tier--gold .ph-join-compare__cell {
	color: var(--ph-white);
}

.ph-join-compare__cell--small {
	font-size: 16px;
	line-height: 14px;
}

.ph-join-compare__action {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 10px 8px 22px;
	border-top: 1px solid rgba(33, 54, 107, 0.15);
	grid-row: 12;
}

.ph-join-compare__signup {
	display: flex;
	width: 100%;
	max-width: 142px;
	padding: 10px 10px;
	font-size: 15px;
	line-height: 1;
	box-shadow: 0 4px 2px rgba(0, 0, 0, 0.25);
}

@media (min-width: 769px) {
	.ph-join-compare__scroll {
		overflow-x: visible;
	}

	.ph-join-compare__table {
		min-width: 0;
	}

	.ph-join-compare__labels {
		flex: 0 0 321px;
	}

	.ph-join-compare__tiers {
		flex: 1 1 0;
	}
}

.ph-join-plans {
	background: #e3e8f1;
	padding: 48px 0 56px;
}

.ph-join-plans__wrap {
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter) 0 0;
}

.ph-join-plans__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ph-join-plans__grid {
	display: flex;
	gap: 20px;
	min-width: min-content;
}

.ph-join-plan {
	flex: 0 0 325px;
}

.ph-join-plan__shell {
	position: relative;
	padding-top: 24px;
}

.ph-join-plan__shell::before {
	content: '';
	position: absolute;
	inset: 24px 0 0;
	border-radius: 31px;
	box-shadow: 0 2px 4px rgba(255, 255, 255, 0.2);
	z-index: 0;
}

.ph-join-plan--diamond .ph-join-plan__shell::before {
	background: #efeeea;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.ph-join-plan--platinum .ph-join-plan__shell::before {
	background: #d3d3d3;
	border: 1px solid #b4b4b4;
}

.ph-join-plan--gold .ph-join-plan__shell::before {
	background: #b79d3e;
	border: 1px solid #a98f2f;
}

.ph-join-plan__icon {
	position: relative;
	z-index: 1;
	display: block;
	width: 49px;
	height: 49px;
	margin: 0 auto -12px;
}

.ph-join-plan__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 25px;
	padding: 45px 16px 32px;
	min-height: 523px;
}

.ph-join-plan__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 24px;
	text-transform: uppercase;
	text-align: center;
	color: var(--ph-navy);
}

.ph-join-plan--gold .ph-join-plan__title {
	color: var(--ph-white);
}

.ph-join-plan__desc {
	margin: 0;
	width: 100%;
	font-size: 16px;
	font-weight: 500;
	line-height: 21px;
	color: var(--ph-blue);
	text-align: left;
}

.ph-join-plan--gold .ph-join-plan__desc {
	color: var(--ph-white);
}

.ph-join-plan__divider {
	width: 100%;
	height: 1px;
	background: rgba(33, 54, 107, 0.2);
}

.ph-join-plan--gold .ph-join-plan__divider {
	background: rgba(255, 255, 255, 0.35);
}

.ph-join-plan__list {
	margin: 0;
	padding: 0 0 0 18px;
	width: 100%;
	list-style: disc;
	font-size: 16px;
	font-weight: 300;
	line-height: 21px;
	color: var(--ph-blue);
}

.ph-join-plan__list li {
	display: list-item;
}

.ph-join-plan__list li::marker {
	color: var(--ph-navy);
}

.ph-join-plan--gold .ph-join-plan__list {
	color: var(--ph-white);
}

.ph-join-plan--gold .ph-join-plan__list li::marker {
	color: var(--ph-white);
}

.ph-join-plan__list li + li {
	margin-top: 6px;
}

.ph-join-plan__cta {
	min-width: 207px;
	box-shadow: 0 4px 2px rgba(0, 0, 0, 0.25);
	margin-top: auto;
}

.ph-join-founders {
	background: var(--ph-navy);
	padding: 72px 0 64px;
}

.ph-join-founders__grid {
	display: grid;
	grid-template-columns: 442px 1fr;
	gap: 48px;
	align-items: start;
}

.ph-join-founders__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 44px;
	text-transform: uppercase;
	color: var(--ph-green);
}

.ph-join-founders__intro {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-white);
}

.ph-join-founders__intro strong {
	color: var(--ph-lila);
	font-weight: 600;
}

.ph-join-founders__details {
	margin-top: 21px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-white);
}

.ph-join-founders__price {
	margin: 0 0 15px;
}

.ph-join-founders__price strong {
	color: var(--ph-green);
}

.ph-join-founders__list {
	margin: 0;
	padding: 0 0 0 18px;
	list-style: disc;
}

.ph-join-founders__list li {
	display: list-item;
}

.ph-join-founders__list li::marker {
	color: var(--ph-white);
}

.ph-join-founders__list li + li {
	margin-top: 0;
}

.ph-join-founders__note {
	margin: 21px 0 0;
	font-size: 16px;
	font-style: italic;
	line-height: 21px;
	color: var(--ph-white);
}

.ph-join-founders__cta {
	margin-top: 21px;
	color: var(--ph-white);
}

.ph-join-founders__media {
	display: flex;
	justify-content: flex-end;
}

.ph-join-founders__photo {
	width: 100%;
	max-width: 431px;
	height: auto;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	object-fit: cover;
}

.ph-join-family {
	background: var(--ph-navy);
	padding: 0 0 120px;
}

.ph-join-family__grid {
	display: grid;
	grid-template-columns: 390px 1fr;
	gap: 48px;
	align-items: center;
}

.ph-join-family__photo {
	width: 100%;
	height: auto;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	object-fit: cover;
}

.ph-join-family__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 44px;
	text-transform: uppercase;
	color: var(--ph-green);
}

.ph-join-family__intro {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 26px;
	color: var(--ph-white);
}

.ph-join-family__details {
	margin-top: 21px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-white);
}

.ph-join-family__price {
	margin: 0 0 15px;
}

.ph-join-family__price strong {
	color: var(--ph-green);
}

.ph-join-family__list {
	margin: 0;
	padding: 0 0 0 18px;
	list-style: disc;
	font-weight: 400;
}

.ph-join-family__list li {
	display: list-item;
}

.ph-join-family__list li::marker {
	color: var(--ph-white);
}

.ph-join-family__list li + li {
	margin-top: 0;
}

.ph-join-family__note {
	margin: 21px 0 0;
	font-size: 16px;
	font-style: italic;
	line-height: 21px;
	color: var(--ph-white);
}

.ph-join-family__cta {
	margin-top: 21px;
	color: var(--ph-white);
}

.ph-join-worth {
	padding: 72px 0;
}

.ph-join-worth__grid {
	display: grid;
	grid-template-columns: 555px 1fr;
	gap: 48px;
	align-items: center;
}

.ph-join-worth__content {
	align-self: center;
}

.ph-join-worth__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 44px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-join-worth__intro {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-join-worth__list {
	margin: 21px 0 0;
	padding-left: 27px;
	list-style: disc;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-join-worth__list li {
	display: list-item;
}

.ph-join-worth__list li + li {
	margin-top: 0;
}

.ph-join-worth__cta {
	margin-top: 21px;
}

.ph-join-worth__media {
	display: flex;
	justify-content: flex-end;
}

.ph-join-worth__photo {
	width: 100%;
	max-width: 440px;
	height: 420px;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	object-fit: cover;
	object-position: center;
}

.ph-join-info {
	padding: 0 0 72px;
}

.ph-join-info__panel {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.ph-join-info__bg {
	position: absolute;
	inset: 0;
	background: #0a2340;
}

.ph-join-info__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.15;
}

.ph-join-info__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(180px, 211px) minmax(0, 1fr) minmax(200px, 235px);
	row-gap: 32px;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
	margin: 0 auto;
	padding: 48px var(--ph-gutter) 56px 0;
	color: var(--ph-white);
}

.ph-join-info__title {
	grid-column: 1 / 3;
	margin: 0;
	align-self: center;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	line-height: 1.2;
	text-transform: uppercase;
}

.ph-join-info__title-medium {
	font-weight: 500;
}

.ph-join-info__title-bold {
	font-weight: 700;
}

.ph-join-info__cta {
	grid-column: 3;
	grid-row: 1;
	justify-self: center;
	align-self: center;
	flex-shrink: 0;
	margin: 0;
	min-width: 212px;
	font-size: 16px;
}

.ph-join-info__col {
	padding: 0 48px;
	font-size: 17px;
	line-height: 22px;
}

.ph-join-info__col:nth-child(3) {
	grid-column: 1;
	padding-left: 0;
}

.ph-join-info__col:nth-child(4) {
	grid-column: 2;
}

.ph-join-info__col:nth-child(5) {
	grid-column: 3;
	padding-right: 0;
}

.ph-join-info__col:nth-child(4),
.ph-join-info__col:nth-child(5) {
	border-left: 1px solid rgba(255, 255, 255, 0.35);
}

.ph-join-info__col p {
	margin: 0 0 16px;
}

.ph-join-info__col p:last-child {
	margin-bottom: 0;
}

.ph-join-info__tag {
	display: inline-block;
	margin-bottom: 12px;
	padding: 2px 8px;
	background: var(--ph-blue);
	font-size: 16px;
	font-weight: 600;
	line-height: 25px;
	text-transform: uppercase;
}

.ph-join-info__list {
	margin: 0;
	padding-left: 26px;
	list-style: disc;
}

.ph-join-info__list li {
	display: list-item;
}

.ph-join-info__list li + li {
	margin-top: 0;
}

.ph-join-cta {
	padding: 0;
}

.ph-join-cta__panel {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	min-height: 394px;
	overflow: hidden;
	box-shadow: none;
}

.ph-join-cta__bg {
	position: absolute;
	inset: 0;
	background: #06172b;
}

.ph-join-cta__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.2;
}

.ph-join-cta__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 363px 1fr;
	gap: 26px;
	align-items: center;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
	margin: 0 auto;
	padding: 48px var(--ph-gutter) 48px 0;
	min-height: 394px;
}

.ph-join-cta__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 35px;
	font-weight: 700;
	line-height: 50px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-join-cta__waitlist {
	margin-top: 15px;
	min-width: 256px;
	font-size: 17px;
}

.ph-join-cta__headline {
	margin: 0 0 15px;
	font-size: 20px;
	font-weight: 700;
	line-height: 26px;
	color: var(--ph-green);
}

.ph-join-cta__text {
	margin: 0;
	max-width: 555px;
	font-size: 20px;
	line-height: 26px;
	color: var(--ph-white);
}

/* ==========================================================================
   Pro Shop page
   ========================================================================== */

.ph-proshop-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 0 0;
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	overflow: hidden;
	min-height: 320px;
}

.ph-proshop-hero__bg {
	position: absolute;
	inset: 0;
}

.ph-proshop-hero__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-proshop-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(141deg, rgba(0, 0, 0, 0) 56%, rgba(161, 205, 58, 0.4) 99%),
		rgba(0, 0, 0, 0.59);
}

.ph-proshop-hero__inner {
	position: relative;
	z-index: 1;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px var(--ph-gutter) 40px 0;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
}

.ph-proshop-hero__title-stack {
	position: relative;
	display: block;
}

.ph-proshop-hero__title-teal {
	position: absolute;
	left: 0;
	top: 7px;
	width: 775px;
	max-width: 100%;
	height: 78px;
	background: var(--ph-teal);
	z-index: 0;
}

.ph-proshop-hero__title-navy {
	position: relative;
	z-index: 1;
	background: var(--ph-navy);
	width: 799px;
	max-width: 100%;
	min-height: 78px;
	display: flex;
	align-items: center;
	padding: 16px 32px;
}

.ph-proshop-hero__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 50px;
	font-weight: 700;
	line-height: 26px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-proshop-hero__title-break {
	display: none;
}

.ph-proshop-brands {
	padding: 32px 0 64px;
}

.ph-proshop-brands__wrap {
	max-width: var(--ph-container);
	margin: 0 auto;
	padding: 0 var(--ph-gutter);
	text-align: center;
}

.ph-proshop-brands__label {
	margin: 0 0 24px;
	font-family: var(--ph-font-heading);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ph-dark-green);
}

.ph-proshop-brands__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 24px;
}

.ph-proshop-brands__tile {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 220px;
	height: 96px;
	padding: 0 28px;
	border-radius: var(--ph-radius);
}

.ph-proshop-brands__tile--dark {
	background: var(--ph-navy);
}

.ph-proshop-brands__tile--light {
	background: var(--ph-white);
	border: 1px solid var(--ph-light-blue);
}

.ph-proshop-brands__logo {
	display: block;
	max-width: 100%;
	max-height: 56px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.ph-proshop-products {
	padding: 48px 0 56px;
}

.ph-proshop-products__wrap {
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter) 0 0;
}

.ph-proshop-products__title {
	margin: 0 0 32px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 44px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-proshop-products__grid {
	display: grid;
	grid-template-columns: repeat(4, 217px);
	gap: 25px;
}

.ph-proshop-product {
	display: flex;
	flex-direction: column;
	width: 217px;
}

.ph-proshop-product--hidden {
	display: none;
}

.ph-proshop-product__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 195px;
	overflow: hidden;
}

.ph-proshop-product__media--empty {
	background: #f2f2f5;
	border: 1px dashed #c7c7d1;
	border-radius: var(--ph-radius-sm);
}

.ph-proshop-product__media-label {
	max-width: 140px;
	font-size: 13px;
	font-style: italic;
	text-align: center;
	color: #8a8a97;
}

.ph-proshop-product__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ph-proshop-product__brand {
	margin: 8px 0 0;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	color: var(--ph-black, #000);
}

.ph-proshop-product__name {
	margin: 4px 0 0;
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	color: var(--ph-black, #000);
}

.ph-proshop-product__price {
	margin: 12px 0 0;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	color: var(--ph-black, #000);
}

.ph-proshop-products__cta {
	margin-top: 32px;
	min-width: 207px;
	height: 45px;
	font-size: 16px;
}

.ph-proshop-cta {
	padding: 0;
}

.ph-proshop-cta__panel {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	min-height: 394px;
	overflow: hidden;
	box-shadow: none;
}

.ph-proshop-cta__bg {
	position: absolute;
	inset: 0;
	background: #06172b;
}

.ph-proshop-cta__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.2;
}

.ph-proshop-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: flex-start;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
	margin: 0 auto;
	padding: 48px var(--ph-gutter) 48px 0;
	min-height: 394px;
	justify-content: center;
}

.ph-proshop-cta__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 35px;
	font-weight: 700;
	line-height: 50px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-proshop-cta__text {
	margin: 0;
	max-width: 644px;
	font-size: 20px;
	line-height: 26px;
	color: var(--ph-white);
}

.ph-proshop-cta__btn {
	align-self: flex-start;
	min-width: 256px;
	height: 45px;
	font-size: 17px;
}

/* ==========================================================================
   Careers page
   ========================================================================== */

.ph-careers-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 0 0;
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	overflow: hidden;
	min-height: 340px;
}

.ph-careers-hero__bg {
	position: absolute;
	inset: 0;
}

.ph-careers-hero__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-careers-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(141deg, rgba(0, 0, 0, 0) 56%, rgba(161, 205, 58, 0.4) 99%),
		rgba(0, 0, 0, 0.59);
}

.ph-careers-hero__inner {
	position: relative;
	z-index: 1;
	min-height: 340px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 40px var(--ph-gutter) 40px 0;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
}

.ph-careers-hero__title-stack {
	position: relative;
	display: block;
}

.ph-careers-hero__title-teal {
	position: absolute;
	left: 0;
	top: 7px;
	width: 370px;
	max-width: 100%;
	height: 78px;
	background: var(--ph-teal);
	z-index: 0;
}

.ph-careers-hero__title-navy {
	position: relative;
	z-index: 1;
	background: var(--ph-navy);
	width: 381px;
	max-width: 100%;
	min-height: 78px;
	display: flex;
	align-items: center;
	padding: 16px 32px;
}

.ph-careers-hero__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 50px;
	font-weight: 700;
	line-height: 26px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-careers-hero__lead {
	margin: 0 0 0 2rem;
	max-width: 443px;
	font-size: 20px;
	font-weight: 700;
	line-height: 23px;
	color: var(--ph-white);
}

.ph-careers-positions {
	padding: 48px 0 56px;
}

.ph-careers-positions__wrap {
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter) 0 0;
}

.ph-careers-positions__intro {
	display: grid;
	grid-template-columns: minmax(0, 430px) minmax(0, 463px);
	gap: 85px;
	align-items: start;
	margin-bottom: 40px;
}

.ph-careers-positions__heading {
	display: flex;
	align-items: center;
	gap: 18px;
}

.ph-careers-positions__icon {
	flex-shrink: 0;
	width: 30px;
	height: auto;
}

.ph-careers-positions__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 44px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-careers-positions__text {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-careers-positions__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 439px));
	gap: 64px 24px;
}

.ph-careers-positions__item.ph-careers-job--collapsed {
	display: block;
}

.ph-careers-positions__more {
	display: none;
}

.ph-careers-positions__empty {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-careers-job {
	position: relative;
	padding-top: 25px;
}

.ph-careers-job__icon {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 49px;
	height: 49px;
	z-index: 2;
}

.ph-careers-job__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px;
	min-height: 198px;
	padding: 44px 24px 24px;
	border: 1px solid var(--ph-green);
	border-radius: 31px;
	box-shadow: 0 2px 4px rgba(255, 255, 255, 0.2);
	text-align: center;
}

.ph-careers-job--has-dept .ph-careers-job__card {
	min-height: 224px;
}

.ph-careers-job__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	width: 100%;
}

.ph-careers-job__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 25px;
	font-weight: 700;
	line-height: 24px;
	text-transform: uppercase;
	color: var(--ph-dark-green);
}

.ph-careers-job__department {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 17px;
	font-weight: 700;
	line-height: 24px;
	text-transform: uppercase;
	color: var(--ph-dark-green);
}

.ph-careers-job__roles {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 21px;
	color: var(--ph-blue);
}

.ph-careers-job__cta {
	min-width: 207px;
	height: 40px;
	padding: 0 24px;
	font-size: 16px;
	font-weight: 500;
}

.ph-careers-youth {
	display: grid;
	grid-template-columns: minmax(0, 526px) minmax(0, 440px);
	gap: 48px;
	align-items: center;
	background: #e3e8f1;
	padding: 34px 0 34px max(var(--ph-gutter), calc((100% - min(100%, var(--ph-container))) / 2 + var(--ph-gutter)));
	margin-top: 48px;
}

.ph-careers-youth__media {
	min-height: 418px;
	background: #c8c7c7;
	overflow: hidden;
}

.ph-careers-youth__photo {
	width: 100%;
	height: 100%;
	min-height: 418px;
	object-fit: cover;
}

.ph-careers-youth__content {
	padding-right: var(--ph-gutter);
}

.ph-careers-youth__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 25px;
	font-weight: 700;
	line-height: 35px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-careers-youth__text {
	margin: 23px 0 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-careers-youth__cta {
	margin-top: 23px;
	min-width: 230px;
	height: 45px;
	font-size: 16px;
}

.ph-careers-join {
	padding: 72px 0;
}

.ph-careers-join__wrap {
	display: grid;
	grid-template-columns: minmax(0, 555px) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter) 0 0;
}

.ph-careers-join__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 35px;
	font-weight: 700;
	line-height: 44px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-careers-join__copy {
	margin-top: 21px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-careers-join__copy p {
	margin: 0 0 15px;
}

.ph-careers-join__copy p:last-child {
	margin-bottom: 0;
}

.ph-careers-join__cta {
	margin-top: 21px;
	min-width: 307px;
	height: 45px;
	font-size: 16px;
}

.ph-careers-join__media {
	position: relative;
	min-height: 320px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.ph-careers-join__deco {
	position: absolute;
	width: 165px;
	height: 165px;
	pointer-events: none;
}

.ph-careers-join__deco--tl {
	top: 50%;
	right: calc(345px - 72px);
	transform: translateY(calc(-50% - 86px));
}

.ph-careers-join__deco--br {
	top: 50%;
	right: -28px;
	transform: translateY(calc(-50% + 86px));
}

.ph-careers-join__photo {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 345px;
	height: 279px;
	border-radius: var(--ph-radius);
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	object-fit: cover;
}

/* ==========================================================================
   Job single
   ========================================================================== */

.ph-job-hero {
	position: relative;
	background: #101d40;
	overflow: hidden;
}

.ph-job-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.ph-job-hero__texture {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.13;
}

.ph-job-hero__wrap {
	position: relative;
	z-index: 1;
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 40px var(--ph-gutter) 48px var(--ph-gutter);
}

.ph-job-hero__back {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-green);
	text-decoration: none;
	text-transform: uppercase;
}

.ph-job-hero__back img {
	width: 7px;
	height: 14px;
}

.ph-job-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
	gap: 48px;
	align-items: start;
}

.ph-job-hero__heading {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 24px;
}

.ph-job-hero__icon {
	flex-shrink: 0;
	width: 30px;
	height: auto;
}

.ph-job-hero__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 44px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-job-hero__meta {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ph-job-hero__meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	font-size: 18px;
	line-height: 20px;
	color: var(--ph-white);
}

.ph-job-hero__meta-row dt {
	margin: 0;
	font-weight: 700;
	color: var(--ph-green);
}

.ph-job-hero__meta-row dd {
	margin: 0;
	font-weight: 400;
}

.ph-job-hero__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 24px;
}

.ph-job-hero__photo {
	width: 100%;
	max-width: 280px;
	height: 236px;
	border-radius: 24px;
	object-fit: cover;
}

.ph-job-hero__cta {
	min-width: 175px;
	height: 45px;
	font-size: 16px;
}

.ph-job-hero__cta--mobile {
	display: none;
	margin-top: 24px;
}

.ph-job-body {
	padding: 0 0 56px;
}

.ph-job-body__wrap {
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter);
	display: flex;
	flex-direction: column;
	gap: 77px;
}

.ph-job-section {
	max-width: 508px;
}

.ph-job-section--band {
	position: relative;
	max-width: none;
	padding: 48px 0;
}

.ph-job-section--band::before {
	content: '';
	position: absolute;
	inset: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: #e3e8f1;
	z-index: 0;
}

.ph-job-section--band > * {
	position: relative;
	z-index: 1;
	max-width: 508px;
}

.ph-job-section__title {
	margin: 0 0 23px;
	font-family: var(--ph-font-heading);
	font-size: 25px;
	font-weight: 700;
	line-height: 35px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-job-section__list {
	margin: 0;
	padding-left: 27px;
	list-style: disc;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-job-section__list li {
	display: list-item;
}

.ph-job-section__list li + li {
	margin-top: 0;
}

.ph-job-section__copy {
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-job-section__copy p {
	margin: 0 0 15px;
}

.ph-job-section__copy p:last-child {
	margin-bottom: 0;
}

.ph-job-body__cta {
	align-self: flex-start;
	min-width: 230px;
	height: 45px;
	font-size: 16px;
}

.ph-job-eoe {
	display: grid;
	grid-template-columns: minmax(0, 508px) minmax(0, 382px);
	gap: 48px;
	align-items: stretch;
	justify-content: space-between;
	background: #e3e8f1;
	padding: 0 0 0 max(var(--ph-gutter), calc((100% - min(100%, var(--ph-container))) / 2 + var(--ph-gutter)));
}

.ph-job-eoe__wrap {
	display: contents;
}

.ph-job-eoe__content {
	max-width: 508px;
	align-self: center;
	padding: 48px 0;
}

.ph-job-eoe__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 25px;
	font-weight: 700;
	line-height: 35px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-job-eoe__divider {
	width: 54px;
	height: auto;
	margin: 20px 0;
}

.ph-job-eoe__copy {
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-job-eoe__copy p {
	margin: 0 0 15px;
}

.ph-job-eoe__copy p:last-child {
	margin-bottom: 0;
}

.ph-job-eoe__media {
	position: relative;
	justify-self: end;
	align-self: stretch;
	width: 100%;
	max-width: 382px;
	min-height: 418px;
	overflow: hidden;
}

.ph-job-eoe__photo {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* ==========================================================================
   Food Hall page
   ========================================================================== */

.ph-foodhall-top {
	background: #e3e8f1;
	padding-bottom: 0;
}

.ph-foodhall-top__wrap {
	max-width: none;
	margin: 0;
	padding: 0;
}

.ph-foodhall-hero {
	position: relative;
	margin: 40px var(--ph-gutter) 0 0;
	min-height: 340px;
	border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
	overflow: hidden;
}

.ph-foodhall-hero__media {
	position: absolute;
	inset: 0;
}

.ph-foodhall-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-foodhall-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(141deg, rgba(0, 0, 0, 0) 56%, rgba(161, 205, 58, 0.4) 99%),
		rgba(0, 0, 0, 0.59);
}

.ph-foodhall-hero__title-stack {
	position: absolute;
	left: 0;
	top: 81px;
	z-index: 2;
}

.ph-foodhall-hero__title-teal {
	position: absolute;
	left: 0;
	top: 7px;
	width: 877px;
	max-width: calc(100vw - var(--ph-sidebar-width) - var(--ph-gutter) * 2);
	height: 78px;
	background: var(--ph-teal);
	z-index: 0;
}

.ph-foodhall-hero__title-navy {
	position: relative;
	z-index: 1;
	background: var(--ph-navy);
	width: 903px;
	max-width: calc(100vw - var(--ph-sidebar-width) - var(--ph-gutter) * 2);
	min-height: 78px;
	display: flex;
	align-items: center;
	padding: 16px 32px;
}

.ph-foodhall-hero__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 50px;
	font-weight: 700;
	line-height: 26px;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-foodhall-hero__title-break {
	display: none;
}

.ph-foodhall-hero__intro {
	position: absolute;
	left: 0;
	bottom: calc(40px - 1rem);
	z-index: 2;
	max-width: 673px;
	padding: 0 var(--ph-gutter) 0 4.5rem;
}

.ph-foodhall-hero__text {
	margin: 0 0 14px;
	font-family: var(--ph-font-body);
	font-size: 20px;
	font-weight: 700;
	line-height: 23px;
	color: var(--ph-white);
}

.ph-foodhall-hero__cta {
	min-width: 145px;
	height: 45px;
	padding: 0 24px;
	font-size: 16px;
}

.ph-foodhall-explore {
	background: #e3e8f1;
	padding: 96px 0 56px;
}

.ph-foodhall-explore__wrap {
	display: flex;
	align-items: center;
	gap: 39px;
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter) 0 0;
}

.ph-foodhall-explore__heading {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 0 0 auto;
}

.ph-foodhall-explore__icon {
	flex-shrink: 0;
}

.ph-foodhall-explore__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 23px;
	font-weight: 700;
	line-height: 32px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-foodhall-explore__text {
	margin: 0;
	flex: 1;
	max-width: 463px;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-foodhall-banner {
	width: 100%;
	overflow: hidden;
	background: #c8c7c7;
}

.ph-foodhall-banner__img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ph-foodhall-banner--mid {
	position: relative;
	height: 320px;
	max-height: 320px;
	overflow: hidden;
}

.ph-foodhall-banner--mid .ph-foodhall-banner__img {
	position: absolute;
	left: 0;
	top: -135.57%;
	width: 100%;
	height: 299.38%;
	max-width: none;
	object-fit: cover;
}

.ph-foodhall-menu {
	padding: 56px 0 80px;
}

.ph-foodhall-menu__wrap {
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter) 0 0;
}

.ph-foodhall-menu__title {
	margin: 0 0 40px;
	font-family: var(--ph-font-heading);
	font-size: 25px;
	font-weight: 700;
	line-height: 32px;
	text-transform: uppercase;
	text-align: center;
	color: var(--ph-blue);
}

.ph-foodhall-menu__tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 29px;
	margin-bottom: 48px;
}

.ph-foodhall-menu__tab {
	border: none;
	background: var(--ph-blue);
	color: var(--ph-white);
	font-family: var(--ph-font-heading);
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	min-width: 167px;
	height: 38px;
	padding: 0 16px;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.ph-foodhall-menu__tab--wide {
	min-width: 207px;
}

.ph-foodhall-menu__tab.is-active {
	background: var(--ph-green);
	color: #101f46;
}

.ph-foodhall-menu__panel[hidden] {
	display: none !important;
}

.ph-foodhall-menu__carousel-wrap {
	position: relative;
	width: 100%;
}

.ph-foodhall-menu__vendor-brand {
	flex: 0 0 197px;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 30px;
	min-height: 303px;
}

.ph-foodhall-menu__vendor-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	height: 141px;
	border-radius: var(--ph-radius);
	overflow: hidden;
	background: #000;
}

.ph-foodhall-menu__vendor-logo img {
	max-width: 87%;
	max-height: 29%;
	object-fit: contain;
}

.ph-foodhall-menu__vendor-logo--cover {
	width: 170px;
	height: 141px;
	background: transparent;
}

.ph-foodhall-menu__vendor-logo--cover img {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
}

.ph-foodhall-menu__vendor-logo--habibis {
	background: #000;
}

.ph-foodhall-menu__view-menu {
	min-width: 170px;
	height: 45px;
	padding: 0 20px;
	font-size: 16px;
}

.ph-foodhall-menu__carousel {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.ph-foodhall-menu__carousel::-webkit-scrollbar {
	display: none;
}

.ph-foodhall-item {
	flex: 0 0 197px;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	background: var(--ph-white);
	border: 1px solid var(--ph-green);
	border-radius: var(--ph-radius);
	min-height: 250px;
	overflow: hidden;
}

.ph-foodhall-item__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 104px;
	margin: 27px 24px 0;
	overflow: hidden;
}

.ph-foodhall-item__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-foodhall-item__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 16px 28px;
	flex: 1;
}

.ph-foodhall-item__name {
	margin: 28px 0 0;
	font-family: var(--ph-font-body);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-foodhall-item__price {
	margin: 4px 0 0;
	font-family: var(--ph-font-body);
	font-size: 15px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.2;
	color: var(--ph-blue);
}

.ph-foodhall-item__note {
	margin: 12px 0 0;
	font-family: var(--ph-font-body);
	font-size: 12px;
	font-style: italic;
	line-height: 13px;
	color: var(--ph-blue);
}

.ph-foodhall-item--drinks {
	min-height: 250px;
}

.ph-foodhall-item--drinks .ph-foodhall-item__media {
	height: 144px;
	margin-top: 27px;
}

.ph-foodhall-item--drinks .ph-foodhall-item__name {
	margin-top: 20px;
}

.ph-foodhall-menu__unavailable {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	max-width: 726px;
	min-height: 164px;
	margin: 0 auto;
	padding: 24px var(--ph-gutter);
	text-align: center;
}

.ph-foodhall-menu__unavailable-title {
	margin: 0;
	font-family: var(--ph-font-body);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
	color: #101f46;
}

.ph-foodhall-menu__unavailable-text {
	margin: 0;
	font-family: var(--ph-font-body);
	font-size: 25px;
	font-weight: 500;
	line-height: 1.2;
	color: #101f46;
}

.ph-foodhall-menu__unavailable-icon {
	display: block;
	width: 86px;
	height: auto;
}

.ph-foodhall-menu__next {
	position: absolute;
	right: -22px;
	top: 50%;
	transform: translateY(-50%);
	border: none;
	background: transparent;
	padding: 0;
	cursor: pointer;
	line-height: 0;
}

.ph-foodhall-menu__next img {
	display: block;
	width: 44px;
	height: 44px;
}

.ph-foodhall-menu__progress {
	position: relative;
	width: 124px;
	height: 9px;
	margin: 24px auto 0;
	border-radius: 20px;
	overflow: hidden;
	background: #e7e7e7;
	display: none;
}

.ph-foodhall-menu__progress-fill {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 0;
	background: #c6c6c6;
	border-radius: 20px;
	transition: width 0.15s ease;
}

.ph-foodhall-steps {
	margin: 6rem 0 2rem;
	padding: 0 var(--ph-gutter) 64px 0;
	overflow: visible;
}

.ph-foodhall-steps__panel {
	position: relative;
	max-width: calc(var(--ph-container) + var(--ph-gutter));
	margin: 0 auto;
	background: var(--ph-navy);
	border-radius: var(--ph-radius);
	padding: 41px 48px 48px;
	overflow: visible;
}

.ph-foodhall-steps__deco {
	position: absolute;
	top: -169px;
	right: 48px;
	width: 189px;
	height: auto;
	display: block;
	z-index: 6;
	pointer-events: none;
}

.ph-foodhall-steps__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin-bottom: 35px;
}

.ph-foodhall-steps__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	text-align: center;
	color: var(--ph-white);
	max-width: 557px;
}

.ph-foodhall-steps__divider {
	display: block;
	width: 54px;
	height: auto;
}

.ph-foodhall-steps__lead {
	margin: 0;
	font-family: var(--ph-font-body);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	color: var(--ph-white);
}

.ph-foodhall-steps__list {
	display: flex;
	justify-content: center;
	gap: 51px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ph-foodhall-steps__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 249px;
}

.ph-foodhall-steps__number {
	position: relative;
	width: 49px;
	height: 49px;
	margin-bottom: 10px;
}

.ph-foodhall-steps__circle {
	display: block;
	width: 100%;
	height: 100%;
}

.ph-foodhall-steps__digit {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ph-font-body);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-foodhall-steps__label {
	margin: 0 0 10px;
	font-family: var(--ph-font-body);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--ph-teal);
}

.ph-foodhall-steps__copy {
	margin: 0;
	font-family: var(--ph-font-body);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--ph-white);
}

/* ==========================================================================
   Food Hall — Self-Pour Tap Wall
   ========================================================================== */

.ph-foodhall-tapwall {
	margin: 0 0 6rem;
}

.ph-foodhall-tapwall__banner {
	position: relative;
	height: 320px;
	max-height: 320px;
	overflow: hidden;
}

.ph-foodhall-tapwall__banner .ph-foodhall-banner__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ph-foodhall-tapwall__wrap {
	max-width: var(--ph-container);
	margin: 0 auto;
	padding: 48px var(--ph-gutter) 0;
}

.ph-foodhall-tapwall__intro {
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.ph-foodhall-tapwall__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-foodhall-tapwall__tagline {
	margin: 10px 0 0;
	font-family: var(--ph-font-heading);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ph-dark-green);
}

.ph-foodhall-tapwall__text {
	margin: 20px 0 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-foodhall-tapwall__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 32px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.ph-foodhall-tapwall__list li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 8px;
	align-items: center;
	font-size: 18px;
	line-height: 22px;
	color: var(--ph-blue);
}

.ph-foodhall-tapwall__check {
	width: 24px;
	height: 24px;
}

.ph-foodhall-tapwall__panel {
	position: relative;
	margin-top: 56px;
	background: var(--ph-navy);
	border-radius: var(--ph-radius);
	padding: 41px 48px 48px;
}

.ph-foodhall-tapwall__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin-bottom: 35px;
}

.ph-foodhall-tapwall__how-title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	text-align: center;
	color: var(--ph-white);
}

.ph-foodhall-tapwall__divider {
	display: block;
	width: 54px;
	height: auto;
}

.ph-foodhall-tapwall__lead {
	margin: 0;
	font-family: var(--ph-font-body);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	color: var(--ph-white);
}

.ph-foodhall-tapwall__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ph-foodhall-tapwall__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ph-foodhall-tapwall__number {
	position: relative;
	width: 49px;
	height: 49px;
	margin-bottom: 14px;
}

.ph-foodhall-tapwall__circle {
	display: block;
	width: 100%;
	height: 100%;
}

.ph-foodhall-tapwall__digit {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ph-font-body);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: var(--ph-blue);
}

.ph-foodhall-tapwall__step-copy {
	margin: 0;
	font-family: var(--ph-font-body);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--ph-white);
}

.ph-foodhall-tapwall__note {
	margin: 40px 0 0;
	text-align: center;
	font-size: 18px;
	line-height: 1.3;
	color: var(--ph-blue);
}

.ph-foodhall-tapwall__closing {
	margin: 8px 0 0;
	text-align: center;
	font-size: 18px;
	line-height: 1.4;
	color: var(--ph-blue);
}

.ph-foodhall-cta {
	position: relative;
	overflow: visible;
}

.ph-foodhall-cta__band {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 331px;
	background: #e3e8f1;
	padding: 34px max(var(--ph-gutter), calc((100% - min(100%, var(--ph-container))) / 2 + var(--ph-gutter))) 34px max(var(--ph-gutter), calc((100% - min(100%, var(--ph-container))) / 2 + var(--ph-gutter)));
}

.ph-foodhall-cta__mockup {
	position: absolute;
	top: -87px;
	left: max(var(--ph-gutter), calc((100% - min(100%, var(--ph-container))) / 2 + var(--ph-gutter)));
	width: 339px;
	height: 529px;
	overflow: hidden;
	z-index: 2;
	pointer-events: none;
}

.ph-foodhall-cta__phone {
	position: absolute;
	left: -68.33%;
	top: -8.36%;
	width: 240.9%;
	height: 115.92%;
	max-width: none;
	object-fit: cover;
}

.ph-foodhall-cta__content {
	max-width: 440px;
	padding-right: var(--ph-gutter);
}

.ph-foodhall-cta__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 25px;
	font-weight: 700;
	line-height: 35px;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-foodhall-cta__text {
	margin: 23px 0 0;
	font-size: 18px;
	line-height: 26px;
	color: var(--ph-blue);
}

.ph-foodhall-cta__btn {
	margin-top: 23px;
	min-width: 230px;
	height: 45px;
	font-size: 16px;
}

.ph-foodhall-banner--cta {
	position: relative;
	height: 267px;
	max-height: 267px;
	overflow: hidden;
}

.ph-foodhall-banner--cta .ph-foodhall-banner__img {
	width: 100%;
	height: 100%;
	min-height: 0;
	max-width: none;
	object-fit: cover;
	object-position: center center;
}

.ph-foodhall-faq {
	padding: 72px 0 80px;
}

.ph-foodhall-faq__wrap {
	max-width: calc(var(--ph-container) + var(--ph-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--ph-gutter) 0 0;
}

.ph-foodhall-faq__title {
	margin: 0 0 45px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-blue);
}

.ph-foodhall-faq__list {
	display: flex;
	flex-direction: column;
	gap: 23px;
}

.ph-foodhall-faq__item {
	background: var(--ph-white);
	border: 1px solid var(--ph-green);
	border-radius: var(--ph-radius);
	padding: 20px 21px;
}

.ph-foodhall-faq__question {
	margin: 0 0 10px;
	font-family: var(--ph-font-body);
	font-size: 19px;
	font-weight: 700;
	line-height: 22px;
	color: #0e1954;
}

.ph-foodhall-faq__answer {
	margin: 0;
	font-size: 16px;
	line-height: 25px;
	color: #000;
}

.ph-waitlist-modal {
	width: min(100% - 32px, 640px);
	padding: 0;
	border: none;
	background: transparent;
	overflow: visible;
}

.ph-waitlist-modal::backdrop {
	background: rgba(16, 31, 70, 0.72);
}

.ph-waitlist-modal__panel {
	position: relative;
	background: var(--ph-navy);
	border: 1px solid var(--ph-light-blue);
	border-radius: var(--ph-radius);
	padding: 40px 36px 36px;
	color: var(--ph-white);
}

.ph-waitlist-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	color: var(--ph-white);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

.ph-waitlist-modal__title {
	margin: 0 0 12px;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-waitlist-modal__lead {
	margin: 0 0 28px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--ph-white);
}

.ph-waitlist-modal__form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ph-waitlist-modal__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.ph-waitlist-modal__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.ph-waitlist-modal__label {
	font-family: var(--ph-font-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ph-white);
}

.ph-waitlist-modal__req {
	color: var(--ph-green);
}

.ph-waitlist-modal__input {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	border: none;
	border-radius: var(--ph-radius-sm);
	background: var(--ph-white);
	font-family: var(--ph-font-body);
	font-size: 16px;
	color: var(--ph-blue);
	box-sizing: border-box;
}

.ph-waitlist-modal__input::placeholder {
	color: #8a96b0;
}

.ph-waitlist-modal__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.35;
	color: var(--ph-white);
	cursor: pointer;
}

.ph-waitlist-modal__consent input {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--ph-green);
}

.ph-waitlist-modal__submit {
	align-self: flex-start;
	min-width: 139px;
	margin-top: 4px;
}

.ph-waitlist-modal__success {
	text-align: center;
	padding: 12px 0 4px;
}

.ph-waitlist-modal__success-title {
	margin: 0 0 12px;
	font-family: var(--ph-font-heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-waitlist-modal__success-text {
	margin: 0;
	font-size: 18px;
	line-height: 1.4;
	color: var(--ph-white);
}

.ph-waitlist-modal__panel--success .ph-waitlist-modal__form,
.ph-waitlist-modal__panel--success .ph-waitlist-modal__lead,
.ph-waitlist-modal__panel--success .ph-waitlist-modal__title {
	display: none;
}

/* ==========================================================================
   Partner Inquiry Modal ("Looking to partner up with the Club?")
   ========================================================================== */

.ph-partner-modal {
	width: min(100% - 32px, 820px);
	padding: 0;
	border: none;
	background: transparent;
	overflow: visible;
}

.ph-partner-modal::backdrop {
	background: rgba(16, 31, 70, 0.72);
}

.ph-partner-modal__panel {
	position: relative;
	background: var(--ph-blue);
	border: 1px solid var(--ph-light-blue);
	border-radius: var(--ph-radius);
	padding: 40px 44px 36px;
	color: var(--ph-white);
}

.ph-partner-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	color: var(--ph-white);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

.ph-partner-modal__title {
	margin: 0 0 10px;
	font-family: var(--ph-font-heading);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.ph-partner-modal__title-accent {
	color: var(--ph-teal);
	font-weight: 500;
}

.ph-partner-modal__title-bold {
	color: var(--ph-white);
	font-weight: 700;
}

.ph-partner-modal__lead {
	margin: 0 0 24px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--ph-white);
}

.ph-partner-modal__form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ph-partner-modal__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.ph-partner-modal__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.ph-partner-modal__label {
	font-family: var(--ph-font-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ph-white);
}

.ph-partner-modal__req {
	color: var(--ph-green);
}

.ph-partner-modal__input {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	border: none;
	border-radius: var(--ph-radius-sm);
	background: var(--ph-white);
	font-family: var(--ph-font-body);
	font-size: 16px;
	color: var(--ph-blue);
	box-sizing: border-box;
}

.ph-partner-modal__input::placeholder {
	color: #8a96b0;
}

.ph-partner-modal__split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	padding-top: 6px;
}

.ph-partner-modal__goal {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ph-partner-modal__goal-label {
	display: block;
}

.ph-partner-modal__goal-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 18px;
}

.ph-partner-modal__radio {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	color: var(--ph-white);
	cursor: pointer;
}

.ph-partner-modal__radio input {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	accent-color: var(--ph-green);
}

.ph-partner-modal__aside {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 22px;
	padding-left: 24px;
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.ph-partner-modal__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--ph-light-blue);
	cursor: pointer;
}

.ph-partner-modal__consent input {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--ph-green);
}

.ph-partner-modal__submit {
	align-self: flex-start;
	min-width: 139px;
}

.ph-partner-modal__success {
	text-align: center;
	padding: 12px 0 4px;
}

.ph-partner-modal__success-title {
	margin: 0 0 12px;
	font-family: var(--ph-font-heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ph-white);
}

.ph-partner-modal__success-text {
	margin: 0;
	font-size: 18px;
	line-height: 1.4;
	color: var(--ph-white);
}

.ph-partner-modal__panel--success .ph-partner-modal__form,
.ph-partner-modal__panel--success .ph-partner-modal__lead,
.ph-partner-modal__panel--success .ph-partner-modal__title {
	display: none;
}

@media (max-width: 640px) {
	.ph-partner-modal__panel {
		padding: 32px 22px 28px;
	}

	.ph-partner-modal__row,
	.ph-partner-modal__split,
	.ph-partner-modal__goal-grid {
		grid-template-columns: 1fr;
	}

	.ph-partner-modal__aside {
		padding-left: 0;
		padding-top: 18px;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.2);
	}
}

/* ==========================================================================
   FAQ Page
   ========================================================================== */

.ph-faq-intro {
	position: relative;
	background: var(--ph-white);
	min-height: 279px;
	padding: 154px 0 61px;
	overflow: hidden;
}

.ph-faq-intro__texture {
	position: absolute;
	top: -52px;
	right: 0;
	left: 0;
	height: 331px;
	pointer-events: none;
	overflow: hidden;
	opacity: 0.13;
	-webkit-mask-image: url('../images/faq-hero-texture-mask.svg');
	mask-image: url('../images/faq-hero-texture-mask.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: 38px 104px;
	mask-position: 38px 104px;
	-webkit-mask-size: 1155px 331px;
	mask-size: 1155px 331px;
}

.ph-faq-intro__texture-picture,
.ph-faq-intro__texture-img {
	display: block;
	width: 100%;
	height: 100%;
}

.ph-faq-intro__texture-img {
	object-fit: cover;
	object-position: top right;
}

.ph-faq-intro__inner,
.ph-faq-list__wrap,
.ph-faq-cta__wrap {
	width: 100%;
	max-width: 906px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ph-gutter);
	padding-right: var(--ph-gutter);
}

.ph-faq-intro__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	text-align: left;
}

.ph-faq-intro__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 35px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ph-blue);
	line-height: 1.2;
}

.ph-faq-intro__lead {
	margin: 0;
	font-size: 17px;
	line-height: 1.2;
	color: var(--ph-blue);
	max-width: 831px;
}

.ph-faq-list {
	padding: 0 0 56px;
}

.ph-faq-list__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
	width: 100%;
}

.ph-faq-list__item {
	background: var(--ph-white);
	border: 1px solid var(--ph-green);
	border-radius: var(--ph-radius);
	padding: 20px 24px;
}

.ph-faq-list__question {
	margin: 0 0 21px;
	font-family: var(--ph-font-body);
	font-size: 19px;
	font-weight: 700;
	line-height: 22px;
	color: #0e1954;
}

.ph-faq-list__answer {
	margin: 0;
	font-size: 16px;
	line-height: 25px;
	color: #000;
}

.ph-faq-cta {
	padding: 0 0 80px;
}

.ph-faq-cta__panel {
	position: relative;
	border-radius: var(--ph-radius);
	overflow: hidden;
	min-height: 163px;
}

.ph-faq-cta__bg {
	position: absolute;
	inset: 0;
}

.ph-faq-cta__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-faq-cta__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 12, 43, 0.85);
}

.ph-faq-cta__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 32px 40px;
}

.ph-faq-cta__title {
	margin: 0;
	font-family: var(--ph-font-heading);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.03;
	text-transform: uppercase;
	color: var(--ph-white);
	text-align: center;
}

.ph-faq-cta__title strong {
	font-weight: 600;
}

.ph-faq-cta__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 690px;
	filter: drop-shadow(0 4px 2px rgba(0, 0, 0, 0.25));
}

.ph-faq-cta__input {
	flex: 1 1 161px;
	min-width: 0;
	height: 45px;
	padding: 0 17px;
	border: 0;
	border-radius: var(--ph-radius-pill);
	background: rgba(255, 255, 255, 0.2);
	color: var(--ph-white);
	font-family: var(--ph-font-body);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
}

.ph-faq-cta__input--message {
	flex: 2 1 280px;
}

.ph-faq-cta__input::placeholder {
	color: var(--ph-white);
	opacity: 1;
}

.ph-faq-cta__submit {
	flex: 0 0 auto;
	min-width: 133px;
	height: 45px;
	padding: 0 24px;
	font-size: 16px;
	line-height: 1;
}

/* ==========================================================================
   Responsive — Mobile
   ========================================================================== */

@media (max-width: 768px) {
	:root {
		--ph-sidebar-width: 0px;
		--ph-gutter: 16px;
	}

	.ph-sidebar {
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		width: 290px;
		z-index: 150;
	}

	.ph-sidebar__logo {
		display: none;
	}

	.ph-sidebar__inner {
		padding-top: 40px;
	}

	.ph-sidebar__nav {
		padding-top: 120px;
	}

	.ph-mobile-header { display: flex; }

	.ph-main,
	.ph-footer {
		margin-left: 0;
	}

	/* Hero */
	.ph-hero {
		margin: 0 16px;
		border-radius: var(--ph-radius);
		min-height: 440px;
	}

	.ph-hero__content {
		padding: 32px 16px;
	}

	.ph-hero__headline {
		gap: 12px;
		margin-bottom: 25px;
	}

	.ph-hero__line-shadow {
		transform: translate(5px, 5px);
	}

	.ph-hero__line--dark,
	.ph-hero__line--green {
		font-size: 25px;
		line-height: 1;
		padding: 12px 16px;
		min-width: auto;
	}

	.ph-hero__line-stack:first-child .ph-hero__line-shadow--green {
		transform: translate(8px, 7px);
	}

	.ph-hero__line-stack:last-child .ph-hero__line-shadow--navy {
		transform: translate(6px, 6px);
	}

	.ph-hero .ph-btn--white {
		min-width: 190px;
		height: 44px;
		padding: 0 24px;
		font-size: 16px;
	}

	/* Feature cards — one slide at a time */
	.ph-feature-cards {
		padding: 40px 0 48px;
		overflow: hidden;
	}

	.ph-feature-cards .ph-container {
		overflow: visible;
	}

	.ph-feature-cards__title {
		text-align: center;
		font-size: 25px;
		margin-bottom: 42px;
	}

	.ph-feature-cards__grid {
		display: flex;
		align-items: stretch;
		gap: 20px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		margin: 0 calc(-1 * var(--ph-gutter));
		padding: 0 max(var(--ph-gutter), calc((100% - 328px) / 2)) 8px;
		scroll-padding-inline: max(var(--ph-gutter), calc((100% - 328px) / 2));
		scrollbar-width: none;
	}

	.ph-feature-cards__grid::-webkit-scrollbar {
		display: none;
	}

	.ph-feature-card {
		flex: 0 0 328px;
		width: 328px;
		min-height: 306px;
		scroll-snap-align: center;
	}

	.ph-feature-cards__cta {
		margin-top: 42px;
	}

	.ph-feature-cards__cta .ph-btn {
		min-width: 190px;
		height: 44px;
		padding: 0 24px;
		font-size: 16px;
	}

	/* Where Play Easy — text card, image below */
	.ph-where-play {
		padding: 40px 0 48px;
	}

	.ph-where-play__card {
		display: contents;
	}

	.ph-where-play__frame {
		display: flex;
		flex-direction: column;
		gap: 24px;
		position: relative;
		z-index: 0;
	}

	.ph-where-play__circle {
		z-index: 0;
	}

	.ph-where-play__text {
		background: var(--ph-white);
		border-radius: var(--ph-radius);
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
		padding: 40px 32px;
		position: relative;
		z-index: 1;
	}

	.ph-where-play__title {
		font-size: 25px;
	}

	.ph-where-play__subtitle,
	.ph-where-play__body {
		font-size: 17px;
	}

	.ph-where-play__image {
		height: 315px;
		border-radius: var(--ph-radius);
		box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
		overflow: hidden;
		position: relative;
		z-index: 1;
	}

	.ph-where-play__circle--tr {
		width: 120px;
		height: 120px;
		right: -8px;
		top: -24px;
		z-index: 0;
	}

	.ph-where-play__circle--bl {
		width: 154px;
		height: 154px;
		left: -32px;
		top: auto;
		bottom: 24px;
		z-index: 0;
	}

	/* How To Join — navy panel, then stacked steps */
	.ph-how-to-join {
		padding: 40px 0;
	}

	.ph-how-to-join__wrap {
		max-width: none;
		padding: 0 var(--ph-gutter);
	}

	.ph-how-to-join__layout {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.ph-how-to-join__panel {
		border-radius: 15px;
		padding: 40px 32px;
		min-height: 0;
	}

	.ph-how-to-join__title {
		font-size: 30px;
	}

	.ph-how-to-join__intro,
	.ph-how-to-join__value-text,
	.ph-how-to-join__value-title {
		max-width: none;
		font-size: 18px;
	}

	.ph-how-to-join__panel .ph-btn {
		margin-top: 24px;
		height: 45px;
		min-width: 211px;
		font-size: 16px;
	}

	.ph-how-to-join__steps {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		padding: 0;
		gap: 24px;
	}

	.ph-step-card {
		min-height: 248px;
		padding: 29px 24px 24px;
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	.ph-step-card--wide {
		flex-direction: column;
		align-items: stretch;
		min-height: 248px;
		padding: 29px 24px 24px;
	}

	.ph-step-card--wide .ph-step-card__header {
		max-width: none;
	}

	.ph-step-card--wide .ph-step-card__icon {
		justify-content: center;
	}

	.ph-step-card__header {
		align-items: flex-start;
	}

	.ph-step-card__icon {
		margin-top: auto;
	}

	/* Why Choose Us — vertical list */
	.ph-why-choose {
		padding: 48px 0;
	}

	.ph-why-choose__title {
		font-size: 30px;
		padding: 0 16px;
	}

	.ph-why-choose__divider {
		margin-left: 16px;
		margin-bottom: 40px;
	}

	.ph-why-choose__grid {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 0 16px;
	}

	.ph-why-choose__item {
		display: grid;
		grid-template-columns: 24px 1fr;
		grid-template-rows: auto auto;
		column-gap: 12px;
		row-gap: 12px;
		padding-left: 0;
		padding-bottom: 24px;
		border-bottom: 1px solid var(--ph-light-blue);
	}

	.ph-why-choose__item:not(:last-child)::after {
		display: none;
	}

	.ph-why-choose__icon {
		position: static;
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		margin-top: 2px;
	}

	.ph-why-choose__item-title {
		grid-column: 2;
		grid-row: 1;
		font-size: 20px;
		line-height: 1.1;
		margin-bottom: 0;
	}

	.ph-why-choose__item-desc {
		grid-column: 1 / -1;
		grid-row: 2;
		font-size: 15px;
	}

	/* Parties — navy block, image overlaps bottom + deco */
	.ph-parties {
		padding: 64px 0 56px;
		overflow: visible;
	}

	.ph-parties .ph-container {
		max-width: none;
		padding: 0 16px;
		overflow: visible;
	}

	.ph-parties__layout {
		display: flex;
		flex-direction: column;
		gap: 0;
		min-height: 0;
		overflow: visible;
	}

	.ph-parties__circle--tl {
		display: none;
	}

	.ph-parties__circle--br {
		display: block;
		width: 200px;
		height: 200px;
		left: auto;
		right: -52px;
		top: auto;
		bottom: -28px;
		transform: none;
		z-index: 0;
	}

	.ph-parties__photo {
		order: 2;
		padding-top: 0;
		width: 100%;
		max-width: none;
		z-index: 2;
		margin-top: -120px;
		position: relative;
		overflow: visible;
	}

	.ph-parties__photo-frame {
		max-width: none;
		position: relative;
		z-index: 1;
	}

	.ph-parties__photo .ph-parties__image {
		max-width: none;
		width: 100%;
		box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
		position: relative;
		z-index: 1;
	}

	.ph-parties__panel {
		order: 1;
		margin-left: 0;
		margin-top: 0;
		min-height: 0;
		padding: 48px 32px 160px;
		width: 100%;
		border-radius: 15px;
		position: relative;
		z-index: 1;
		overflow: visible;
	}

	.ph-parties__title {
		font-size: 30px;
	}

	.ph-parties__subtitle,
	.ph-parties__body {
		font-size: 18px;
	}

	.ph-parties__copy {
		max-width: none;
		position: relative;
		z-index: 1;
	}

	.ph-parties__deco {
		top: -96px;
		right: 12px;
		left: auto;
		transform: none;
		width: 150px;
		z-index: 3;
	}

	.ph-parties__cta {
		height: 45px;
		min-width: 211px;
		font-size: 16px;
	}

	/* Tournaments — horizontal slider */
	.ph-tournaments {
		padding: 48px 0;
		overflow: hidden;
	}

	.ph-tournaments .ph-container {
		overflow: visible;
	}

	.ph-tournaments__title {
		font-size: 25px;
		line-height: 1.2;
		padding: 0 16px;
	}

	.ph-tournaments__divider {
		margin-left: 16px;
		margin-bottom: 25px;
	}

	.ph-tournaments__grid {
		display: flex;
		align-items: stretch;
		gap: 20px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		margin: 0 calc(-1 * var(--ph-gutter));
		padding: 0 max(var(--ph-gutter), calc((100% - 328px) / 2)) 8px;
		scroll-padding-inline: max(var(--ph-gutter), calc((100% - 328px) / 2));
		scrollbar-width: none;
	}

	.ph-tournaments__grid::-webkit-scrollbar {
		display: none;
	}

	.ph-tournament-card {
		flex: 0 0 328px;
		width: 328px;
		max-width: none;
		min-height: 357px;
		scroll-snap-align: center;
	}

	.ph-tournament-card__image {
		height: 291px;
	}

	.ph-tournament-card__meta {
		padding: 13px 16px 0;
		font-size: 16px;
		line-height: 1.25;
	}

	.ph-tournament-card__btn {
		min-width: 161px;
		height: 45px;
		margin: 16px auto 20px;
		font-size: 16px;
	}

	/* Difference — text then image */
	.ph-difference {
		padding: 48px 0 56px;
	}

	.ph-difference__inner {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.ph-difference__text {
		order: 1;
		padding: 0 16px;
	}

	.ph-difference__media {
		order: 2;
	}

	.ph-difference__title {
		font-size: 30px;
	}

	.ph-difference__body {
		font-size: 18px;
	}

	.ph-difference__circle--tr {
		width: 100px;
		height: 100px;
		top: -20px;
		right: -12px;
	}

	.ph-difference__circle--bl {
		width: 154px;
		height: 154px;
		bottom: -48px;
		left: -32px;
	}

	/* Visitors Welcome */
	.ph-visitors {
		padding: 40px 0 48px;
	}

	.ph-visitors__card {
		grid-template-columns: 1fr;
		padding: 32px 24px;
		gap: 20px;
	}

	.ph-visitors__left {
		align-self: auto;
	}

	.ph-visitors__title {
		font-size: 28px;
	}

	.ph-visitors__actions {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.ph-visitors__actions .ph-btn {
		min-width: 0;
		width: 100%;
		max-width: 231px;
		height: 45px;
		font-size: 16px;
	}

	/* Footer */
	.ph-footer {
		padding: 40px 16px;
	}

	.ph-footer__inner {
		display: flex;
		flex-direction: column;
	}

	.ph-footer__content {
		display: flex;
		flex-direction: column;
		width: 100%;
		order: 1;
	}

	.ph-footer__brand {
		order: 2;
		align-self: center;
		width: 100%;
		max-width: 215px;
		margin: 24px auto 0;
	}

	.ph-footer__waitlist {
		margin-bottom: 24px;
	}

	.ph-footer__divider--nav {
		margin-bottom: 32px;
		padding-bottom: 8px;
	}

	.ph-footer__nav {
		margin-bottom: 0;
		padding-top: 8px;
	}

	.ph-footer__bottom {
		display: none;
	}

	.ph-footer__logo,
	.ph-footer__logo-img {
		margin-left: auto;
		margin-right: auto;
	}

	.ph-footer__logo-img {
		width: 144px;
		max-width: 100%;
	}

	.ph-footer__waitlist-title {
		font-size: 19px;
	}

	.ph-footer__waitlist-text {
		max-width: none;
	}

	.ph-footer__form {
		max-width: 230px;
		min-height: 31px;
	}

	.ph-footer__divider {
		margin: 0;
	}

	.ph-footer__nav {
		flex-direction: column;
		gap: 24px;
	}

	.ph-footer__nav-grid {
		order: -1;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 10px 16px;
		width: 100%;
	}

	.ph-footer__col--about {
		width: 100%;
	}

	.ph-footer__col-title {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.ph-footer__col-links {
		gap: 7px;
	}

	.ph-btn--lg {
		min-width: auto;
		font-size: 16px;
		padding: 12px 32px;
	}

	.ph-heading {
		font-size: 24px;
	}

	.ph-tournaments__title {
		font-size: 25px;
	}

	.ph-difference__title {
		font-size: 30px;
	}

	.ph-visitors__title {
		font-size: 28px;
	}

	/* The Club — mobile */
	.ph-club-hero {
		margin: 2rem var(--ph-gutter);
		border-radius: var(--ph-radius);
	}

	.ph-club-hero__inner {
		padding: 32px 24px 28px;
		min-height: 374px;
		justify-content: flex-end;
		gap: 20px;
		max-width: none;
	}

	.ph-club-hero__tag {
		padding-left: 0;
		font-size: 20px;
	}

	.ph-club-hero__title-wrap::after {
		width: 251px;
	}

	.ph-club-hero__title {
		font-size: 30px;
		line-height: 26px;
		width: 258px;
		min-height: 58px;
		padding: 0 20px;
	}

	.ph-club-hero__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding-left: 32px;
	}

	.ph-club-hero__actions {
		max-width: 176px;
	}

	.ph-club-hero__btn-outline {
		width: 100%;
	}

	.ph-club-intro {
		padding: 0 var(--ph-gutter) 48px;
	}

	.ph-club-intro__card {
		padding: 32px 16px 40px;
		border-radius: var(--ph-radius);
		margin-right: 0;
	}

	.ph-club-intro__inner {
		grid-template-columns: 1fr;
		width: 100%;
		min-height: auto;
		gap: 28px;
	}

	.ph-club-intro__media {
		width: 100%;
		order: 2;
	}

	.ph-club-intro__media img {
		width: 100%;
		height: 296px;
		min-height: 296px;
	}

	.ph-club-intro__lead {
		font-size: 17px;
	}

	.ph-club-intro__list li {
		font-size: 17px;
	}

	.ph-club-mission {
		padding: 64px 0 72px;
	}

	.ph-club-mission__inner {
		grid-template-columns: 1fr;
		width: 100%;
		gap: 40px;
	}

	.ph-club-mission__media {
		width: 100%;
		max-width: 320px;
		margin: 0 auto;
		order: 2;
	}

	.ph-club-mission__text {
		order: 1;
		width: 100%;
		gap: 40px;
	}

	.ph-club-mission__img {
		height: 248px;
	}

	.ph-club-mission__deco {
		width: 121px;
		height: 121px;
	}

	.ph-club-mission__deco--tr {
		top: -20px;
		right: -24px;
	}

	.ph-club-mission__deco--bl {
		bottom: -20px;
		left: -24px;
	}

	.ph-club-mission__heading {
		font-size: 25px;
	}

	.ph-club-mission__block p {
		font-size: 17px;
	}

	.ph-club-about {
		padding: 48px 0;
	}

	.ph-club-about__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ph-club-about__title {
		font-size: 25px;
	}

	.ph-club-about__body p {
		font-size: 17px;
		line-height: 24px;
	}

	.ph-club-about__media img {
		height: 440px;
	}

	.ph-club-different {
		margin-top: 32px;
		padding: 40px 0 48px;
	}

	.ph-club-different__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ph-club-different__content {
		order: 1;
	}

	.ph-club-different__media {
		order: 2;
	}

	.ph-club-different__title {
		font-size: 25px;
	}

	.ph-club-different__body p {
		font-size: 17px;
	}

	.ph-club-different__media img {
		height: 360px;
	}

	.ph-club-amenities {
		padding: 48px 0;
	}

	.ph-club-amenities__header {
		flex-direction: row;
		align-items: center;
	}

	.ph-club-amenities__intro-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ph-club-amenities__gallery {
		grid-template-columns: 1fr;
	}

	.ph-club-amenities__gallery img {
		height: 223px;
	}

	.ph-club-tournaments {
		margin-top: 32px;
		padding: 32px 0 72px;
	}

	.ph-club-tournaments__panel {
		background: transparent;
		padding: 0;
		min-height: auto;
		overflow: visible;
	}

	.ph-club-tournaments__content {
		position: relative;
		z-index: 1;
		background: var(--ph-blue);
		border-radius: var(--ph-radius);
		padding: 32px 24px 88px;
	}

	.ph-club-tournaments__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ph-club-tournaments__title {
		font-size: 28px;
	}

	.ph-club-tournaments__lists {
		grid-template-columns: 1fr 1fr;
		gap: 16px 12px;
		max-width: none;
		margin-bottom: 24px;
	}

	.ph-club-tournaments__lists li {
		font-size: 14px;
		line-height: 20px;
	}

	.ph-club-tournaments__cta--desktop {
		display: none;
	}

	.ph-club-tournaments__cta--mobile {
		display: inline-flex;
		align-self: stretch;
		width: 100%;
		min-width: 0;
	}

	.ph-club-tournaments__aside {
		position: relative;
		z-index: 2;
		margin-top: -80px;
		align-items: center;
	}

	.ph-club-tournaments__media {
		position: static;
		left: auto;
		bottom: auto;
		margin-top: 0;
		transform: none;
	}

	.ph-club-tournaments__media img {
		width: 240px;
		height: 240px;
		border-radius: 50%;
		object-fit: cover;
	}

	.ph-club-events-promo {
		padding: 48px 0 48px;
	}

	.ph-club-events-promo__text {
		font-size: 20px;
	}

	.ph-club-location {
		padding-bottom: 48px;
	}

	.ph-club-location .ph-container {
		max-width: var(--ph-container);
		margin-right: auto;
		padding-right: var(--ph-gutter);
	}

	.ph-club-location__card {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.ph-club-location__map img {
		min-height: 180px;
		max-height: none;
		border-radius: var(--ph-radius) var(--ph-radius) 0 0;
	}

	.ph-club-location__info {
		padding: 24px 24px 28px;
	}

	.ph-club-location__actions {
		max-width: none;
	}

	.ph-club-location__btn {
		flex: 1 1 0;
		min-width: 0;
	}

	/* Contact Us — mobile */
	.ph-contact-intro {
		padding: 32px 0 24px;
	}

	.ph-contact-intro__title {
		font-size: 30px;
	}

	.ph-contact-intro__lead {
		font-size: 18px;
	}

	.ph-contact-location {
		padding-bottom: 32px;
	}

	.ph-contact-location__card {
		grid-template-columns: 1fr;
		min-height: auto;
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
		border-radius: 15px;
		overflow: visible;
		background: transparent;
	}

	.ph-contact-location__info {
		order: 1;
		background: var(--ph-white);
		border-radius: 15px;
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
		padding: 28px 32px;
	}

	.ph-contact-location__map {
		order: 2;
		margin-top: 16px;
		border-radius: var(--ph-radius);
		overflow: hidden;
	}

	.ph-contact-location__map img {
		min-height: 200px;
		max-height: none;
		border-radius: var(--ph-radius);
		filter: none;
		mix-blend-mode: normal;
	}

	.ph-contact-location__actions {
		max-width: none;
	}

	.ph-contact-form {
		padding-bottom: 64px;
	}

	.ph-contact-form__header {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-bottom: 32px;
		padding: 0;
	}

	.ph-contact-form__banner {
		margin-left: 0;
		margin-right: 0;
		padding: 14px var(--ph-gutter);
	}

	.ph-contact-form__intro {
		max-width: none;
		padding: 0 var(--ph-gutter);
	}

	.ph-contact-form__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ph-contact-form__field--message {
		grid-column: auto;
	}

	.ph-contact-form__aside {
		grid-column: auto;
		grid-row: auto;
		align-self: auto;
	}

	.ph-contact-form__input {
		min-height: 60px;
	}

	.ph-contact-form__textarea {
		min-height: 144px;
	}

	.ph-contact-form__submit {
		width: 100%;
		max-width: 211px;
	}

	.ph-contact-form__success {
		max-width: none;
		margin: 0;
		padding: 32px 24px;
	}

	.ph-contact-form__success-title {
		font-size: 24px;
	}

	.ph-contact-form__success-text {
		font-size: 16px;
		line-height: 24px;
	}

	/* Learn */
	.ph-learn-hero {
		margin: 0 16px;
		border-radius: var(--ph-radius);
	}

	.ph-learn-hero__inner {
		min-height: 440px;
		padding: 32px 16px;
		justify-content: flex-end;
		align-items: center;
		gap: 12px;
	}

	.ph-learn-hero__title-stack {
		width: 100%;
		max-width: 385px;
		margin: 0 auto;
	}

	.ph-learn-hero__title-teal {
		left: 0;
		top: 6px;
		width: 374px;
		height: 58px;
		max-width: calc(100% - 11px);
	}

	.ph-learn-hero__title-navy {
		width: 385px;
		max-width: 100%;
		min-height: 58px;
		padding: 12px 17px;
	}

	.ph-learn-hero__title {
		font-size: 30px;
		line-height: 26px;
		text-align: left;
	}

	.ph-learn-hero__lead {
		margin: 0;
		width: 100%;
		max-width: 323px;
		font-size: 16px;
		font-weight: 700;
		line-height: 20px;
		text-align: left;
		align-self: center;
	}

	.ph-learn-intro {
		padding: 48px 0 48px;
	}

	.ph-learn-intro__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ph-learn-intro__title {
		font-size: 25px;
		margin-bottom: 16px;
	}

	.ph-learn-intro__body {
		font-size: 17px;
	}

	.ph-learn-intro__media {
		order: 2;
	}

	.ph-learn-intro__media img {
		height: 296px;
	}

	.ph-learn-lessons {
		padding: 56px 0 48px;
	}

	.ph-learn-section-head__title {
		font-size: 25px;
	}

	.ph-learn-lessons__grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-top: 16px;
	}

	.ph-learn-lesson-card {
		padding: 36px 20px 28px;
	}

	.ph-learn-clinics {
		padding: 56px 0 48px;
	}

	.ph-learn-clinics__panel {
		padding: 40px 24px 32px;
	}

	.ph-learn-clinics__title {
		font-size: 25px;
	}

	.ph-learn-clinics__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.ph-learn-youth {
		padding: 40px 0 48px;
	}

	.ph-learn-youth__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ph-learn-youth__title {
		font-size: 25px;
	}

	.ph-learn-youth__text {
		font-size: 17px;
	}

	.ph-learn-youth__media {
		order: 2;
	}

	.ph-learn-youth__media img {
		height: 296px;
	}

	.ph-learn-development {
		padding: 56px 0 48px;
	}

	.ph-learn-development__panel {
		padding: 32px 24px;
	}

	.ph-learn-development__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ph-learn-development__media {
		order: 2;
	}

	.ph-learn-development__media img {
		height: 340px;
		min-height: 0;
	}

	.ph-learn-development__title {
		font-size: 25px;
	}

	.ph-learn-development__body {
		font-size: 17px;
	}

	.ph-learn-coaches {
		padding: 40px 0 48px;
		overflow: hidden;
	}

	.ph-learn-coaches .ph-container {
		overflow: visible;
	}

	.ph-learn-coaches__header {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ph-learn-coaches__title {
		font-size: 25px;
	}

	.ph-learn-coaches__text {
		font-size: 17px;
	}

	.ph-learn-coaches__gallery {
		display: flex;
		align-items: stretch;
		gap: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		margin: 24px calc(-1 * var(--ph-gutter)) 0;
		padding: 0 var(--ph-gutter) 8px;
		scroll-padding-inline: var(--ph-gutter);
		scrollbar-width: none;
	}

	.ph-learn-coaches__gallery::-webkit-scrollbar {
		display: none;
	}

	.ph-learn-coaches__photo {
		flex: 0 0 calc(100% - 48px);
		width: calc(100% - 48px);
		scroll-snap-align: start;
	}

	.ph-learn-coaches__photo img.ph-learn-placeholder,
	.ph-learn-coaches__photo img:not(.ph-learn-placeholder) {
		height: 240px;
	}

	.ph-learn-cta {
		padding-bottom: 48px;
	}

	.ph-learn-cta__panel {
		min-height: 380px;
	}

	.ph-learn-cta__content {
		padding: 40px 24px;
	}

	.ph-learn-cta__title {
		font-size: 25px;
	}

	.ph-learn-cta__text {
		font-size: 17px;
	}

	.ph-learn-cta__actions {
		flex-direction: column;
		width: 100%;
	}

	.ph-learn-cta__actions .ph-btn {
		width: 100%;
		max-width: 211px;
	}

	/* Play */
	.ph-play-hero {
		margin: 2rem 16px 40px;
		border-radius: var(--ph-radius);
		min-height: 374px;
	}

	.ph-play-hero__inner {
		min-height: 374px;
		padding: 32px 16px 32px 0;
		justify-content: center;
		align-items: flex-start;
		gap: 12px;
	}

	.ph-play-hero__title-stack {
		align-self: flex-start;
	}

	.ph-play-hero__title-teal {
		width: 288px;
		height: 58px;
		top: 6px;
		left: 0;
		max-width: calc(100% - 8px);
	}

	.ph-play-hero__title-navy {
		width: 296px;
		min-height: 58px;
		padding: 12px 17px;
	}

	.ph-play-hero__title {
		font-size: 30px;
	}

	.ph-play-hero__lead {
		margin: 0;
		align-self: flex-start;
		padding-left: 17px;
		max-width: 296px;
		width: 100%;
		font-size: 16px;
		line-height: 20px;
		text-align: left;
	}

	.ph-play-intro {
		padding: 48px 0 40px;
	}

	.ph-play-intro__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ph-play-intro__heading {
		align-items: flex-start;
	}

	.ph-play-intro__title {
		font-size: 27px;
		line-height: 1.2;
	}

	.ph-play-intro__text {
		font-size: 17px;
		line-height: 24px;
	}

	.ph-play-showcase {
		padding: 24px 0 48px;
	}

	.ph-play-showcase__img {
		max-height: 233px;
	}

	.ph-play-experience {
		padding: 48px 0 56px;
	}

	.ph-play-experience__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ph-play-experience__skills {
		order: -1;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.ph-play-experience__skills-badge {
		align-self: center;
	}

	.ph-play-experience__title {
		font-size: 24px;
		line-height: 1.2;
		margin-bottom: 16px;
	}

	.ph-play-experience__text {
		font-size: 17px;
		line-height: 24px;
		margin-bottom: 20px;
	}

	.ph-play-experience__cta {
		min-width: 0;
		width: 100%;
		max-width: 307px;
	}

	.ph-play-experience__skills-list {
		display: grid;
		grid-template-columns: repeat(2, auto);
		justify-content: center;
		gap: 27px;
	}

	.ph-play-experience__skill:nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}

	.ph-play-experience__skill:nth-child(2) {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-self: center;
	}

	.ph-play-experience__skill:nth-child(3) {
		grid-column: 2;
		grid-row: 1;
	}

	.ph-play-experience__skill {
		font-size: 24px;
	}

	.ph-play-walkin {
		padding: 56px 0;
	}

	.ph-play-walkin__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ph-play-walkin__title {
		font-size: 24px;
		line-height: 1.2;
		margin-bottom: 16px;
	}

	.ph-play-walkin__text {
		font-size: 17px;
		line-height: 24px;
	}

	.ph-play-walkin__how {
		padding: 24px;
	}

	.ph-play-events {
		padding: 64px 0 56px;
		overflow: visible;
	}

	.ph-play-events .ph-container {
		max-width: none;
		padding: 0 16px;
		overflow: visible;
	}

	.ph-play-events__layout {
		display: flex;
		flex-direction: column;
		gap: 0;
		min-height: 0;
		overflow: visible;
	}

	.ph-play-events__circle--tl {
		display: none;
	}

	.ph-play-events__circle--br {
		display: block;
		width: 200px;
		height: 200px;
		left: auto;
		right: -52px;
		top: auto;
		bottom: -28px;
		transform: none;
		z-index: 0;
	}

	.ph-play-events__photo {
		order: 2;
		padding-top: 0;
		width: 100%;
		max-width: none;
		z-index: 2;
		margin-top: -120px;
		position: relative;
		overflow: visible;
	}

	.ph-play-events__photo-frame {
		max-width: none;
		position: relative;
		z-index: 1;
	}

	.ph-play-events__image {
		max-width: none;
		width: 100%;
		box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
		position: relative;
		z-index: 1;
	}

	.ph-play-events__panel {
		order: 1;
		margin-left: 0;
		margin-top: 0;
		min-height: 0;
		padding: 48px 32px 160px;
		width: 100%;
		border-radius: 15px;
		position: relative;
		z-index: 1;
		overflow: visible;
	}

	.ph-play-events__title {
		font-size: 25px;
	}

	.ph-play-events__body {
		font-size: 17px;
	}

	.ph-play-events__copy {
		max-width: none;
		position: relative;
		z-index: 1;
	}

	.ph-play-events__fork {
		top: -96px;
		right: 16px;
		width: 120px;
	}

	.ph-play-events__tagline {
		position: static;
		margin-top: 24px;
		padding: 0;
		font-size: 14px;
		letter-spacing: 0.7px;
		white-space: normal;
	}

	.ph-play-reserve {
		padding: 48px 0 64px;
	}

	.ph-play-reserve__panel {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 32px 16px;
	}

	.ph-play-reserve__title {
		font-size: 25px;
	}

	.ph-play-reserve__text {
		font-size: 16px;
		line-height: 24px;
	}

	.ph-play-reserve__media {
		order: 2;
	}

	.ph-play-reserve__media img {
		height: 232px;
		border-radius: 10px;
	}

	/* Parties & Corporate Events */
	.ph-pce-hero {
		margin: 2rem 16px 40px;
		border-radius: var(--ph-radius);
		min-height: 374px;
	}

	.ph-pce-hero__inner {
		min-height: 374px;
		padding: 32px 16px;
		justify-content: center;
		align-items: flex-start;
		gap: 12px;
	}

	.ph-pce-hero__eyebrow {
		margin: 0;
		padding-left: 0;
		font-size: 25px;
		line-height: 1.2;
		text-align: left;
	}

	.ph-pce-hero__titles {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		width: 100%;
	}

	.ph-pce-hero__title-stack,
	.ph-pce-hero__title-stack--wide {
		display: inline-block;
		width: auto;
		max-width: 100%;
		margin-left: 0;
	}

	.ph-pce-hero__title-teal,
	.ph-pce-hero__title-stack--wide .ph-pce-hero__title-teal {
		width: calc(100% - 8px);
		height: 58px;
		top: 6px;
		left: 0;
		max-width: none;
	}

	.ph-pce-hero__title-navy,
	.ph-pce-hero__title-stack--wide .ph-pce-hero__title-navy {
		width: auto;
		max-width: 100%;
		min-height: 58px;
		margin-left: 0;
		padding: 12px 17px;
		justify-content: flex-start;
	}

	.ph-pce-hero__title {
		font-size: 30px;
		line-height: 1;
		text-align: left;
		white-space: nowrap;
	}

	.ph-pce-intro {
		padding: 48px 0 40px;
	}

	.ph-pce-intro__grid {
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.ph-pce-intro__title {
		font-size: 30px;
	}

	.ph-pce-intro__text {
		font-size: 17px;
		line-height: 24px;
	}

	.ph-pce-intro__img {
		height: 322px;
	}

	.ph-pce-types {
		padding: 0 0 48px;
	}

	.ph-pce-types__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 21px;
	}

	.ph-pce-types__item--corporate {
		order: 3;
	}

	.ph-pce-why {
		padding: 0 0 64px;
	}

	.ph-pce-why__wrap {
		padding: 0 32px;
	}

	.ph-pce-why__grid {
		grid-template-columns: 1fr;
		gap: 24px;
		align-items: start;
	}

	.ph-pce-why__title {
		font-size: 28px;
	}

	.ph-pce-why__lead {
		font-size: 17px;
	}

	.ph-pce-why__bullets-wrap {
		min-height: 0;
		padding: 32px 32px 32px 39px;
	}

	.ph-pce-why__bullets-bg {
		border-radius: var(--ph-radius) 0 0 var(--ph-radius);
	}

	.ph-pce-why__list {
		max-width: none;
	}

	.ph-pce-included {
		padding: 0 0 64px;
		overflow: visible;
	}

	.ph-pce-included__wrap {
		--pce-panel-width: 100%;
		min-height: 0;
		padding-bottom: 48px;
		overflow: visible;
	}

	.ph-pce-included__panel {
		position: relative;
		width: calc(100% - 15px);
		background: transparent;
		border-radius: 0;
		min-height: 0;
		overflow: visible;
	}

	.ph-pce-included__panel::before {
		content: '';
		position: absolute;
		inset: 0;
		background: var(--ph-navy);
		border-radius: 0 var(--ph-radius) var(--ph-radius) 0;
		z-index: 1;
	}

	.ph-pce-included__inner {
		position: relative;
		z-index: 3;
		padding: 36px 32px 40px 36px;
		max-width: none;
	}

	.ph-pce-included__lead {
		font-size: 17px;
	}

	.ph-pce-included__deco--tr,
	.ph-pce-included__deco--bl-desktop {
		display: none;
	}

	.ph-pce-included__media--desktop {
		display: none;
	}

	.ph-pce-included__mobile-float {
		display: block;
		position: relative;
		z-index: 2;
		margin-top: -10px;
		padding-bottom: 48px;
	}

	/* Círculo: entre navy (z-1) e imagen (z-2 dentro del float) */
	.ph-pce-included__mobile-float .ph-pce-included__deco--bl {
		position: absolute;
		width: 113px;
		height: 113px;
		left: 12px;
		top: -32px;
		z-index: 1;
	}

	.ph-pce-included__media--mobile {
		display: block;
		position: relative;
		z-index: 2;
		width: calc(100% - 74px);
		max-width: 356px;
		margin: 0 auto;
	}

	.ph-pce-included__media--mobile .ph-pce-included__img {
		height: 404px;
		border-radius: var(--ph-radius);
		box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	}

	.ph-pce-form {
		padding: 0 0 64px;
	}

	.ph-pce-form__shell {
		padding: 0;
	}

	.ph-pce-form__grid {
		grid-template-columns: 1fr;
		row-gap: 24px;
		max-width: none;
	}

	.ph-pce-form__banner,
	.ph-pce-form__intro,
	.ph-pce-form__event,
	.ph-pce-form__contact {
		grid-column: 1;
		grid-row: auto;
	}

	.ph-pce-form__banner {
		max-width: none;
		min-height: 62px;
		padding: 12px var(--ph-gutter);
	}

	.ph-pce-form__banner::before {
		display: none;
	}

	.ph-pce-form__banner-title {
		white-space: normal;
		line-height: 1.2;
	}

	.ph-pce-form__banner-title {
		font-size: 30px;
		line-height: 1.2;
	}

	.ph-pce-form__intro {
		padding: 0 var(--ph-gutter);
		font-size: 18px;
	}

	.ph-pce-form__event {
		padding: 0 var(--ph-gutter);
	}

	.ph-pce-form__event,
	.ph-pce-form__contact-fields {
		gap: 25px;
	}

	.ph-pce-form__contact {
		padding: 26px 21px 32px;
	}

	.ph-pce-form__success {
		margin: 0 var(--ph-gutter);
		padding: 32px 24px;
	}

	.ph-pce-form__success-title {
		font-size: 24px;
	}

	.ph-pce-form__success-text {
		font-size: 17px;
		line-height: 24px;
	}

	/* Join page — mobile */
	.ph-join-hero {
		margin: 2rem 16px 40px;
		border-radius: var(--ph-radius);
		min-height: 374px;
	}

	.ph-join-hero__inner {
		min-height: 374px;
		padding: 32px 16px;
		justify-content: center;
		align-items: flex-start;
		gap: 12px;
	}

	.ph-join-hero__title-stack {
		display: inline-block;
		width: auto;
		max-width: 100%;
		align-self: flex-start;
	}

	.ph-join-hero__title-teal {
		width: calc(100% - 8px);
		height: 58px;
		top: 6px;
		left: 0;
		max-width: none;
	}

	.ph-join-hero__title-navy {
		width: auto;
		max-width: 100%;
		min-height: 58px;
		padding: 12px 17px;
		justify-content: flex-start;
	}

	.ph-join-hero__title {
		font-size: 30px;
		line-height: 1;
		text-align: left;
		white-space: nowrap;
	}

	.ph-join-hero__lead {
		margin: 0;
		align-self: flex-start;
		padding-left: 17px;
		max-width: 100%;
		width: 100%;
		font-size: 16px;
		line-height: 20px;
		text-align: left;
	}

	.ph-join-intro {
		padding: 40px 0 24px;
	}

	.ph-join-intro__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ph-join-intro__title {
		font-size: 25px;
		line-height: 1.3;
	}

	.ph-join-intro__text {
		font-size: 17px;
		max-width: none;
	}

	.ph-join-compare {
		padding-bottom: 32px;
	}

	.ph-join-compare__wrap,
	.ph-join-plans__wrap {
		padding: 0 var(--ph-gutter);
	}

	.ph-join-compare__scroll,
	.ph-join-plans__scroll {
		margin: 0 calc(var(--ph-gutter) * -1);
		padding: 0 var(--ph-gutter);
	}

	.ph-join-compare__table {
		min-width: calc(280px + (148px * 4) + (12px * 4));
		--ph-compare-gap: 12px;
	}

	.ph-join-compare__labels {
		flex: 0 0 280px;
		grid-template-rows: 90px 40px 40px 40px 40px 40px 40px 56px 40px 40px 40px var(--ph-compare-row-action);
	}

	.ph-join-compare__label {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0.35em;
		font-size: 15px;
		line-height: 22px;
		padding-right: 8px;
	}

	.ph-join-compare__label:has(.ph-join-compare__label-small) {
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.ph-join-compare__label-small {
		display: inline;
		font-size: 12px;
		line-height: inherit;
	}

	.ph-join-compare__tiers {
		flex: 0 0 auto;
	}

	.ph-join-compare__tier {
		flex: 0 0 148px;
		grid-template-rows: 90px 40px 40px 40px 40px 40px 40px 56px 40px 40px 40px var(--ph-compare-row-action);
	}

	.ph-join-compare__tier-head {
		min-height: 90px;
	}

	.ph-join-compare__tier-name {
		font-size: 14px;
		line-height: 20px;
	}

	.ph-join-compare__cell {
		font-size: 14px;
		line-height: 18px;
		padding: 0 4px;
	}

	.ph-join-compare__cell--small {
		font-size: 12px;
		line-height: 1.3;
	}

	.ph-join-compare__signup {
		max-width: 100%;
		padding: 9px 6px;
		font-size: 14px;
	}

	.ph-join-plans {
		padding: 32px 0 40px;
	}

	.ph-join-plans__grid {
		gap: 16px;
	}

	.ph-join-plan {
		flex: 0 0 280px;
	}

	.ph-join-plan__body {
		min-height: auto;
		padding-bottom: 24px;
	}

	.ph-join-founders {
		padding: 48px 0 40px;
	}

	.ph-join-founders__grid,
	.ph-join-family__grid,
	.ph-join-worth__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ph-join-founders__media,
	.ph-join-worth__media {
		justify-content: center;
		order: -1;
	}

	.ph-join-founders__photo,
	.ph-join-family__photo {
		max-width: 100%;
	}

	.ph-join-worth__photo {
		max-width: 100%;
		height: 320px;
	}

	.ph-join-family {
		padding-bottom: 80px;
	}

	.ph-join-family__media {
		order: -1;
	}

	.ph-join-worth {
		padding: 48px 0;
	}

	.ph-join-worth__content {
		order: 2;
		align-self: start;
	}

	.ph-join-worth__title {
		font-size: 25px;
		line-height: 1.3;
	}

	.ph-join-info {
		padding-bottom: 48px;
	}

	.ph-join-info__panel {
		margin: 0;
	}

	.ph-join-info__inner {
		display: flex;
		flex-direction: column;
		padding: 32px var(--ph-gutter) 40px;
	}

	.ph-join-info__title {
		grid-column: auto;
		font-size: 25px;
		line-height: 1.3;
	}

	.ph-join-info__cta {
		grid-column: auto;
		grid-row: auto;
		justify-self: auto;
		width: 100%;
		max-width: 256px;
		min-width: 0;
	}

	.ph-join-info__col:nth-child(3),
	.ph-join-info__col:nth-child(4),
	.ph-join-info__col:nth-child(5) {
		grid-column: auto;
		padding: 0 0 28px;
		border-left: none;
	}

	.ph-join-info__col:nth-child(4),
	.ph-join-info__col:nth-child(5) {
		padding-top: 28px;
		border-top: 1px solid rgba(255, 255, 255, 0.35);
	}

	.ph-join-info__col:nth-child(5) {
		padding-bottom: 0;
	}

	.ph-join-cta {
		padding: 0;
	}

	.ph-join-cta__panel {
		margin: 0;
		min-height: auto;
	}

	.ph-join-cta__grid {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 32px var(--ph-gutter) 40px;
		min-height: auto;
	}

	.ph-join-cta__title {
		font-size: 28px;
		line-height: 1.2;
	}

	.ph-join-cta__headline,
	.ph-join-cta__text {
		font-size: 17px;
	}

	/* Pro Shop page — mobile */
	.ph-proshop-hero {
		margin: 2rem 16px 40px;
		border-radius: var(--ph-radius);
		min-height: 374px;
	}

	.ph-proshop-hero__inner {
		min-height: 374px;
		padding: 32px 16px;
		justify-content: center;
		align-items: flex-start;
	}

	.ph-proshop-hero__title-stack {
		display: inline-block;
		width: auto;
		max-width: calc(100% - 8px);
		overflow: visible;
	}

	.ph-proshop-hero__title-teal {
		top: 8px;
		left: 8px;
		right: -8px;
		bottom: -8px;
		width: auto;
		height: auto;
		max-width: none;
	}

	.ph-proshop-hero__title-navy {
		width: auto;
		max-width: 100%;
		min-height: 0;
		padding: 15px 21px;
		align-items: flex-start;
	}

	.ph-proshop-hero__title-break {
		display: block;
	}

	.ph-proshop-hero__title {
		font-size: 35px;
		line-height: 38px;
		text-align: left;
	}

	.ph-proshop-brands {
		padding: 24px 0 40px;
	}

	.ph-proshop-brands__tile {
		width: 100%;
		max-width: 280px;
	}

	.ph-proshop-products {
		padding: 40px 0 32px;
	}

	.ph-proshop-products__wrap {
		padding: 0 var(--ph-gutter);
	}

	.ph-proshop-products__title {
		margin-bottom: 24px;
		text-align: center;
		font-size: 30px;
	}

	.ph-proshop-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
		justify-items: center;
	}

	.ph-proshop-product {
		width: 100%;
		max-width: 200px;
	}

	.ph-proshop-product__media {
		height: 180px;
	}

	.ph-proshop-products__cta {
		display: flex;
		margin: 32px auto 0;
	}

	.ph-proshop-cta__panel {
		min-height: auto;
	}

	.ph-proshop-cta__inner {
		max-width: none;
		padding: 32px var(--ph-gutter) 40px;
		min-height: auto;
	}

	.ph-proshop-cta__title {
		font-size: 30px;
		line-height: 40px;
	}

	.ph-proshop-cta__text {
		font-size: 20px;
	}

	.ph-proshop-cta__btn {
		width: 100%;
		max-width: 256px;
	}

	/* Careers page — mobile */
	.ph-careers-hero {
		margin: 2rem 16px 40px;
		border-radius: var(--ph-radius);
		min-height: 374px;
	}

	.ph-careers-hero__inner {
		min-height: 374px;
		padding: 32px 16px;
		justify-content: center;
		align-items: flex-start;
		gap: 12px;
	}

	.ph-careers-hero__title-stack {
		display: inline-block;
		width: auto;
		max-width: calc(100% - 8px);
		overflow: visible;
	}

	.ph-careers-hero__title-teal {
		top: 8px;
		left: 8px;
		right: -8px;
		bottom: -8px;
		width: auto;
		height: auto;
		max-width: none;
	}

	.ph-careers-hero__title-navy {
		width: auto;
		max-width: 100%;
		min-height: 0;
		padding: 12px 17px;
		align-items: flex-start;
	}

	.ph-careers-hero__title {
		font-size: 30px;
		line-height: 1;
		text-align: left;
		white-space: nowrap;
	}

	.ph-careers-hero__lead {
		margin: 0;
		align-self: flex-start;
		padding-left: 17px;
		max-width: 100%;
		width: 100%;
		font-size: 16px;
		font-weight: 700;
		line-height: 20px;
		text-align: left;
	}

	.ph-careers-positions {
		padding: 64px 0 32px;
	}

	.ph-careers-positions__wrap {
		padding: 0 var(--ph-gutter);
	}

	.ph-careers-positions__intro {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-bottom: 32px;
	}

	.ph-careers-positions__title {
		font-size: 27px;
		line-height: 44px;
	}

	.ph-careers-positions__text {
		font-size: 17px;
		line-height: 24px;
	}

	.ph-careers-positions__grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.ph-careers-positions__item.ph-careers-job--collapsed {
		display: none;
	}

	.ph-careers-positions__more {
		display: block;
		margin: 32px auto 0;
		padding: 0;
		border: 0;
		background: none;
		font-family: var(--ph-font-body);
		font-size: 15px;
		font-weight: 700;
		line-height: 21px;
		text-decoration: underline;
		text-transform: uppercase;
		color: var(--ph-dark-green);
		cursor: pointer;
	}

	.ph-careers-job__card {
		min-height: 182px;
		padding-top: 40px;
	}

	.ph-careers-youth {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0;
		margin-top: 32px;
	}

	.ph-careers-youth__content {
		order: 1;
		padding: 32px var(--ph-gutter);
	}

	.ph-careers-youth__media {
		order: 2;
		min-height: 342px;
	}

	.ph-careers-youth__photo {
		min-height: 342px;
	}

	.ph-careers-join {
		padding: 40px 0;
	}

	.ph-careers-join__wrap {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 0 var(--ph-gutter);
	}

	.ph-careers-join__title {
		font-size: 30px;
		line-height: 44px;
	}

	.ph-careers-join__copy {
		font-size: 17px;
		line-height: 24px;
	}

	.ph-careers-join__cta {
		width: 100%;
		max-width: 307px;
	}

	.ph-careers-join__media {
		min-height: 280px;
		justify-content: center;
	}

	.ph-careers-join__deco--tl {
		top: 50%;
		left: calc(50% - 185px);
		right: auto;
		width: 126px;
		height: 126px;
		transform: translateY(calc(-50% - 72px));
	}

	.ph-careers-join__deco--br {
		top: 50%;
		right: calc(50% - 185px);
		width: 126px;
		height: 126px;
		transform: translateY(calc(-50% + 72px));
	}

	.ph-careers-join__photo {
		max-width: 337px;
		height: 273px;
	}

	/* Job single — mobile */
	.ph-job-hero__wrap {
		padding: 32px 24px;
	}

	.ph-job-hero__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ph-job-hero__title {
		font-size: 30px;
		line-height: 44px;
	}

	.ph-job-hero__meta-row {
		font-size: 18px;
	}

	.ph-job-hero__aside {
		display: none;
	}

	.ph-job-hero__cta--mobile {
		display: inline-flex;
	}

	.ph-job-body {
		padding: 0 0 40px;
	}

	.ph-job-body__wrap {
		padding: 0 24px;
		gap: 80px;
	}

	.ph-job-section,
	.ph-job-section--band > * {
		max-width: none;
	}

	.ph-job-section--band {
		padding: 40px 0;
		margin: 0 -24px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.ph-job-section__title {
		font-size: 25px;
		line-height: 35px;
	}

	.ph-job-section__list,
	.ph-job-section__copy {
		font-size: 18px;
		line-height: 26px;
	}

	.ph-job-body__cta {
		width: 100%;
		max-width: 230px;
	}

	.ph-job-eoe {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0;
	}

	.ph-job-eoe__content {
		order: 1;
		max-width: none;
		padding: 32px 24px;
	}

	.ph-job-eoe__media {
		order: 2;
		justify-self: stretch;
		max-width: none;
		height: 342px;
		min-height: 342px;
	}

	/* Food Hall page — mobile */
	.ph-foodhall-top {
		padding-bottom: 0;
	}

	.ph-foodhall-top__wrap {
		padding: 0 16px;
	}

	.ph-foodhall-hero {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		min-height: 303px;
		border-radius: var(--ph-radius);
		margin: 2rem 0 40px;
		padding: 45px 0 22px;
	}

	.ph-foodhall-hero__title-break {
		display: block;
	}

	.ph-foodhall-hero__title-stack {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: auto;
		max-width: calc(100% - 8px);
		z-index: 2;
	}

	.ph-foodhall-hero__title-teal {
		position: static;
		width: 100%;
		height: 8px;
		flex-shrink: 0;
	}

	.ph-foodhall-hero__title-navy {
		width: auto;
		min-height: 0;
		padding: 10px 17px 12px;
		max-width: 100%;
		align-items: flex-start;
	}

	.ph-foodhall-hero__title {
		font-size: 30px;
		line-height: 1.05;
	}

	.ph-foodhall-hero__intro {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		margin-top: 14px;
		max-width: none;
		padding: 0 16px 0 17px;
		z-index: 2;
	}

	.ph-foodhall-hero__text {
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 9px;
	}

	.ph-foodhall-explore {
		padding: 48px 0 40px;
	}

	.ph-foodhall-explore__wrap {
		flex-direction: column;
		align-items: flex-start;
		gap: 22px;
		padding: 0 var(--ph-gutter);
	}

	.ph-foodhall-explore__heading {
		width: 100%;
	}

	.ph-foodhall-explore__text {
		max-width: none;
		line-height: 24px;
	}

	.ph-foodhall-banner--mid {
		height: 207px;
		max-height: 207px;
	}

	.ph-foodhall-banner--mid .ph-foodhall-banner__img {
		position: absolute;
		left: 0;
		top: -135.57%;
		width: 100%;
		height: 299.38%;
		min-height: 0;
		object-position: center center;
	}

	.ph-foodhall-menu {
		padding: 40px 0 56px;
		overflow: hidden;
	}

	.ph-foodhall-menu__wrap {
		padding: 0 var(--ph-gutter);
	}

	.ph-foodhall-menu__title {
		text-align: left;
		margin-bottom: 32px;
	}

	.ph-foodhall-menu__tabs {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		-ms-overflow-style: none;
		scrollbar-width: none;
		margin: 0 calc(var(--ph-gutter) * -1) 32px;
		padding: 0 var(--ph-gutter);
		gap: 8px;
	}

	.ph-foodhall-menu__tabs::-webkit-scrollbar {
		display: none;
	}

	.ph-foodhall-menu__tab {
		flex-shrink: 0;
		min-width: 140px;
		font-size: 16px;
	}

	.ph-foodhall-menu__carousel-wrap {
		width: 100%;
	}

	.ph-foodhall-menu__carousel {
		margin: 0 calc(var(--ph-gutter) * -1);
		padding: 0 var(--ph-gutter);
	}

	.ph-foodhall-menu__next {
		display: none;
	}

	.ph-foodhall-menu__progress {
		display: block;
	}

	.ph-foodhall-steps {
		margin: 4rem 0 2rem;
		padding: 0 var(--ph-gutter) 48px;
	}

	.ph-foodhall-steps__panel {
		padding: 32px 24px 40px;
	}

	.ph-foodhall-steps__deco {
		top: -120px;
		right: 12px;
		width: 140px;
	}

	.ph-foodhall-steps__list {
		flex-direction: column;
		gap: 32px;
	}

	.ph-foodhall-steps__item {
		max-width: none;
	}

	.ph-foodhall-tapwall {
		margin-bottom: 4rem;
	}

	.ph-foodhall-tapwall__banner {
		height: 220px;
		max-height: 220px;
	}

	.ph-foodhall-tapwall__wrap {
		padding-top: 40px;
	}

	.ph-foodhall-tapwall__title {
		font-size: 24px;
	}

	.ph-foodhall-tapwall__list {
		grid-template-columns: 1fr;
	}

	.ph-foodhall-tapwall__panel {
		margin-top: 40px;
		padding: 32px 24px 40px;
	}

	.ph-foodhall-tapwall__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 20px;
	}

	.ph-foodhall-cta {
		display: flex;
		flex-direction: column;
		margin-top: 48px;
	}

	.ph-foodhall-cta__mockup {
		order: 1;
		position: relative;
		top: auto;
		left: auto;
		transform: none;
		width: 234px;
		height: 364px;
		margin: 0 auto -152px;
		overflow: hidden;
		z-index: 2;
	}

	.ph-foodhall-cta__phone {
		position: absolute;
		left: -68.33%;
		top: -8.36%;
		width: 240.9%;
		height: 115.92%;
		max-width: none;
		object-fit: cover;
	}

	.ph-foodhall-banner--cta {
		order: 2;
		height: 204px;
		max-height: 204px;
	}

	.ph-foodhall-cta__band {
		order: 3;
		height: auto;
		min-height: 0;
		padding: 32px var(--ph-gutter);
		justify-content: stretch;
	}

	.ph-foodhall-banner--cta .ph-foodhall-banner__img {
		min-height: 0;
		height: 100%;
		object-position: center center;
	}

	.ph-foodhall-cta__content {
		max-width: none;
		padding-right: 0;
	}

	.ph-foodhall-faq {
		padding: 48px 0 64px;
	}

	.ph-foodhall-faq__wrap {
		padding: 0 var(--ph-gutter);
	}

	.ph-foodhall-faq__title {
		font-size: 30px;
		margin-bottom: 32px;
	}

	.ph-foodhall-faq__item {
		border-radius: 15px;
	}

	.ph-waitlist-modal__panel {
		padding: 36px 24px 28px;
	}

	.ph-waitlist-modal__row {
		grid-template-columns: 1fr;
	}

	.ph-waitlist-modal__title {
		font-size: 24px;
		padding-right: 28px;
	}

	.ph-faq-intro {
		min-height: 255px;
		padding: 81px 0 48px;
	}

	.ph-faq-intro__texture {
		top: 0;
		height: 255px;
		opacity: 0.13;
		-webkit-mask-image: url('../images/faq-hero-texture-mask-mobile.svg');
		mask-image: url('../images/faq-hero-texture-mask-mobile.svg');
		-webkit-mask-position: 30px 81px;
		mask-position: 30px 81px;
		-webkit-mask-size: 891px 255px;
		mask-size: 891px 255px;
	}

	.ph-faq-intro__inner,
	.ph-faq-list__wrap,
	.ph-faq-cta__wrap {
		max-width: none;
		padding-left: var(--ph-gutter);
		padding-right: var(--ph-gutter);
	}

	.ph-faq-intro__title {
		font-size: 30px;
	}

	.ph-faq-intro__lead {
		font-size: 17px;
	}

	.ph-faq-list {
		padding: 0 0 40px;
	}

	.ph-faq-list__grid {
		grid-template-columns: 1fr;
		gap: 30px;
		max-width: none;
	}

	.ph-faq-list__item {
		padding: 20px;
	}

	.ph-faq-cta {
		padding: 0 0 64px;
	}

	.ph-faq-cta__panel {
		min-height: 294px;
	}

	.ph-faq-cta__content {
		align-items: flex-start;
		padding: 32px 24px;
		gap: 20px;
	}

	.ph-faq-cta__title {
		font-size: 25px;
		text-align: left;
	}

	.ph-faq-cta__form {
		flex-direction: column;
		align-items: stretch;
		max-width: none;
	}

	.ph-faq-cta__input,
	.ph-faq-cta__input--message {
		flex: 1 1 auto;
		width: 100%;
	}

	.ph-faq-cta__submit {
		width: 133px;
	}
}
