/* Startfeld Foundation — shared tokens and components.
   Colours follow the current Startfeld green/anthracite; swap here once the design system lands. */
:root{
  --green:#6fbe44;
  --green-deep:#4d9a27;
  --green-ink:#12240b;
  --green-tint:#eaf5e3;
  --ink:#171916;
  --anthracite:#1f201e;
  --anthracite-2:#2a2b28;
  --anthracite-3:#353632;
  --paper:#ffffff;
  --mist:#f5f6f3;
  --mist-2:#eceee8;
  --line:#e3e6df;
  --line-dark:rgba(255,255,255,.1);
  --muted:#666c61;
  --muted-dark:#9ea69c;
  --danger:#c0392b;
  --radius:16px;
  --radius-sm:10px;
  --maxw:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
  --font:"Inter","Helvetica Neue",Arial,system-ui,sans-serif;
  --shadow:0 1px 2px rgba(16,24,12,.04),0 8px 24px -12px rgba(16,24,12,.12);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);
  font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"cv11","ss01";
}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em;line-height:1.08;margin:0}
p{margin:0}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
button{font:inherit}
::selection{background:var(--green);color:var(--green-ink)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:6px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--green)}
.on-dark .eyebrow,.eyebrow.on-dark{color:var(--green)}

/* Wordmark */
.wordmark{display:inline-flex;flex-direction:column;line-height:1;gap:4px;font-weight:800;letter-spacing:-.035em}
.wordmark .mark{font-size:1.3rem}
.wordmark .mark .a{color:var(--ink)}
.wordmark .mark .b{color:var(--green-deep)}
.wordmark .sub{font-size:.5rem;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);padding-left:2px}
.on-dark .wordmark .mark .a,.wordmark.on-dark .mark .a{color:#fff}
.on-dark .wordmark .mark .b,.wordmark.on-dark .mark .b{color:var(--green)}
.on-dark .wordmark .sub,.wordmark.on-dark .sub{color:var(--muted-dark)}

/* Buttons */
.btn{
  --bg:var(--green);--fg:var(--green-ink);
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:12px 20px;border-radius:999px;border:1px solid transparent;
  font-weight:600;font-size:14.5px;letter-spacing:.005em;line-height:1.2;
  background:var(--bg);color:var(--fg);cursor:pointer;white-space:nowrap;
  transition:transform .18s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s,border-color .2s;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px rgba(111,190,68,.8)}
.btn:active{transform:none}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn.dark{--bg:var(--anthracite);--fg:#fff}
.btn.dark:hover{box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.btn.ghost{--bg:transparent;--fg:var(--ink);border-color:var(--line)}
.btn.ghost:hover{box-shadow:none;background:var(--mist);border-color:#c9cec4}
.on-dark .btn.ghost,.btn.ghost.on-dark{--fg:#fff;border-color:rgba(255,255,255,.2)}
.on-dark .btn.ghost:hover,.btn.ghost.on-dark:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.4)}
.btn.sm{padding:8px 14px;font-size:13.5px}
.btn.lg{padding:15px 26px;font-size:15.5px}
.btn svg{width:16px;height:16px;flex:none}

/* Forms */
.field{margin-top:18px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}
.field .help{font-size:12.5px;color:var(--muted);margin-top:6px}
.input,.field input,.field textarea,.field select{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);
  font:inherit;font-size:15px;background:#fff;color:var(--ink);
  transition:border-color .16s,box-shadow .16s;
}
.field textarea{resize:vertical;min-height:80px}
.input:focus,.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(111,190,68,.18)
}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;cursor:pointer}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--green-deep);flex:none}

.toast{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(16px);
  background:var(--anthracite);color:#fff;padding:12px 20px;border-radius:999px;font-size:13.5px;font-weight:600;
  box-shadow:0 20px 45px -12px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:all .3s var(--ease);z-index:200;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media (max-width:560px){
  .wrap{padding:0 18px}
  body{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}
