/* ===========================
   GENERAL (site-wide)
   =========================== */

/* Base */
html, body { min-height: 100%; }
html { scroll-behavior: smooth; }
body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	line-height: 1.5;
	color: hsl(219, 66%, 18%);
	background: linear-gradient(130deg, rgba(29, 77, 120, 1) 0%, rgba(39, 86, 156, 1) 9%, rgba(62, 135, 181, 1) 34%, rgba(47, 144, 207, 1) 57%, rgba(47, 133, 186, 1) 72%, rgba(23, 97, 145, 1) 90%, rgba(21, 74, 115, 1) 100%);
}

/* Containers & layout helpers */
.container { width: 70dvw; margin: 0rem auto; padding-inline: none; }
.site-main { /*padding-block: var(--space-4);*/ }

/* Headings */
h1 { font-size: clamp(1.75rem, 2vw + 1rem, 2.5rem); line-height: 1.2; }
h2 { font-size: clamp(1.5rem, 1.4vw + 1rem, 2rem); line-height: 1.25; }
h3 { font-size: 1.25rem; line-height: 1.3; }
h1,h2,h3,h4,h5,h6 { font-weight: bold; text-transform: uppercase; color: hsl(219, 66%, 18%); }

/* Buttons */
.btn {
  display: inline-block;
  padding: .6rem 1rem;
  border: 2px solid hsl(219, 66%, 18%);
  border-radius: 0.5rem;
  background: rgba(255,255,255,0.75);
}
.btn-primary {
	color: rgba(255,255,255,0.75); 
	background: #111111;
	border-color: #111111;
}
.btn:hover { transform: translateY(-1px); }

/* Accessibility helpers */
.visually-hidden {
  position: absolute !important;
  overflow: hidden; clip: rect(0 0 0 0);
  height: 1px; width: 1px; margin: -1px; border: 0; padding: 0;
}

.skip-link {
  position: absolute; inset: auto auto auto 0;
  transform: translateY(-150%); background: #111; color: #fff;
  padding: .5rem .75rem; z-index: 9999;
}
.skip-link:focus { transform: translateY(0); }
.site-main { flex: 1 0 auto; padding-top: 0 !important; }

/* Page */
.page-container, .page-content { display: block; width: 70dvw; min-height: 60dvh; padding: 0; }
.page-title { 
	position: relative;
	margin-bottom: var(--space-2); 
	margin-left: 0rem;
	font-size: 1.9rem; 
}
.page-title::after{
  position: absolute;
  content: "▶";
	display: inline-block;
    color: rgba(255,255,255,0.9);
	font-size: 1rem;
	margin-top: 0.55rem;
	margin-left: 0.5rem;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.page-content > * + * { margin-top: 1rem; }

/* Forms (search form etc.) */
input[type="search"], input[type="text"], textarea {
  width: 100%; max-width: 36rem;
  border: 1px solid #ddd; border-radius: .4rem;
  padding: .6rem .75rem; background: #fff;
}

/* General glassmorphism class */
.wmw-glass {
  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.32),
    rgba(255,255,255,0.14)
  );
  border: 1px solid rgba(255,255,255,0.40);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  box-shadow:
    0 18px 45px rgba(0,0,0,0.12),
    inset 0 1px 0 rgba(255,255,255,0.65);
  position: relative;
  overflow: hidden;
}

/* subtle glossy streak */
.wmw-glass::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 20% 10%,
    rgba(255,255,255,0.60),
    transparent 55%
  );
  pointer-events: none;
}