/* SiteHold – Coming Soon / Maintenance page. Colours come from inline CSS variables. */
:root {
	--sh-bg: #0f172a;
	--sh-bg-rgb: 15, 23, 42;
	--sh-text: #fff;
	--sh-accent: #6366f1;
	--sh-overlay: 0;
	--sh-bg-image: none;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body.sitehold {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--sh-text);
	background: var(--sh-bg);
	position: relative;
	-webkit-font-smoothing: antialiased;
}
body.sitehold.sh-has-image {
	background: var(--sh-bg) var(--sh-bg-image) center / cover no-repeat fixed;
}
body.sitehold::before {
	content: "";
	position: fixed;
	inset: 0;
	background: rgba(var(--sh-bg-rgb), var(--sh-overlay));
	pointer-events: none;
}
body.sitehold:not(.sh-has-image)::after {
	content: "";
	position: fixed;
	inset: -20%;
	background:
		radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--sh-accent) 35%, transparent), transparent 45%),
		radial-gradient(circle at 80% 80%, color-mix(in srgb, var(--sh-accent) 22%, transparent), transparent 45%);
	pointer-events: none;
	z-index: 0;
}
.sh-wrap { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 48px 20px; max-width: 760px; margin: 0 auto; width: 100%; }
.sh-logo img { max-width: 220px; max-height: 110px; height: auto; width: auto; }
.sh-sitename { font-size: 1.1rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.sh-badge { display: inline-flex; align-items: center; gap: 8px; margin: 28px 0 14px; padding: 6px 14px; border-radius: 999px; font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: color-mix(in srgb, var(--sh-accent) 22%, transparent); border: 1px solid color-mix(in srgb, var(--sh-accent) 55%, transparent); }
.sh-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--sh-accent); animation: sh-pulse 1.8s infinite; }
@keyframes sh-pulse { 50% { opacity: .3; } }
.sh-title { font-size: clamp(2rem, 6vw, 3.6rem); line-height: 1.1; margin: 0 0 18px; font-weight: 800; }
.sh-message { font-size: clamp(1rem, 2.4vw, 1.2rem); line-height: 1.65; opacity: .85; max-width: 600px; }
.sh-message p { margin: 0 0 1em; }
.sh-countdown { display: flex; gap: 14px; margin: 28px 0 8px; flex-wrap: wrap; justify-content: center; }
.sh-cd-item { min-width: 84px; padding: 16px 10px; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(6px); }
.sh-cd-num { display: block; font-size: 2rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.sh-cd-label { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; opacity: .7; margin-top: 4px; }
.sh-contact { margin-top: 24px; }
.sh-contact a, .sh-footer a { color: inherit; }
.sh-btn { display: inline-block; padding: 12px 26px; border-radius: 999px; background: var(--sh-accent); color: #fff !important; text-decoration: none; font-weight: 600; transition: transform .15s, box-shadow .15s; }
.sh-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px color-mix(in srgb, var(--sh-accent) 45%, transparent); }
.sh-social { display: flex; gap: 12px; margin-top: 28px; justify-content: center; }
.sh-social a { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: inherit; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); transition: background .15s; }
.sh-social a:hover { background: var(--sh-accent); }
.sh-social svg { width: 18px; height: 18px; }
.sh-footer { position: relative; z-index: 1; text-align: center; padding: 18px; font-size: .85rem; opacity: .6; }
@media (max-width: 480px) {
	.sh-cd-item { min-width: 64px; padding: 12px 6px; }
	.sh-cd-num { font-size: 1.5rem; }
}
