@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600&display=swap');

:root{
  --background: 173 100% 98%;
  --foreground: 0 0% 4%;
  --primary: 179 90% 39%;
  --primary-foreground: 0 0% 100%;
  --border: 172 95% 84%;

  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-heading: "Cormorant Garamond", Georgia, serif;
}

/* Base reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; border-color: hsl(var(--border)); }
html { -webkit-text-size-adjust: 100%; }
body { background-color: hsl(var(--background)); color: hsl(var(--foreground)); font-family: var(--font-sans); line-height: 1.6; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); font-weight: 600; color: #022e2d; }

/* Layout helpers */
.container { width: 100%; margin: 0 auto; padding: 0 2rem; max-width: 1400px; }

/* Header / nav */
header { background: #F7FFFE; border-bottom: 1px solid rgba(10, 191, 188, 0.15); }
.nav-wrap { display: flex; justify-content: space-between; height: 80px; align-items: center; }
.logo { display: flex; align-items: center; flex-shrink: 0; }
.logo img { height: 40px; width: auto; max-width: 180px; object-fit: contain; display: block; }
.back-link { font-size: 0.875rem; color: hsl(var(--primary)); text-decoration: none; font-weight: 500; }
.back-link:hover { text-decoration: underline; }

/* Footer */
footer { background-color: #F7FFFE; border-top: 1px solid rgba(10, 191, 188, 0.15); padding: 4rem 0; text-align: center; font-size: 0.875rem; color: rgba(0,0,0,0.5); }

/* Utility */
img { max-width: 100%; height: auto; }

@media (max-width: 480px) {
  .logo img { max-width: 140px; height: 36px; }
}

/* Page container and card used on legal and simple content pages */
main { max-width: 800px; margin: 0 auto; padding: 3rem 1.5rem 4rem; }
.card { background: #ffffff; border-radius: 1rem; padding: 2rem; box-shadow: 0 10px 30px rgba(0,0,0,0.06); }

/* Headings and links default */
h1, h2 { color: hsl(var(--primary)); }
a { color: hsl(var(--primary)); }

/* Hero section shared styles */
.hero-section {
  position: relative;
  min-height: 95vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #F7FFFE;
}

.hero-deco{ position: absolute; border-radius: 50%; pointer-events: none; }
.hero-deco.large{ width: 520px; height: 520px; opacity: 0.2; }
.hero-deco.medium{ width: 380px; height: 380px; opacity: 0.1; }
.hero-graphic{ position: relative; }

@media (max-width: 768px){
  .hero-section{ padding-top: 4rem; padding-bottom: 4rem; }
  .hero-deco.large{ display:none; }
}

/* Blog card aspect ratio & image placement fixes */
.aspect-\[16\/10\] { aspect-ratio: 16 / 10; }
.relative.aspect-\[16\/10\] img, .aspect-\[16\/10\] img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

/* Slightly round the card image edges to match card radius */
.group > .relative > img { border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem; }
