:root {
  --public-green: #008747;
  --public-dark-green: #006335;
  --public-ink: #102440;
  --public-muted: #4c6381;
  --public-line: #dce7ed;
  --public-mint: #edf9f3;
  --public-blue: #006bc7;
  --public-radius: 14px;
  --public-shadow: 0 8px 30px #17394e0b;
}

* { 
  box-sizing: border-box; 
}

html{ 
  scroll-padding-top: 92px; 
}

body { 
  margin: 0; 
  font-family: 'Segoe UI', Arial, sans-serif; 
  color: var(--public-ink); 
  background: #f6fafb; 
  font-size: 16px; 
  line-height: 1.55; 
}

button, input { 
  font: inherit; 
}

button, a, summary { -webkit-tap-highlight-color: transparent; }

a { 
  color: var(--public-blue); 
  text-underline-offset: 4px; 
}

a:hover { 
  text-decoration-thickness: 
  2px; 
}

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

button { 
  cursor: pointer; 
}

button:disabled { 
  cursor: wait; 
}

[hidden] { display: none !important; }

h1, h2, h3, p { 
  margin: 0; 
}

h1, h2, h3 { 
  line-height: 1.2; 
}

:focus-visible { 
  outline: 3px solid #0077d6; 
  outline-offset: 4px; 
}

.icon-library { 
  position: absolute; 
  width: 0; 
  height: 0; 
  overflow: hidden; 
}

.icon { 
  width: 23px; 
  height: 23px; 
  flex: 0 0 auto; 
  fill: none; 
  stroke: currentColor; 
  stroke-width: 1.8; 
  stroke-linecap: round; 
  stroke-linejoin: round; 
}

.handwritten { 
  font-family: 'Segoe Print', 'Bradley Hand', 'Comic Sans MS', cursive; color: var(--public-green); 
  font-weight: 600; 
  line-height: 1.4; 
}

.skip-link { 
  position: fixed; 
  top: 8px; 
  left: 12px; 
  z-index: 100; 
  padding: 12px; 
  background: white; 
  transform: translateY(-160%); 
}

.skip-link:focus { 
  transform: translateY(0); 
}

.button { 
  min-height: 46px; 
  padding: 11px 23px; 
  display: inline-flex; 
  gap: 10px; 
  justify-content: center; 
  align-items: center; 
  border: 1px solid transparent; 
  border-radius: 7px; 
  background: linear-gradient(110deg, #00984e, #007c40); 
  color: #fff; 
  font-weight: 700; 
  text-decoration: none; 
  line-height: 1.4; 
  box-shadow: 0 3px 7px #007c4012; 
}

.button:hover { 
  background: var(--public-dark-green); 
  text-decoration: none; 
}
.button-full { 
  width: 100%; 
}
