@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;0,700&family=Source+Sans+3:wght@400;600&display=swap");

.theme-woasihab {
	/* Palette */
	--teal: #2A5265;
	--teal-light: #327394;
	--paper: #F8F7F5;
	--hills-1: #E0E4E7;
	--hills-2: #EEF0F1;
	--hills-3: #F2F3F4;
	/* Semantic */
	--color-bg: var(--paper);
	--color-text: var(--teal);
	--color-accent: var(--teal-light);
	--font-serif: "Lora", Georgia, serif;
	--font-sans: "Source Sans 3", -apple-system, sans-serif;
	/* Theme-specific */
	--width-content: 36em;
	--hero-title: clamp(1.75rem, 4vw, 2.25rem);
	--font-size-tagline: 0.95rem;
	--radius-pill: 999px;
	--opacity-muted: 0.95;
	--opacity-subtle: 0.9;
	--opacity-faint: 0.8;
	--opacity-sep: 0.6;
}

.theme-woasihab body {
	font-family: var(--font-sans);
	color: var(--color-text);
}

/* Page frame + hills */
.theme-woasihab .page-frame {
	position: relative;
	min-height: 100vh;
}
.theme-woasihab .page-frame::after {
	content: "";
	position: fixed;
	inset: auto 0 0 0;
	height: 55vh;
	background:
		radial-gradient(ellipse 120% 80% at 50% 100%, var(--hills-1) 0%, transparent 70%),
		radial-gradient(ellipse 100% 60% at 50% 100%, var(--hills-2) 0%, transparent 65%),
		radial-gradient(ellipse 90% 50% at 50% 100%, var(--hills-3) 0%, transparent 60%);
	pointer-events: none;
	z-index: 0;
}
.theme-woasihab .site-header,
.theme-woasihab main,
.theme-woasihab .site-footer {
	position: relative;
	z-index: 1;
}

/* Header */
.theme-woasihab .site-header .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-s);
	padding-block: var(--space-m);
}
.theme-woasihab .header-menu-toggle {
	inline-size: var(--space-l);
	block-size: var(--space-l);
	padding: 0;
	border: none;
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--space-2xs);
	flex-shrink: 0;
}
.theme-woasihab .header-menu-toggle span {
	display: block;
	inline-size: 1.25rem;
	block-size: 2px;
	background: currentColor;
}
.theme-woasihab .header-brand {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-inline-size: 0;
}
.theme-woasihab .header-spacer {
	inline-size: var(--space-l);
	flex-shrink: 0;
}
.theme-woasihab .site-title-logo {
	line-height: 0;
	margin: 0;
}
.theme-woasihab .site-title-logo a {
	display: inline-block;
	text-decoration: none;
	border: none;
}
.theme-woasihab .site-logo {
	display: block;
	height: clamp(2rem, 5vw, 2.75rem);
	width: auto;
	object-fit: contain;
}
.theme-woasihab .site-tagline {
	font-family: var(--font-sans);
	font-size: var(--font-size-tagline);
	font-weight: 400;
	margin-block: var(--space-2xs) 0;
	opacity: var(--opacity-muted);
}

/* Main */
.theme-woasihab main.container {
	padding-block: var(--space-xl);
	max-inline-size: var(--width-content);
	margin-inline: auto;
}
.theme-woasihab main.container:has(.home-hero) {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* Home hero */
.theme-woasihab .home-hero h2 {
	font-family: var(--font-serif);
	font-size: var(--hero-title);
	font-weight: 600;
	margin-block: 0 var(--space-s);
}
.theme-woasihab .home-hero h3 {
	font-family: var(--font-sans);
	font-size: var(--font-size-h3);
	font-weight: 400;
	margin-block: 0 var(--space-m);
	opacity: var(--opacity-muted);
}
.theme-woasihab .home-hero .cta-wrap {
	margin-bottom: var(--space-s);
}
.theme-woasihab .home-hero .cta-button {
	display: inline-block;
	padding: var(--space-xs) var(--space-m);
	font-family: var(--font-sans);
	font-size: var(--font-size-base);
	font-weight: 500;
	color: var(--color-text);
	background: transparent;
	border: 1.5px solid var(--teal);
	border-radius: var(--radius-pill);
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.theme-woasihab .home-hero .cta-button:hover {
	background: var(--teal);
	color: var(--paper);
}
.theme-woasihab .home-hero .cta-description {
	font-size: var(--font-size-tagline);
	opacity: var(--opacity-subtle);
	margin: 0;
}

/* Footer */
.theme-woasihab .site-footer .container {
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--space-xs);
	padding-block: var(--space-xl) var(--space-l);
}
.theme-woasihab .site-footer .footer-title {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: var(--font-size-h3);
	margin-bottom: var(--space-2xs);
}
.theme-woasihab .site-footer .footer-description {
	font-size: var(--font-size-tagline);
	opacity: var(--opacity-subtle);
	margin-block: 0 var(--space-xs);
}
.theme-woasihab .footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--space-2xs) var(--space-xs);
	margin: 0;
}
.theme-woasihab .footer-nav a {
	margin: 0;
	text-decoration: none;
	border: none;
}
.theme-woasihab .footer-nav a:hover {
	text-decoration: underline;
}
.theme-woasihab .footer-nav-sep {
	opacity: var(--opacity-sep);
	user-select: none;
}
.theme-woasihab .footer-copyright {
	font-size: 0.85rem;
	opacity: var(--opacity-faint);
	margin-block: var(--space-xs) 0;
}
