/* =========================================================
   MODERN PELAYANAN INFORMASI
   Website Ditjen Kesehatan Lanjutan
========================================================= */

:root {
	--pi-primary: #0ab7a3;
	--pi-primary-dark: #078f80;
	--pi-primary-deep: #06766b;

	--pi-soft: #eaf9f6;
	--pi-soft-2: #f5fbfa;

	--pi-dark: #102a2a;
	--pi-text: #465858;
	--pi-muted: #7a8b8b;

	--pi-border: rgba(16, 42, 42, 0.08);

	--pi-shadow: 0 18px 55px rgba(16, 42, 42, 0.065);

	--pi-shadow-hover: 0 25px 65px rgba(16, 42, 42, 0.11);
}

/* =========================================================
   BREADCRUMB
========================================================= */

.pi-breadcrumb {
	position: relative;
	z-index: 10;
	background: #ffffff;
}

/* =========================================================
   HERO
========================================================= */

.pi-hero {
	position: relative;

	min-height: 505px;

	display: flex;
	align-items: center;

	overflow: hidden;

	background:
		radial-gradient(
			circle at 84% 21%,
			rgba(10, 183, 163, 0.19),
			transparent 29%
		),
		radial-gradient(
			circle at 8% 80%,
			rgba(10, 183, 163, 0.08),
			transparent 26%
		),
		linear-gradient(135deg, #e8f9f6 0%, #f7fcfb 57%, #ffffff 100%);
}

/* Grid */

.pi-hero-grid {
	position: absolute;
	inset: 0;

	background-image:
		linear-gradient(rgba(10, 183, 163, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(10, 183, 163, 0.04) 1px, transparent 1px);

	background-size: 54px 54px;

	mask-image: linear-gradient(to right, black, transparent 82%);
}

/* =========================================================
   PARALLAX
========================================================= */

.pi-orbit,
.pi-particle,
.pi-hero-document {
	position: absolute;

	pointer-events: none;

	will-change: transform;
}

.pi-orbit {
	border-radius: 50%;
}

.pi-orbit-one {
	width: 490px;
	height: 490px;

	right: -225px;
	top: -255px;

	border: 1px solid rgba(10, 183, 163, 0.17);
}

.pi-orbit-two {
	width: 330px;
	height: 330px;

	right: -75px;
	top: -70px;

	border: 1px solid rgba(10, 183, 163, 0.11);
}

.pi-particle {
	border-radius: 50%;
}

.pi-particle-one {
	width: 10px;
	height: 10px;

	right: 27%;
	top: 24%;

	background: var(--pi-primary);

	opacity: 0.32;

	box-shadow:
		0 0 0 9px rgba(10, 183, 163, 0.06),
		0 0 0 18px rgba(10, 183, 163, 0.03);
}

.pi-particle-two {
	width: 7px;
	height: 7px;

	right: 16%;
	top: 65%;

	background: var(--pi-primary);

	opacity: 0.28;
}

.pi-particle-three {
	width: 17px;
	height: 17px;

	right: 35%;
	bottom: 21%;

	border: 2px solid rgba(10, 183, 163, 0.18);
}

/* =========================================================
   ABSTRACT DOCUMENT VISUAL
========================================================= */

.pi-hero-document {
	right: 13%;
	top: 50%;

	width: 220px;
	height: 275px;

	padding: 42px 28px;

	border: 1px solid rgba(10, 183, 163, 0.14);

	border-radius: 17px;

	background: rgba(255, 255, 255, 0.4);

	box-shadow: 0 30px 70px rgba(10, 183, 163, 0.08);

	transform: translateY(-50%) rotate(7deg);

	opacity: 0.58;
}

.pi-hero-document::before {
	content: "";

	position: absolute;

	top: -1px;
	right: -1px;

	width: 58px;
	height: 58px;

	border-left: 1px solid rgba(10, 183, 163, 0.12);

	border-bottom: 1px solid rgba(10, 183, 163, 0.12);

	background: linear-gradient(
		135deg,
		transparent 49%,
		rgba(10, 183, 163, 0.05) 50%
	);

	border-radius: 0 17px 0 0;
}

.pi-document-line {
	height: 6px;

	margin-bottom: 18px;

	border-radius: 10px;

	background: rgba(10, 183, 163, 0.14);
}

.pi-document-line-one {
	width: 70%;
}

.pi-document-line-two {
	width: 92%;
}

.pi-document-line-three {
	width: 58%;
}

.pi-document-accent {
	width: 42%;
	height: 35px;

	margin-top: 38px;

	border-radius: 8px;

	background: rgba(10, 183, 163, 0.09);
}

/* =========================================================
   HERO CONTENT
========================================================= */

.pi-hero .container {
	position: relative;
	z-index: 3;
}

.pi-hero-content {
	max-width: 790px;

	padding: 76px 0 95px;
}

.pi-eyebrow {
	display: inline-block;

	margin-bottom: 19px;

	color: var(--pi-primary-dark);

	font-size: 10px;
	font-weight: 800;

	letter-spacing: 2px;
}

.pi-eyebrow::after {
	content: "";

	display: block;

	width: 36px;
	height: 2px;

	margin-top: 8px;

	background: var(--pi-primary);
}

.pi-hero h1 {
	margin: 0;

	color: var(--pi-dark);

	font-size: clamp(44px, 5vw, 69px);
	line-height: 1.03;

	letter-spacing: -2.6px;

	font-weight: 300;
}

.pi-hero h1 strong {
	display: block;

	color: var(--pi-primary);

	font-weight: 750;
}

.pi-hero-content > p {
	max-width: 700px;

	margin: 25px 0 30px;

	color: var(--pi-text);

	font-size: 15px;
	line-height: 1.8;
}

.pi-hero-contact {
	display: flex;
	align-items: center;
	gap: 12px;

	width: fit-content;

	padding-bottom: 7px;

	border-bottom: 1px solid rgba(10, 183, 163, 0.22);
}

.pi-hero-contact span {
	color: var(--pi-muted);

	font-size: 10px;

	text-transform: uppercase;

	letter-spacing: 0.9px;
}

.pi-hero-contact a {
	color: var(--pi-primary-dark) !important;

	font-size: 12px;
	font-weight: 700;

	text-decoration: none;
}

.pi-hero-contact a:hover {
	color: var(--pi-primary) !important;
}

/* =========================================================
   HERO WAVE
========================================================= */

.pi-hero-wave {
	position: absolute;

	left: 0;
	right: 0;
	bottom: -1px;

	height: 65px;

	z-index: 4;

	pointer-events: none;
}

.pi-hero-wave svg {
	display: block;

	width: 100%;
	height: 100%;
}

.pi-hero-wave path {
	fill: #ffffff;
}

/* =========================================================
   MAIN
========================================================= */

.pi-main {
	position: relative;

	padding: 76px 0 110px;

	background: linear-gradient(180deg, #ffffff 0%, #f6faf9 100%);
}

/* =========================================================
   INTRO
========================================================= */

.pi-intro {
	max-width: 950px;

	display: grid;

	grid-template-columns: 4px 1fr;

	gap: 22px;

	margin: 0 auto 78px;

	padding: 5px 0;
}

.pi-intro-line {
	width: 4px;

	border-radius: 10px;

	background: linear-gradient(
		180deg,
		var(--pi-primary),
		rgba(10, 183, 163, 0.18)
	);
}

.pi-intro > div:last-child > span,
.pi-section-heading > span,
.pi-summary-copy > span,
.pi-form-copy > span,
.pi-hours-heading > span {
	display: block;

	margin-bottom: 7px;

	color: var(--pi-primary-dark);

	font-size: 10px;
	font-weight: 800;

	letter-spacing: 1.8px;
}

.pi-intro h2 {
	margin: 0 0 12px;

	color: var(--pi-dark);

	font-size: 31px;
	line-height: 1.25;
}

.pi-intro p {
	max-width: 850px;

	margin: 0 0 10px;

	color: var(--pi-text);

	font-size: 14px;
	line-height: 1.8;
}

.pi-intro p:last-child {
	margin-bottom: 0;
}

/* =========================================================
   SECTION HEADING
========================================================= */

.pi-section-heading {
	max-width: 780px;

	margin-bottom: 28px;
}

.pi-section-heading h2 {
	margin: 0 0 9px;

	color: var(--pi-dark);

	font-size: 29px;
	line-height: 1.25;
}

.pi-section-heading p {
	margin: 0;

	color: var(--pi-text);

	font-size: 13px;
	line-height: 1.75;
}

/* =========================================================
   REQUEST
========================================================= */

.pi-request,
.pi-requirement-section {
	max-width: 1050px;

	margin: 0 auto 80px;
}

.pi-email-card {
	padding: 28px 31px;

	border: 1px solid rgba(10, 183, 163, 0.11);

	border-radius: 20px;

	background: linear-gradient(135deg, #f0fbf9, #ffffff);

	box-shadow: 0 12px 40px rgba(16, 42, 42, 0.045);
}

.pi-email-label {
	margin-bottom: 9px;

	color: var(--pi-muted);

	font-size: 9px;
	font-weight: 800;

	letter-spacing: 1.5px;
}

.pi-email-address {
	display: inline-block;

	margin-bottom: 9px;

	color: var(--pi-primary-dark) !important;

	font-size: clamp(21px, 3vw, 30px);
	font-weight: 700;

	text-decoration: none;
}

.pi-email-address:hover {
	color: var(--pi-primary) !important;
}

.pi-email-card p {
	margin: 0;

	color: var(--pi-text);

	font-size: 12px;
}

/* =========================================================
   REQUIREMENTS
========================================================= */

.pi-requirement-card {
	overflow: hidden;

	border: 1px solid var(--pi-border);

	border-radius: 21px;

	background: #ffffff;

	box-shadow: var(--pi-shadow);
}

.pi-requirement-list {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pi-requirement-item {
	display: grid;

	grid-template-columns: 45px 1fr;

	gap: 15px;

	padding: 27px 28px;

	border-right: 1px solid #edf2f1;

	border-bottom: 1px solid #edf2f1;

	transition: background 0.25s ease;
}

.pi-requirement-item:nth-child(even) {
	border-right: none;
}

.pi-requirement-item:nth-last-child(-n + 2) {
	border-bottom: none;
}

.pi-requirement-item:hover {
	background: #f8fcfb;
}

.pi-number {
	width: 39px;
	height: 39px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 12px;

	color: var(--pi-primary-dark);

	background: var(--pi-soft);

	font-size: 10px;
	font-weight: 800;
}

.pi-requirement-item h3 {
	margin: 0 0 8px;

	color: var(--pi-dark);

	font-size: 15px;
}

.pi-requirement-item p {
	margin: 0;

	color: var(--pi-text);

	font-size: 12px;
	line-height: 1.75;
}

/* =========================================================
   SUMMARY
========================================================= */

.pi-summary {
	max-width: 1050px;

	display: grid;

	grid-template-columns:
		0.85fr
		1.15fr;

	gap: 42px;

	align-items: center;

	margin: 0 auto 78px;
	padding: 31px;

	border: 1px solid var(--pi-border);

	border-radius: 23px;

	background: #ffffff;

	box-shadow: var(--pi-shadow);
}

.pi-summary-copy h2 {
	margin: 0 0 11px;

	color: var(--pi-dark);

	font-size: 25px;
	line-height: 1.3;
}

.pi-summary-copy p {
	margin: 0;

	color: var(--pi-text);

	font-size: 12px;
	line-height: 1.75;
}

.pi-summary-image {
	overflow: hidden;

	border-radius: 13px;

	background: #f5f8f7;
}

.pi-summary-image img {
	display: block;

	width: 100%;
	height: auto;

	transition: transform 0.5s ease;
}

.pi-summary:hover .pi-summary-image img {
	transform: scale(1.015);
}

/* =========================================================
   FORM CTA
========================================================= */

.pi-form-section {
	max-width: 1050px;

	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 30px;

	margin: 0 auto 78px;
	padding: 31px 34px;

	border-radius: 21px;

	background: linear-gradient(135deg, #087f72, #0ab7a3);

	box-shadow: 0 20px 50px rgba(10, 183, 163, 0.18);
}

.pi-form-copy > span {
	color: rgba(255, 255, 255, 0.7);
}

.pi-form-copy h2 {
	margin: 0 0 7px;

	color: #ffffff;

	font-size: 25px;
}

.pi-form-copy p {
	max-width: 610px;

	margin: 0;

	color: rgba(255, 255, 255, 0.82);

	font-size: 12px;
	line-height: 1.7;
}

.pi-form-button {
	flex: 0 0 auto;

	display: inline-flex;

	align-items: center;
	gap: 22px;

	padding: 13px 17px 13px 20px;

	border-radius: 12px;

	color: var(--pi-primary-deep) !important;

	background: #ffffff;

	font-size: 12px;
	font-weight: 800;

	text-decoration: none !important;

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.pi-form-button b {
	width: 25px;
	height: 25px;

	display: flex;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	color: #ffffff;

	background: var(--pi-primary);

	font-size: 13px;
	font-weight: 400;
}

.pi-form-button:hover {
	color: var(--pi-primary-deep) !important;

	transform: translateY(-2px);

	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

/* =========================================================
   SERVICE HOURS
========================================================= */

.pi-hours {
	max-width: 1050px;

	margin: 0 auto;

	padding-top: 10px;
}

.pi-hours-heading {
	margin-bottom: 25px;
}

.pi-hours-heading h2 {
	margin: 0;

	color: var(--pi-dark);

	font-size: 27px;
}

.pi-hours-grid {
	display: grid;

	grid-template-columns: repeat(2, 1fr);

	gap: 18px;
}

.pi-hours-item {
	padding: 23px 25px;

	border-left: 3px solid var(--pi-primary);

	border-radius: 0 14px 14px 0;

	background: #ffffff;

	box-shadow: 0 10px 30px rgba(16, 42, 42, 0.05);
}

.pi-hours-item span {
	display: block;

	margin-bottom: 7px;

	color: var(--pi-primary-dark);

	font-size: 11px;
	font-weight: 700;
}

.pi-hours-item strong {
	display: block;

	margin-bottom: 5px;

	color: var(--pi-dark);

	font-size: 18px;
}

.pi-hours-item small {
	color: var(--pi-muted);

	font-size: 10px;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {
	.pi-hero-document {
		right: 4%;
		opacity: 0.32;
	}

	.pi-requirement-list {
		grid-template-columns: 1fr;
	}

	.pi-requirement-item,
	.pi-requirement-item:nth-child(even),
	.pi-requirement-item:nth-last-child(-n + 2) {
		border-right: none;
		border-bottom: 1px solid #edf2f1;
	}

	.pi-requirement-item:last-child {
		border-bottom: none;
	}
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
	.pi-hero {
		min-height: auto;
	}

	.pi-hero-content {
		padding: 54px 20px 80px;
	}

	.pi-hero h1 {
		font-size: 40px;
		letter-spacing: -1.6px;
	}

	.pi-hero-content > p {
		font-size: 14px;
		line-height: 1.75;
	}

	.pi-hero-contact {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}

	.pi-hero-document {
		right: -90px;
		top: 32%;

		transform: scale(0.75) rotate(7deg);

		opacity: 0.16;
	}

	.pi-main {
		padding: 55px 0 80px;
	}

	.pi-intro {
		grid-template-columns: 3px 1fr;

		margin: 0 20px 60px;
	}

	.pi-intro h2 {
		font-size: 25px;
	}

	.pi-intro p {
		font-size: 13px;
	}

	.pi-request,
	.pi-requirement-section {
		margin: 0 15px 58px;
	}

	.pi-section-heading h2 {
		font-size: 24px;
	}

	.pi-email-card {
		padding: 23px 20px;
		border-radius: 18px;
	}

	.pi-email-address {
		font-size: 21px;
	}

	.pi-requirement-card {
		border-radius: 17px;
	}

	.pi-requirement-item {
		grid-template-columns: 42px 1fr;

		gap: 12px;

		padding: 22px 19px;
	}

	.pi-number {
		width: 36px;
		height: 36px;
	}

	.pi-summary {
		grid-template-columns: 1fr;

		gap: 25px;

		margin: 0 15px 55px;

		padding: 23px 19px;

		border-radius: 19px;
	}

	.pi-summary-copy h2 {
		font-size: 23px;
	}

	.pi-form-section {
		align-items: flex-start;
		flex-direction: column;

		margin: 0 15px 55px;

		padding: 25px 21px;

		border-radius: 18px;
	}

	.pi-form-copy h2 {
		font-size: 23px;
	}

	.pi-form-button {
		width: 100%;

		justify-content: space-between;
	}

	.pi-hours {
		margin: 0 15px;
	}

	.pi-hours-heading h2 {
		font-size: 24px;
	}

	.pi-hours-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {
	.pi-hero h1 {
		font-size: 35px;
	}

	.pi-eyebrow {
		font-size: 9px;
		letter-spacing: 1.5px;
	}

	.pi-email-address {
		font-size: 18px;
	}

	.pi-requirement-item h3 {
		font-size: 14px;
	}

	.pi-requirement-item p {
		font-size: 11px;
	}
}

/* =========================================================
   REDUCE MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
	.pi-orbit,
	.pi-particle,
	.pi-hero-document,
	.pi-summary-image img,
	.pi-form-button {
		transition: none !important;
	}
}
