/* Shared typography, colours, controls and accessibility. */
:root {
  color-scheme:light;
  --white:#fff;
  --error:#984d35;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none;
  --ink:#203b32;
  --muted:#52685c;
  --green:#245541;
  --green-dark:#183f30;
  --paper:#f7f8f3;
  --line:#d5dfd2;
  --wash:#e7eee3;
  --user-surface:#dfead7;
  --assistant-surface:#eef2e9;
  --focus:#245541;
  --radius:16px;
  --shadow:0 8px 28px #203b320a
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.65
}
button,input,textarea,select {
  font:inherit
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}
button,a {
  touch-action:manipulation
}
button {
  cursor:pointer;
  border:0
}
button:disabled {
  cursor:default;
  opacity:.45
}
a {
  color:inherit
}
button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:4px
}
textarea {
  resize:vertical;
  color:var(--ink)
}
button .icon,a .icon {
  flex-shrink:0
}
.icon {
  height:20px;
  width:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:middle
}
.icon.small {
  width:14px;
  height:14px
}
.icon-definitions {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
[hidden] {
  display:none!important
}
.brand-mark {
  background:var(--green);
  color:#fff;
  display:grid;
  place-items:center;
  font:italic 600 27px Georgia,serif;
  letter-spacing:0;
  width:36px;
  height:38px;
  border-radius:12px 12px 12px 4px
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  text-decoration:none;
  min-height:46px;
  padding:11px 18px;
  font-size:14px;
  font-weight:600;
  border-radius:10px;
  transition:background .16s ease, border-color .16s ease, box-shadow .16s ease
}
.button:active {
  transform:none;
  opacity:.88
}
.primary {
  background:var(--green);
  color:#fff
}
.primary:hover {
  background:var(--green-dark)
}
.secondary {
  background:var(--white);
  color:var(--ink);
  border:1px solid #b9c8b3
}
.secondary:hover {
  background:#f3f6f0
}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:50;
  padding:12px 18px;
  background:var(--green);
  color:white;
  border-radius:10px;
  transform:translateY(-160%)
}
.skip-link:focus {
  transform:translateY(0)
}
@media(prefers-reduced-motion:reduce) {
  * {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
