/*
Theme Name: PoundCheck Coming Soon
Theme URI: https://poundcheck.com/
Author: PoundCheck
Author URI: https://poundcheck.com/
Description: A temporary, no-index coming-soon page for PoundCheck. This is separate from the main PoundCheck staging theme.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: poundcheck-coming-soon
*/

:root {
	--pc-navy: #0a192b;
	--pc-navy-deep: #061426;
	--pc-gold: #e3b341;
	--pc-gold-pale: #fff3cf;
	--pc-white: #ffffff;
	--pc-cloud: #f4f6f9;
	--pc-muted: #aeb9c8;
	--pc-border: rgba(255, 255, 255, 0.16);
}

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

html {
	min-height: 100%;
	background: var(--pc-navy-deep);
}

body {
	min-height: 100vh;
	margin: 0;
	color: var(--pc-white);
	background:
		radial-gradient(circle at 78% 18%, rgba(227, 179, 65, 0.12), transparent 28rem),
		linear-gradient(145deg, var(--pc-navy-deep), var(--pc-navy));
	font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.6;
}

a {
	color: inherit;
}

.pc-coming-soon {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.pc-coming-soon__header,
.pc-coming-soon__main,
.pc-coming-soon__footer {
	width: min(72rem, calc(100% - 2.5rem));
	margin-inline: auto;
}

.pc-coming-soon__header {
	display: flex;
	align-items: center;
	min-height: 6.5rem;
	border-bottom: 1px solid var(--pc-border);
}

.pc-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	color: var(--pc-white);
	text-decoration: none;
}

.pc-brand__mark {
	flex: 0 0 auto;
	width: 2.25rem;
	height: auto;
	overflow: visible;
}

.pc-brand__name {
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.015em;
}

.pc-brand__leaf {
	fill: var(--pc-gold);
	transform-box: fill-box;
	transform-origin: center bottom;
	animation: pc-leaf-grow 5.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.pc-brand__leaf--right {
	animation-delay: 0.18s;
}

@keyframes pc-leaf-grow {
	0%,
	12%,
	100% {
		opacity: 0.18;
		transform: scale(0.46) translateY(4px);
	}
	27%,
	72% {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
	88% {
		opacity: 0.18;
		transform: scale(0.46) translateY(4px);
	}
}

.pc-coming-soon__main {
	display: grid;
	flex: 1;
	grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
	gap: clamp(3rem, 8vw, 7rem);
	align-items: center;
	padding-block: clamp(4rem, 10vh, 8rem);
}

.pc-eyebrow {
	margin: 0 0 1.25rem;
	color: var(--pc-gold);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.pc-coming-soon h1 {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3rem, 6vw, 5.4rem);
	line-height: 0.98;
	letter-spacing: -0.045em;
}

.pc-coming-soon__lead {
	max-width: 40rem;
	margin: 1.75rem 0 0;
	color: #d7dee8;
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	line-height: 1.55;
}

.pc-status {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	margin-top: 2rem;
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--pc-border);
	border-radius: 999px;
	color: #e9edf3;
	font-size: 0.92rem;
}

.pc-status::before {
	width: 0.58rem;
	height: 0.58rem;
	border-radius: 50%;
	background: var(--pc-gold);
	content: "";
	box-shadow: 0 0 0 0.28rem rgba(227, 179, 65, 0.12);
	animation: pc-status-pulse 1.8s ease-out infinite;
}

@keyframes pc-status-pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(227, 179, 65, 0.42);
		opacity: 1;
		transform: scale(1);
	}
	70% {
		box-shadow: 0 0 0 0.5rem rgba(227, 179, 65, 0);
		opacity: 0.82;
		transform: scale(0.94);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(227, 179, 65, 0);
		opacity: 1;
		transform: scale(1);
	}
}

.pc-coming-soon__panel {
	padding: clamp(1.6rem, 4vw, 2.4rem);
	border: 1px solid var(--pc-border);
	border-top: 3px solid var(--pc-gold);
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.055);
	box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.16);
	backdrop-filter: blur(10px);
}

.pc-coming-soon__panel h2 {
	margin: 0 0 1.5rem;
	font-size: 1.35rem;
	letter-spacing: -0.015em;
}

.pc-coming-soon__list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-coming-soon__list li {
	display: grid;
	grid-template-columns: 1.65rem minmax(0, 1fr);
	gap: 0.9rem;
	padding-block: 1.05rem;
	border-top: 1px solid var(--pc-border);
}

.pc-coming-soon__list li:first-child {
	border-top: 0;
	padding-top: 0;
}

.pc-coming-soon__list li:last-child {
	padding-bottom: 0;
}

.pc-coming-soon__list span {
	display: grid;
	place-items: center;
	width: 1.65rem;
	height: 1.65rem;
	border-radius: 50%;
	background: var(--pc-gold);
	color: var(--pc-navy-deep);
	font-size: 0.8rem;
	font-weight: 700;
}

.pc-coming-soon__list strong {
	display: block;
	font-size: 1rem;
}

.pc-coming-soon__list p {
	margin: 0.18rem 0 0;
	color: var(--pc-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

.pc-coming-soon__footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1.5rem 2rem;
	border-top: 1px solid var(--pc-border);
	color: var(--pc-muted);
	font-size: 0.82rem;
}

.pc-coming-soon__footer p {
	margin: 0;
}

@media (max-width: 48rem) {
	.pc-coming-soon__header,
	.pc-coming-soon__main,
	.pc-coming-soon__footer {
		width: min(100% - 2rem, 36rem);
	}

	.pc-coming-soon__header {
		min-height: 5.25rem;
	}

	.pc-coming-soon__main {
		grid-template-columns: minmax(0, 1fr);
		gap: 3rem;
		padding-block: 4rem;
	}

	.pc-coming-soon h1 {
		max-width: 12ch;
		font-size: clamp(2.75rem, 14vw, 4.2rem);
	}

	.pc-coming-soon__footer {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pc-brand__leaf,
	.pc-status::before {
		animation: none;
	}

	.pc-brand__leaf {
		opacity: 1;
		transform: none;
	}
}
