/*
 * PHONKLAI Cancellation & Booking Policy page.
 * All customer-facing content remains in native Elementor widgets.
 */

.pk-policy-page {
	--pk-pl-ink: #10241f;
	--pk-pl-green: #004b3d;
	--pk-pl-deep: #00382f;
	--pk-pl-sage: #b7c8a6;
	--pk-pl-acid: #d8ea72;
	--pk-pl-coral: #dc9967;
	--pk-pl-ivory: #f6f3ea;
	--pk-pl-warm: #ebe7db;
	--pk-pl-white: #ffffff;
	--pk-pl-muted: #5d6a65;
	--pk-pl-line: rgba(16, 36, 31, 0.18);
	width: 100%;
	max-width: none !important;
	overflow: clip;
	background: var(--pk-pl-ivory);
	color: var(--pk-pl-ink);
}

.pk-policy-page,
.pk-policy-page * {
	box-sizing: border-box;
}

.pk-policy-page > .e-con-inner,
.pk-policy-page > .elementor-container {
	max-width: none !important;
	width: 100% !important;
}

.pk-policy-page :is(h1, h2, h3, p) {
	margin-block: 0;
}

.pk-policy-page .elementor-widget-heading,
.pk-policy-page .elementor-widget-text-editor,
.pk-policy-page .elementor-widget-icon,
.pk-policy-page .elementor-widget-icon-box,
.pk-policy-page .elementor-widget-button {
	margin-block-end: 0;
}

.pk-policy-page .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

.pk-policy-page .elementor-button,
.pk-policy-page .elementor-button-content-wrapper,
.pk-policy-page .elementor-button-text,
.pk-policy-page .elementor-button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.15;
}

.pk-policy-page .elementor-button {
	min-height: 52px;
}

.pk-policy-page a:focus-visible,
.pk-policy-page button:focus-visible {
	outline: 3px solid var(--pk-pl-acid);
	outline-offset: 4px;
}

.pk-policy-page .pk-pl-eyebrow .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.25;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-section-number .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(58px, 6.5vw, 104px);
	font-weight: 300;
	line-height: 0.78;
	letter-spacing: -0.07em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(0, 75, 61, 0.42);
}

/* Hero */
.pk-policy-page .pk-pl-hero {
	position: relative;
	width: 100%;
	max-width: none !important;
	min-height: min(790px, calc(100svh - 112px));
	background:
		linear-gradient(90deg, rgba(0, 75, 61, 0.06) 0 1px, transparent 1px) 6.5vw 0 / 92px 100%,
		var(--pk-pl-ivory);
}

.pk-policy-page .pk-pl-hero::before {
	content: "";
	position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
	width: 8px;
	height: 100%;
	background: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-hero-copy {
	position: relative;
	z-index: 3;
	width: 60%;
	min-width: 0;
	justify-content: center;
	padding: clamp(78px, 8vw, 128px) clamp(58px, 7vw, 112px) clamp(64px, 6vw, 98px) max(48px, calc((100vw - 1320px) / 2));
}

.pk-policy-page .pk-pl-hero-eyebrow {
	margin-bottom: 30px;
}

.pk-policy-page .pk-pl-hero-title {
	max-width: 780px;
}

.pk-policy-page .pk-pl-hero-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(64px, 7.1vw, 112px);
	font-weight: 640;
	line-height: 0.9;
	letter-spacing: -0.071em;
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-hero-text {
	max-width: 660px;
	margin-top: 31px;
}

.pk-policy-page .pk-pl-hero-text p {
	font-family: "Arial", sans-serif;
	font-size: clamp(18px, 1.6vw, 23px);
	line-height: 1.53;
	letter-spacing: -0.02em;
	color: #45544f;
}

.pk-policy-page .pk-pl-hero-buttons {
	margin-top: 38px;
}

.pk-policy-page .pk-pl-button .elementor-button {
	min-height: 58px;
	padding: 16px 25px;
	border: 1px solid var(--pk-pl-green);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 750;
	letter-spacing: -0.01em;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.pk-policy-page .pk-pl-button--primary .elementor-button {
	background: var(--pk-pl-green);
	color: var(--pk-pl-white);
	box-shadow: 0 15px 34px rgba(0, 75, 61, 0.18);
}

.pk-policy-page .pk-pl-button--outline .elementor-button {
	background: transparent;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-button .elementor-button:hover {
	transform: translateY(-2px);
}

.pk-policy-page .pk-pl-button--outline .elementor-button:hover {
	background: var(--pk-pl-green);
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-hero-facts {
	width: min(100%, 650px);
	margin-top: clamp(42px, 6vh, 68px);
	padding-top: 20px;
	border-top: 1px solid var(--pk-pl-line);
}

.pk-policy-page .pk-pl-hero-fact {
	width: calc(50% - 11px);
	min-width: 0;
}

.pk-policy-page .pk-pl-hero-fact .elementor-icon-box-wrapper {
	display: grid;
	grid-template-columns: 38px 1fr;
	column-gap: 12px;
	align-items: center;
	text-align: left;
}

.pk-policy-page .pk-pl-hero-fact .elementor-icon-box-icon {
	grid-row: 1 / span 2;
	margin: 0;
}

.pk-policy-page .pk-pl-hero-fact .elementor-icon {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border: 1px solid rgba(0, 75, 61, 0.35);
	border-radius: 50%;
	font-size: 15px;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-hero-fact .elementor-icon-box-title {
	margin: 0 0 2px;
	font-family: "Arial", sans-serif;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.25;
	color: var(--pk-pl-ink);
}

.pk-policy-page .pk-pl-hero-fact .elementor-icon-box-description {
	font-family: "Arial", sans-serif;
	font-size: 12px;
	line-height: 1.4;
	color: var(--pk-pl-muted);
}

.pk-policy-page .pk-pl-hero-signal {
	position: relative;
	width: 40%;
	min-width: 0;
	align-self: stretch;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 50%, transparent 0 27%, rgba(216, 234, 114, 0.29) 27.15% 27.35%, transparent 27.5% 38%, rgba(216, 234, 114, 0.13) 38.15% 38.35%, transparent 38.5%),
		var(--pk-pl-green);
}

.pk-policy-page .pk-pl-hero-signal::before,
.pk-policy-page .pk-pl-hero-signal::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.pk-policy-page .pk-pl-hero-signal::before {
	top: 0;
	left: 0;
	width: 10px;
	height: 100%;
	background: var(--pk-pl-acid);
	clip-path: polygon(100% 0, 100% 100%, 0 88%, 0 12%);
}

.pk-policy-page .pk-pl-hero-signal::after {
	right: 0;
	bottom: 0;
	width: 42%;
	height: 9px;
	background: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-hero-signal-label,
.pk-policy-page .pk-pl-hero-signal-number,
.pk-policy-page .pk-pl-hero-signal-unit,
.pk-policy-page .pk-pl-hero-signal-note {
	position: relative;
	z-index: 2;
}

.pk-policy-page .pk-pl-hero-signal-label .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 12px;
	font-weight: 760;
	letter-spacing: 0.18em;
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-hero-signal-number .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(190px, 24vw, 360px);
	font-weight: 780;
	line-height: 0.73;
	letter-spacing: -0.11em;
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-hero-signal-unit {
	margin-top: 26px;
}

.pk-policy-page .pk-pl-hero-signal-unit .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(42px, 5vw, 72px);
	font-weight: 720;
	line-height: 0.92;
	letter-spacing: -0.055em;
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-hero-signal-note {
	margin-top: 38px;
	padding: 14px 18px;
	border: 1px solid rgba(255, 255, 255, 0.27);
	border-radius: 999px;
	background: rgba(0, 56, 47, 0.46);
}

.pk-policy-page .pk-pl-hero-signal-icon .elementor-icon {
	font-size: 16px;
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-hero-signal-copy .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 10px;
	font-weight: 730;
	letter-spacing: 0.14em;
	color: var(--pk-pl-white);
}

/* Policy points */
.pk-policy-page .pk-pl-policy {
	position: relative;
	width: 100%;
	max-width: none !important;
	padding: clamp(92px, 9vw, 146px) max(48px, calc((100vw - 1320px) / 2));
	background: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-policy::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 29%;
	height: 9px;
	background: var(--pk-pl-coral);
}

.pk-policy-page .pk-pl-policy-heading {
	width: 100%;
	max-width: 1180px;
}

.pk-policy-page .pk-pl-policy-heading-copy {
	max-width: 820px;
}

.pk-policy-page .pk-pl-policy-heading-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(45px, 5.2vw, 80px);
	font-weight: 640;
	line-height: 0.97;
	letter-spacing: -0.058em;
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-policy-heading-text {
	max-width: 650px;
	margin-top: 22px;
}

.pk-policy-page .pk-pl-policy-heading-text p {
	font-family: "Arial", sans-serif;
	font-size: 16px;
	line-height: 1.62;
	color: var(--pk-pl-muted);
}

.pk-policy-page .pk-pl-policy-grid {
	position: relative;
	width: 100%;
	margin-top: clamp(62px, 7vw, 94px);
	border-top: 1px solid var(--pk-pl-line);
	border-bottom: 1px solid var(--pk-pl-line);
}

.pk-policy-page .pk-pl-policy-grid::before {
	content: "";
	position: absolute;
	z-index: 3;
	left: 0;
	top: -6px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--pk-pl-green);
	box-shadow: calc((min(100vw - 96px, 1320px) / 3) - 6px) 0 0 var(--pk-pl-acid), calc(((min(100vw - 96px, 1320px) / 3) * 2) - 6px) 0 0 var(--pk-pl-coral), calc(min(100vw - 96px, 1320px) - 12px) 0 0 var(--pk-pl-green);
}

.pk-policy-page .pk-pl-policy-point {
	position: relative;
	width: 33.333%;
	min-width: 0;
	padding: 34px clamp(25px, 3.5vw, 52px) 44px;
	border-right: 1px solid var(--pk-pl-line);
	background: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-policy-point:last-child {
	border-right: 0;
}

.pk-policy-page .pk-pl-policy-point--late {
	transform: translateY(-16px);
	background: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-policy-point--noshow {
	background: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-policy-point-head {
	width: 100%;
	margin-bottom: 48px;
}

.pk-policy-page .pk-pl-policy-index .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 11px;
	font-weight: 760;
	letter-spacing: 0.14em;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-policy-point--noshow .pk-pl-policy-index .elementor-heading-title {
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-policy-icon .elementor-icon {
	font-size: 24px;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-policy-point--noshow .pk-pl-policy-icon .elementor-icon {
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-policy-value-wrap {
	min-height: 116px;
}

.pk-policy-page .pk-pl-policy-value .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(92px, 10vw, 154px);
	font-weight: 760;
	line-height: 0.74;
	letter-spacing: -0.09em;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-policy-point--noshow .pk-pl-policy-value .elementor-heading-title {
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-policy-unit .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(22px, 2.6vw, 38px);
	font-weight: 730;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-policy-point--noshow .pk-pl-policy-unit .elementor-heading-title {
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-policy-title {
	margin-top: 28px;
}

.pk-policy-page .pk-pl-policy-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 680;
	line-height: 1.12;
	letter-spacing: -0.038em;
	color: var(--pk-pl-ink);
}

.pk-policy-page .pk-pl-policy-point--noshow .pk-pl-policy-title .elementor-heading-title {
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-policy-text {
	margin-top: 14px;
}

.pk-policy-page .pk-pl-policy-text p {
	font-family: "Arial", sans-serif;
	font-size: 14px;
	line-height: 1.58;
	color: var(--pk-pl-muted);
}

.pk-policy-page .pk-pl-policy-point--noshow .pk-pl-policy-text p {
	color: rgba(255, 255, 255, 0.72);
}

/* Timeline */
.pk-policy-page .pk-pl-timeline {
	position: relative;
	width: 100%;
	max-width: none !important;
	padding: clamp(92px, 10vw, 156px) max(48px, calc((100vw - 1320px) / 2));
	background:
		radial-gradient(circle at 92% 18%, rgba(216, 234, 114, 0.09) 0 1px, transparent 2px) 0 0 / 19px 19px,
		var(--pk-pl-deep);
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-timeline::before {
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: 43%;
	height: 18px;
	background: var(--pk-pl-acid);
	clip-path: polygon(0 0, 100% 0, calc(100% - 22px) 100%, 0 100%);
}

.pk-policy-page .pk-pl-timeline-heading {
	width: 100%;
}

.pk-policy-page .pk-pl-timeline-intro {
	width: 62%;
	min-width: 0;
}

.pk-policy-page .pk-pl-timeline-text {
	width: 38%;
	min-width: 0;
	padding-top: 58px;
}

.pk-policy-page .pk-pl-timeline-index .elementor-heading-title,
.pk-policy-page .pk-pl-timeline-eyebrow .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 12px;
	font-weight: 760;
	letter-spacing: 0.17em;
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-timeline-eyebrow {
	margin-top: 34px;
}

.pk-policy-page .pk-pl-timeline-title {
	max-width: 780px;
	margin-top: 18px;
}

.pk-policy-page .pk-pl-timeline-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(48px, 5.5vw, 84px);
	font-weight: 630;
	line-height: 0.95;
	letter-spacing: -0.06em;
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-timeline-text p {
	font-family: "Arial", sans-serif;
	font-size: 17px;
	line-height: 1.62;
	color: rgba(255, 255, 255, 0.72);
}

.pk-policy-page .pk-pl-time-track {
	position: relative;
	width: 100%;
	margin-top: clamp(64px, 7vw, 92px);
	border-top: 1px solid rgba(255, 255, 255, 0.26);
	border-bottom: 1px solid rgba(255, 255, 255, 0.26);
}

.pk-policy-page .pk-pl-time-track::before {
	content: "";
	position: absolute;
	z-index: 3;
	top: -8px;
	left: 0;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--pk-pl-sage);
	box-shadow: calc((min(100vw - 96px, 1320px) * 0.48) - 8px) 0 0 var(--pk-pl-acid), calc(min(100vw - 96px, 1320px) - 16px) 0 0 var(--pk-pl-coral);
}

.pk-policy-page .pk-pl-time-zone {
	position: relative;
	width: 34%;
	min-width: 0;
	padding: 38px clamp(24px, 3.4vw, 52px) 44px;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.pk-policy-page .pk-pl-time-zone--threshold {
	width: 14%;
	justify-content: center;
	background: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-time-zone--late {
	width: 52%;
	border-right: 0;
	background: rgba(220, 153, 103, 0.08);
}

.pk-policy-page .pk-pl-time-label .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 11px;
	font-weight: 760;
	letter-spacing: 0.16em;
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-time-zone--threshold .pk-pl-time-label .elementor-heading-title {
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-time-zone--late .pk-pl-time-label .elementor-heading-title {
	color: var(--pk-pl-coral);
}

.pk-policy-page .pk-pl-time-title {
	margin-top: 20px;
}

.pk-policy-page .pk-pl-time-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 670;
	line-height: 1.12;
	letter-spacing: -0.038em;
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-time-zone--threshold .pk-pl-time-title .elementor-heading-title {
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-time-copy {
	margin-top: 9px;
}

.pk-policy-page .pk-pl-time-copy p {
	font-family: "Arial", sans-serif;
	font-size: 13px;
	line-height: 1.52;
	color: rgba(255, 255, 255, 0.65);
}

.pk-policy-page .pk-pl-time-zone--threshold .pk-pl-time-copy p {
	color: rgba(0, 56, 47, 0.74);
}

/* Change an appointment */
.pk-policy-page .pk-pl-change {
	position: relative;
	width: 100%;
	max-width: none !important;
	background: var(--pk-pl-warm);
}

.pk-policy-page .pk-pl-change-intro {
	position: relative;
	width: 44%;
	min-width: 0;
	justify-content: center;
	padding: clamp(92px, 9vw, 146px) clamp(52px, 6vw, 94px) clamp(128px, 12vw, 190px) max(48px, calc((100vw - 1320px) / 2));
	overflow: hidden;
}

.pk-policy-page .pk-pl-change-title {
	max-width: 610px;
	margin-top: 18px;
}

.pk-policy-page .pk-pl-change-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(46px, 5.2vw, 80px);
	font-weight: 640;
	line-height: 0.97;
	letter-spacing: -0.06em;
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-change-text {
	max-width: 550px;
	margin-top: 24px;
}

.pk-policy-page .pk-pl-change-text p {
	font-family: "Arial", sans-serif;
	font-size: 16px;
	line-height: 1.62;
	color: var(--pk-pl-muted);
}

.pk-policy-page .pk-pl-change-word {
	position: absolute;
	left: max(48px, calc((100vw - 1320px) / 2));
	bottom: 26px;
}

.pk-policy-page .pk-pl-change-word .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(80px, 10.5vw, 166px);
	font-weight: 820;
	line-height: 0.72;
	letter-spacing: -0.09em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(0, 75, 61, 0.2);
}

.pk-policy-page .pk-pl-change-list {
	width: 56%;
	min-width: 0;
	justify-content: center;
	padding: clamp(72px, 8vw, 126px) max(48px, calc((100vw - 1320px) / 2)) clamp(72px, 8vw, 126px) clamp(38px, 5vw, 80px);
	background: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-step {
	position: relative;
	padding: 28px 0;
	border-bottom: 1px solid var(--pk-pl-line);
}

.pk-policy-page .pk-pl-step:first-child {
	border-top: 1px solid var(--pk-pl-line);
}

.pk-policy-page .pk-pl-step-number {
	width: 28px;
	flex: 0 0 28px;
}

.pk-policy-page .pk-pl-step-number .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 10px;
	font-weight: 760;
	letter-spacing: 0.14em;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-step-icon {
	width: 44px;
	flex: 0 0 44px;
}

.pk-policy-page .pk-pl-step-icon .elementor-icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgba(0, 75, 61, 0.28);
	border-radius: 50%;
	font-size: 17px;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-step-copy {
	min-width: 0;
}

.pk-policy-page .pk-pl-step-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 22px;
	font-weight: 680;
	line-height: 1.15;
	letter-spacing: -0.035em;
	color: var(--pk-pl-ink);
}

.pk-policy-page .pk-pl-step-text p {
	font-family: "Arial", sans-serif;
	font-size: 14px;
	line-height: 1.54;
	color: var(--pk-pl-muted);
}

.pk-policy-page .pk-pl-change-buttons {
	margin-top: 34px;
}

.pk-policy-page .pk-pl-change-button .elementor-button {
	min-height: 54px;
	padding: 14px 22px;
	border: 1px solid var(--pk-pl-green);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 750;
}

.pk-policy-page .pk-pl-change-button--primary .elementor-button {
	background: var(--pk-pl-green);
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-change-button--outline .elementor-button {
	background: transparent;
	color: var(--pk-pl-green);
}

/* Why notice matters */
.pk-policy-page .pk-pl-reason {
	position: relative;
	width: 100%;
	max-width: none !important;
	padding: clamp(88px, 9vw, 142px) max(48px, calc((100vw - 1320px) / 2));
	background: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-reason-heading {
	width: 100%;
	max-width: 1120px;
}

.pk-policy-page .pk-pl-reason-index .elementor-heading-title,
.pk-policy-page .pk-pl-reason-eyebrow .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 12px;
	font-weight: 760;
	letter-spacing: 0.17em;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-reason-title {
	max-width: 820px;
	margin-top: 18px;
}

.pk-policy-page .pk-pl-reason-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(46px, 5.2vw, 80px);
	font-weight: 640;
	line-height: 0.97;
	letter-spacing: -0.059em;
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-reason-row {
	width: 100%;
	margin-top: clamp(56px, 7vw, 88px);
	border-top: 1px solid var(--pk-pl-line);
	border-bottom: 1px solid var(--pk-pl-line);
}

.pk-policy-page .pk-pl-reason-item {
	position: relative;
	width: 33.333%;
	min-width: 0;
	padding: 38px clamp(24px, 3.5vw, 52px) 42px;
	border-right: 1px solid var(--pk-pl-line);
}

.pk-policy-page .pk-pl-reason-item:last-child {
	border-right: 0;
}

.pk-policy-page .pk-pl-reason-item::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 36%;
	height: 5px;
	background: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-reason-item:nth-child(2)::after {
	width: 68%;
	background: var(--pk-pl-coral);
}

.pk-policy-page .pk-pl-reason-item:nth-child(3)::after {
	width: 100%;
	background: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-reason-item .elementor-icon-box-wrapper {
	text-align: left;
}

.pk-policy-page .pk-pl-reason-item .elementor-icon-box-icon {
	margin: 0 0 46px;
	text-align: left;
}

.pk-policy-page .pk-pl-reason-item .elementor-icon {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border: 1px solid rgba(0, 75, 61, 0.28);
	border-radius: 50%;
	font-size: 18px;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-reason-item .elementor-icon-box-title {
	margin: 0 0 12px;
	font-family: "Arial", sans-serif;
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 680;
	line-height: 1.12;
	letter-spacing: -0.038em;
	color: var(--pk-pl-ink);
}

.pk-policy-page .pk-pl-reason-item .elementor-icon-box-description {
	font-family: "Arial", sans-serif;
	font-size: 14px;
	line-height: 1.58;
	color: var(--pk-pl-muted);
}

/* Booking essentials */
.pk-policy-page .pk-pl-essentials {
	position: relative;
	width: 100%;
	max-width: none !important;
	background: var(--pk-pl-ivory);
}

.pk-policy-page .pk-pl-essentials-copy {
	width: 58%;
	min-width: 0;
	justify-content: center;
	padding: clamp(90px, 9vw, 144px) clamp(56px, 7vw, 112px) clamp(90px, 9vw, 144px) max(48px, calc((100vw - 1320px) / 2));
}

.pk-policy-page .pk-pl-essentials-title {
	max-width: 680px;
	margin-top: 18px;
}

.pk-policy-page .pk-pl-essentials-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(44px, 5vw, 76px);
	font-weight: 640;
	line-height: 0.98;
	letter-spacing: -0.057em;
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-essentials-text {
	max-width: 650px;
	margin-top: 24px;
}

.pk-policy-page .pk-pl-essentials-text p {
	font-family: "Arial", sans-serif;
	font-size: 16px;
	line-height: 1.64;
	color: var(--pk-pl-muted);
}

.pk-policy-page .pk-pl-essential-facts {
	width: 42%;
	min-width: 0;
	justify-content: center;
	padding: clamp(76px, 8vw, 124px) max(48px, calc((100vw - 1320px) / 2)) clamp(76px, 8vw, 124px) clamp(48px, 6vw, 92px);
	background: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-essential-fact {
	padding: 26px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.pk-policy-page .pk-pl-essential-fact:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.pk-policy-page .pk-pl-essential-fact .elementor-icon-box-wrapper {
	display: grid;
	grid-template-columns: 48px 1fr;
	column-gap: 17px;
	align-items: center;
	text-align: left;
}

.pk-policy-page .pk-pl-essential-fact .elementor-icon-box-icon {
	grid-row: 1 / span 2;
	margin: 0;
}

.pk-policy-page .pk-pl-essential-fact .elementor-icon {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border: 1px solid rgba(216, 234, 114, 0.45);
	border-radius: 50%;
	font-size: 18px;
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-essential-fact .elementor-icon-box-title {
	margin: 0 0 4px;
	font-family: "Arial", sans-serif;
	font-size: 20px;
	font-weight: 680;
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-essential-fact .elementor-icon-box-description {
	font-family: "Arial", sans-serif;
	font-size: 13px;
	line-height: 1.48;
	color: rgba(255, 255, 255, 0.65);
}

/* FAQ */
.pk-policy-page .pk-pl-faq {
	position: relative;
	width: 100%;
	max-width: none !important;
	padding: clamp(94px, 10vw, 154px) max(48px, calc((100vw - 1320px) / 2));
	background: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-faq-intro {
	position: sticky;
	top: 32px;
	width: 38%;
	min-width: 0;
}

.pk-policy-page .pk-pl-faq-title {
	max-width: 520px;
	margin-top: 18px;
}

.pk-policy-page .pk-pl-faq-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(42px, 4.6vw, 70px);
	font-weight: 640;
	line-height: 0.99;
	letter-spacing: -0.056em;
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-faq-intro-text {
	max-width: 470px;
	margin-top: 24px;
}

.pk-policy-page .pk-pl-faq-intro-text p {
	font-family: "Arial", sans-serif;
	font-size: 16px;
	line-height: 1.62;
	color: var(--pk-pl-muted);
}

.pk-policy-page .pk-pl-faq-button {
	margin-top: 30px;
}

.pk-policy-page .pk-pl-faq-button .elementor-button {
	min-height: 50px;
	padding: 13px 21px;
	border: 1px solid var(--pk-pl-green);
	border-radius: 999px;
	background: transparent;
	font-size: 13px;
	font-weight: 750;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-faq-list {
	width: 62%;
	min-width: 0;
	border-top: 1px solid var(--pk-pl-line);
}

.pk-policy-page .pk-pl-faq-item {
	width: 100%;
	padding: 28px 0;
	border-bottom: 1px solid var(--pk-pl-line);
}

.pk-policy-page .pk-pl-faq-number {
	width: 32px;
	flex: 0 0 32px;
}

.pk-policy-page .pk-pl-faq-number .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 10px;
	font-weight: 760;
	letter-spacing: 0.14em;
	color: var(--pk-pl-green);
}

.pk-policy-page .pk-pl-faq-copy {
	flex: 1 1 auto;
	min-width: 0;
}

.pk-policy-page .pk-pl-faq-question .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(20px, 2.1vw, 28px);
	font-weight: 670;
	line-height: 1.15;
	letter-spacing: -0.035em;
	color: var(--pk-pl-ink);
}

.pk-policy-page .pk-pl-faq-answer p {
	max-width: 650px;
	font-family: "Arial", sans-serif;
	font-size: 14px;
	line-height: 1.58;
	color: var(--pk-pl-muted);
}

.pk-policy-page .pk-pl-faq-icon {
	width: 34px;
	flex: 0 0 34px;
}

.pk-policy-page .pk-pl-faq-icon .elementor-icon {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border: 1px solid rgba(0, 75, 61, 0.25);
	border-radius: 50%;
	font-size: 11px;
	color: var(--pk-pl-green);
}

/* Closing */
.pk-policy-page .pk-pl-closing {
	position: relative;
	width: 100%;
	max-width: none !important;
	align-items: center;
	padding: clamp(92px, 10vw, 156px) max(48px, calc((100vw - 1320px) / 2));
	overflow: hidden;
	text-align: center;
	background:
		radial-gradient(circle at 50% 125%, transparent 0 180px, rgba(216, 234, 114, 0.19) 181px 182px, transparent 183px 244px, rgba(216, 234, 114, 0.1) 245px 246px, transparent 247px),
		var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-closing::before,
.pk-policy-page .pk-pl-closing::after {
	content: "";
	position: absolute;
	top: 0;
	width: 21%;
	height: 8px;
	background: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-closing::before {
	left: 0;
}

.pk-policy-page .pk-pl-closing::after {
	right: 0;
}

.pk-policy-page .pk-pl-closing-eyebrow .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: 12px;
	font-weight: 760;
	letter-spacing: 0.18em;
	color: var(--pk-pl-acid);
}

.pk-policy-page .pk-pl-closing-title {
	max-width: 960px;
	margin-top: 21px;
}

.pk-policy-page .pk-pl-closing-title .elementor-heading-title {
	font-family: "Arial", sans-serif;
	font-size: clamp(50px, 6vw, 92px);
	font-weight: 640;
	line-height: 0.94;
	letter-spacing: -0.063em;
	color: var(--pk-pl-white);
	text-align: center;
}

.pk-policy-page .pk-pl-closing-text {
	max-width: 680px;
	margin-top: 25px;
}

.pk-policy-page .pk-pl-closing-text p {
	font-family: "Arial", sans-serif;
	font-size: 16px;
	line-height: 1.62;
	color: rgba(255, 255, 255, 0.69);
	text-align: center;
}

.pk-policy-page .pk-pl-closing-buttons {
	justify-content: center;
	margin-top: 36px;
}

.pk-policy-page .pk-pl-closing-button .elementor-button {
	min-height: 58px;
	padding: 16px 25px;
	border: 1px solid var(--pk-pl-acid);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 760;
	transition: transform 180ms ease, background-color 180ms ease;
}

.pk-policy-page .pk-pl-closing-button--primary .elementor-button {
	background: var(--pk-pl-acid);
	color: var(--pk-pl-deep);
}

.pk-policy-page .pk-pl-closing-button--secondary .elementor-button {
	background: transparent;
	color: var(--pk-pl-white);
}

.pk-policy-page .pk-pl-closing-button .elementor-button:hover {
	transform: translateY(-2px);
}

.pk-policy-page .pk-pl-mobile-actions {
	display: none;
}

@media (max-width: 1024px) {
	.pk-policy-page .pk-pl-hero-copy {
		width: 58%;
		padding: 74px 44px 58px 32px;
	}

	.pk-policy-page .pk-pl-hero-signal {
		width: 42%;
	}

	.pk-policy-page .pk-pl-hero-title .elementor-heading-title {
		font-size: clamp(54px, 7vw, 74px);
	}

	.pk-policy-page .pk-pl-policy,
	.pk-policy-page .pk-pl-timeline,
	.pk-policy-page .pk-pl-reason,
	.pk-policy-page .pk-pl-faq,
	.pk-policy-page .pk-pl-closing {
		padding-left: 28px;
		padding-right: 28px;
	}

	.pk-policy-page .pk-pl-change-intro,
	.pk-policy-page .pk-pl-essentials-copy {
		padding-left: 28px;
		padding-right: 42px;
	}

	.pk-policy-page .pk-pl-change-list,
	.pk-policy-page .pk-pl-essential-facts {
		padding-right: 28px;
	}

	.pk-policy-page .pk-pl-policy-grid::before,
	.pk-policy-page .pk-pl-time-track::before {
		display: none;
	}

	.pk-policy-page .pk-pl-time-zone {
		padding-left: 28px;
		padding-right: 28px;
	}

	.pk-policy-page .pk-pl-time-zone--threshold {
		width: 20%;
	}

	.pk-policy-page .pk-pl-time-zone--early {
		width: 32%;
	}

	.pk-policy-page .pk-pl-time-zone--late {
		width: 48%;
	}
}

@media (max-width: 767px) {
	.pk-policy-page {
		padding-bottom: 76px;
	}

	.pk-policy-page .pk-pl-eyebrow .elementor-heading-title {
		font-size: 10px;
		letter-spacing: 0.14em;
	}

	.pk-policy-page .pk-pl-hero {
		min-height: 0;
		flex-direction: column;
	}

	.pk-policy-page .pk-pl-hero::before {
		width: 100%;
		height: 6px;
	}

	.pk-policy-page .pk-pl-hero-copy {
		width: 100%;
		padding: 66px 20px 48px;
	}

	.pk-policy-page .pk-pl-hero-eyebrow {
		margin-bottom: 22px;
	}

	.pk-policy-page .pk-pl-hero-title .elementor-heading-title {
		font-size: clamp(49px, 14.8vw, 66px);
		line-height: 0.92;
	}

	.pk-policy-page .pk-pl-hero-text {
		margin-top: 22px;
	}

	.pk-policy-page .pk-pl-hero-text p {
		font-size: 17px;
		line-height: 1.5;
	}

	.pk-policy-page .pk-pl-hero-buttons,
	.pk-policy-page .pk-pl-closing-buttons {
		width: 100%;
	}

	.pk-policy-page .pk-pl-button,
	.pk-policy-page .pk-pl-button .elementor-widget-container,
	.pk-policy-page .pk-pl-button .elementor-button,
	.pk-policy-page .pk-pl-closing-button,
	.pk-policy-page .pk-pl-closing-button .elementor-widget-container,
	.pk-policy-page .pk-pl-closing-button .elementor-button {
		width: 100%;
	}

	.pk-policy-page .pk-pl-hero-facts {
		margin-top: 34px;
	}

	.pk-policy-page .pk-pl-hero-fact {
		width: 100%;
		padding: 10px 0;
	}

	.pk-policy-page .pk-pl-hero-signal {
		width: 100%;
		min-height: 470px;
		padding: 54px 20px;
	}

	.pk-policy-page .pk-pl-hero-signal::before {
		width: 100%;
		height: 8px;
		clip-path: none;
	}

	.pk-policy-page .pk-pl-hero-signal-number .elementor-heading-title {
		font-size: clamp(188px, 63vw, 260px);
	}

	.pk-policy-page .pk-pl-policy,
	.pk-policy-page .pk-pl-timeline,
	.pk-policy-page .pk-pl-reason,
	.pk-policy-page .pk-pl-faq,
	.pk-policy-page .pk-pl-closing {
		padding: 76px 20px;
	}

	.pk-policy-page .pk-pl-policy-heading,
	.pk-policy-page .pk-pl-timeline-heading,
	.pk-policy-page .pk-pl-reason-heading,
	.pk-policy-page .pk-pl-faq {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.pk-policy-page .pk-pl-section-number .elementor-heading-title {
		font-size: 54px;
	}

	.pk-policy-page .pk-pl-policy-heading-title .elementor-heading-title,
	.pk-policy-page .pk-pl-change-title .elementor-heading-title,
	.pk-policy-page .pk-pl-reason-title .elementor-heading-title,
	.pk-policy-page .pk-pl-essentials-title .elementor-heading-title,
	.pk-policy-page .pk-pl-faq-title .elementor-heading-title {
		font-size: clamp(38px, 11.8vw, 50px);
		line-height: 0.99;
	}

	.pk-policy-page .pk-pl-policy-grid {
		flex-direction: column;
		margin-top: 50px;
		border-bottom: 0;
	}

	.pk-policy-page .pk-pl-policy-point {
		width: 100%;
		padding: 28px 24px 36px;
		border-right: 0;
		border-bottom: 1px solid var(--pk-pl-line);
	}

	.pk-policy-page .pk-pl-policy-point--late {
		transform: none;
	}

	.pk-policy-page .pk-pl-policy-point-head {
		margin-bottom: 34px;
	}

	.pk-policy-page .pk-pl-policy-value-wrap {
		min-height: 0;
	}

	.pk-policy-page .pk-pl-policy-value .elementor-heading-title {
		font-size: clamp(98px, 33vw, 140px);
	}

	.pk-policy-page .pk-pl-timeline-title .elementor-heading-title {
		font-size: clamp(43px, 12.8vw, 56px);
	}

	.pk-policy-page .pk-pl-timeline-intro,
	.pk-policy-page .pk-pl-timeline-text {
		width: 100%;
	}

	.pk-policy-page .pk-pl-timeline-text {
		padding-top: 0;
	}

	.pk-policy-page .pk-pl-time-track {
		flex-direction: column;
		margin-top: 48px;
	}

	.pk-policy-page .pk-pl-time-zone,
	.pk-policy-page .pk-pl-time-zone--threshold,
	.pk-policy-page .pk-pl-time-zone--early,
	.pk-policy-page .pk-pl-time-zone--late {
		width: 100%;
		padding: 28px 22px 32px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}

	.pk-policy-page .pk-pl-time-zone--threshold {
		background: var(--pk-pl-acid);
	}

	.pk-policy-page .pk-pl-change,
	.pk-policy-page .pk-pl-essentials {
		flex-direction: column;
	}

	.pk-policy-page .pk-pl-change-intro,
	.pk-policy-page .pk-pl-essentials-copy {
		width: 100%;
		padding: 76px 20px 108px;
	}

	.pk-policy-page .pk-pl-change-word {
		left: 20px;
		bottom: 22px;
	}

	.pk-policy-page .pk-pl-change-word .elementor-heading-title {
		font-size: clamp(69px, 22vw, 96px);
	}

	.pk-policy-page .pk-pl-change-list,
	.pk-policy-page .pk-pl-essential-facts {
		width: 100%;
		padding: 24px 20px 60px;
	}

	.pk-policy-page .pk-pl-step {
		gap: 13px;
	}

	.pk-policy-page .pk-pl-step-number {
		display: none;
	}

	.pk-policy-page .pk-pl-change-buttons {
		width: 100%;
	}

	.pk-policy-page .pk-pl-change-button,
	.pk-policy-page .pk-pl-change-button .elementor-widget-container,
	.pk-policy-page .pk-pl-change-button .elementor-button {
		width: 100%;
	}

	.pk-policy-page .pk-pl-reason-row {
		flex-direction: column;
		margin-top: 48px;
	}

	.pk-policy-page .pk-pl-reason-item {
		width: 100%;
		padding: 30px 0 34px;
		border-right: 0;
		border-bottom: 1px solid var(--pk-pl-line);
	}

	.pk-policy-page .pk-pl-reason-item .elementor-icon-box-icon {
		margin-bottom: 28px;
	}

	.pk-policy-page .pk-pl-essential-facts {
		padding-top: 52px;
		padding-bottom: 52px;
		background: var(--pk-pl-green);
	}

	.pk-policy-page .pk-pl-faq {
		gap: 48px;
	}

	.pk-policy-page .pk-pl-faq-intro {
		position: relative;
		top: auto;
		width: 100%;
	}

	.pk-policy-page .pk-pl-faq-list {
		width: 100%;
	}

	.pk-policy-page .pk-pl-faq-item {
		gap: 13px;
	}

	.pk-policy-page .pk-pl-faq-number,
	.pk-policy-page .pk-pl-faq-icon {
		display: none;
	}

	.pk-policy-page .pk-pl-closing {
		padding-bottom: 88px;
	}

	.pk-policy-page .pk-pl-closing-title .elementor-heading-title {
		font-size: clamp(44px, 13vw, 58px);
	}

	.pk-policy-page .pk-pl-mobile-actions {
		position: fixed;
		z-index: 9999;
		left: 8px;
		right: 8px;
		bottom: max(8px, env(safe-area-inset-bottom));
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		width: auto;
		padding: 7px;
		border: 1px solid rgba(255, 255, 255, 0.17);
		border-radius: 17px;
		background: rgba(0, 56, 47, 0.94);
		box-shadow: 0 18px 48px rgba(0, 32, 27, 0.3);
		backdrop-filter: blur(12px);
	}

	.pk-policy-page .pk-pl-mobile-call,
	.pk-policy-page .pk-pl-mobile-book {
		width: auto !important;
		max-width: none !important;
		flex: 1 1 0 !important;
		align-self: stretch !important;
	}

	.pk-policy-page .pk-pl-mobile-call .elementor-widget-container,
	.pk-policy-page .pk-pl-mobile-book .elementor-widget-container,
	.pk-policy-page .pk-pl-mobile-call .elementor-button,
	.pk-policy-page .pk-pl-mobile-book .elementor-button {
		width: 100%;
	}

	.pk-policy-page .pk-pl-mobile-call .elementor-button,
	.pk-policy-page .pk-pl-mobile-book .elementor-button {
		min-height: 50px;
		padding: 12px 10px;
		border-radius: 12px;
		font-size: 12px;
		font-weight: 760;
	}

	.pk-policy-page .pk-pl-mobile-call .elementor-button {
		border: 1px solid rgba(255, 255, 255, 0.35);
		background: transparent;
		color: var(--pk-pl-white);
	}

	.pk-policy-page .pk-pl-mobile-book .elementor-button {
		border: 1px solid var(--pk-pl-acid);
		background: var(--pk-pl-acid);
		color: var(--pk-pl-deep);
	}
}

@media (max-width: 430px) {
	.pk-policy-page .pk-pl-hero-title .elementor-heading-title {
		font-size: clamp(47px, 14.3vw, 61px);
	}

	.pk-policy-page .pk-pl-policy-title .elementor-heading-title,
	.pk-policy-page .pk-pl-step-title .elementor-heading-title,
	.pk-policy-page .pk-pl-reason-item .elementor-icon-box-title,
	.pk-policy-page .pk-pl-faq-question .elementor-heading-title {
		font-size: 21px;
	}
}

@media (max-width: 360px) {
	.pk-policy-page .pk-pl-hero-copy,
	.pk-policy-page .pk-pl-policy,
	.pk-policy-page .pk-pl-timeline,
	.pk-policy-page .pk-pl-change-intro,
	.pk-policy-page .pk-pl-reason,
	.pk-policy-page .pk-pl-essentials-copy,
	.pk-policy-page .pk-pl-faq,
	.pk-policy-page .pk-pl-closing {
		padding-left: 16px;
		padding-right: 16px;
	}

	.pk-policy-page .pk-pl-change-list,
	.pk-policy-page .pk-pl-essential-facts {
		padding-left: 16px;
		padding-right: 16px;
	}

	.pk-policy-page .pk-pl-change-word {
		left: 16px;
	}

	.pk-policy-page .pk-pl-hero-title .elementor-heading-title {
		font-size: 47px;
	}

	.pk-policy-page .pk-pl-mobile-actions {
		left: 6px;
		right: 6px;
		gap: 6px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pk-policy-page *,
	.pk-policy-page *::before,
	.pk-policy-page *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
