/* ==========================================================================
   neamtiu-solutions.com — site.css
   --------------------------------------------------------------------------
   1. Self-hosted fonts (no request ever leaves this domain)
   2. Base reset — the subset of Tailwind "preflight" (MIT) that the original
      Lovable build shipped after the custom styles. Buttons, inputs, lists
      and headings depend on these resets, so they stay.
   3. Design system — the original custom CSS, unchanged except for a handful
      of values that Tailwind/shadcn silently overrode in the old build; those
      are baked in and marked "live value" so the page renders 1:1.
   4. Additions — legal/utility pages, honeypot, reduced motion.
   ========================================================================== */

/* 1. Fonts ------------------------------------------------------------------ */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("../fonts/inter-var-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-var-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Archivo Black";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/archivo-black-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 2. Base reset (Tailwind preflight subset, MIT (c) Tailwind Labs) ---------- */
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e2e8f0;
}
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
  line-height: inherit;
}
hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  text-decoration: inherit;
}
b, strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button, select {
  text-transform: none;
}
button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
:-moz-focusring {
  outline: auto;
}
:-moz-ui-invalid {
  box-shadow: none;
}
summary {
  display: list-item;
}
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol, ul, menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
input::placeholder, textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}
button, [role=button] {
  cursor: pointer;
}
:disabled {
  cursor: default;
}
img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
}
img, video {
  max-width: 100%;
  height: auto;
}
[hidden]:where(:not([hidden=until-found])) {
  display: none;
}

/* 3. Design system ----------------------------------------------------------- */
:root {
  --bg: #f4f4f2;
  --bg-soft: #ebeae6;
  --ink: #0a0a0a;
  --ink-soft: #2a2a2a;
  --muted: #020817;   /* live value: the Tailwind build overrode this with an invalid HSL triplet, so every muted element inherited the body colour */
  --line: #d9d8d3;
  --accent: #0a0a0a;
  --radius: 8px;      /* live value: shadcn's :root { --radius: .5rem } won the cascade */
  --maxw: 1180px;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --display: "Archivo Black", "Inter", system-ui, sans-serif;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: var(--sans);
  font-weight: 400;
  background: #fff;    /* live value: shadcn body { background: hsl(var(--background)) } */
  color: #020817;      /* live value: shadcn body { color: hsl(var(--foreground)) } */
  line-height: 1.5;    /* live value: preflight html { line-height: 1.5 } + body { line-height: inherit } */
  -webkit-font-smoothing: antialiased;
}
.container {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding: 0 32px;     /* live value: Tailwind's .container { padding: 2rem } won the cascade */
}
.skip {
  position: absolute;
  left: -9999px;
}
.skip:focus {
  left: 16px;
  top: 16px;
  background: var(--ink);
  color: var(--bg);
  padding: 10px 14px;
  border-radius: 8px;
  z-index: 100;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in oklab,var(--bg) 88%,transparent);
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
  backdrop-filter: saturate(1.2) blur(10px);
  border-bottom: 1px solid var(--line);
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 32px;  /* live value: horizontal padding from Tailwind's .container */
  gap: 24px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--sans);
  font-weight: 500;
}
.brand-mark {
  position: relative;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  font-family: var(--serif);
  font-size: 1.35rem;
  letter-spacing: .02em;
}
.brand-mark .slash {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  place-items: center;
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--ink);
  line-height: 1;
  transform: translateY(-1px);
}
.brand-mark span:not(.slash):first-child {
  position: absolute;
  top: -2px;
  left: 2px;
}
.brand-mark span:not(.slash):last-child {
  position: absolute;
  bottom: -2px;
  right: 2px;
}
.brand-name {
  font-size: .78rem;
  letter-spacing: .32em;
  font-weight: 500;
}
.site-header nav ul {
  display: flex;
  gap: 8px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-header nav a {
  padding: 10px 14px;
  font-size: .92rem;
  border-radius: 999px;
  transition: background .2s,color .2s;
}
.site-header nav a:hover {
  background: var(--bg-soft);
}
.menu-btn {
  display: none;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 1.1rem;
}
.mobile-menu {
  display: none;
  border-top: 1px solid var(--line);
  padding: 8px 16px;
}
.mobile-menu a {
  display: block;
  padding: 12px 8px;
  border-bottom: 1px solid var(--line);
}
.mobile-menu.open {
  display: block;
}
@media (max-width:880px) {
  .site-header nav {
    display: none;
  }
  .menu-btn {
    display: inline-block;
  }
  .brand-name {
    display: none;
  }
}
.pill {
  display: inline-block;
  background: var(--ink);
  color: var(--bg);
  padding: 18px 36px;
  border-radius: 999px;
  font-weight: 500;
  font-size: 1.05rem;
  letter-spacing: .01em;
  border: none;
  cursor: pointer;
  transition: transform .2s ease,box-shadow .2s ease,background .2s;
  box-shadow: 0 8px 24px #0000002e;
}
.pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px #00000040;
}
.pill-sm {
  padding: 10px 20px;
  font-size: .9rem;
  box-shadow: 0 4px 12px #00000026;
}
.pill-light {
  background: var(--bg);
  color: var(--ink);
}
.pill-light:hover {
  background: #fff;
}
.ghost {
  display: inline-block;
  padding: 18px 8px;
  font-weight: 500;
  border-bottom: 1px solid var(--ink);
  transition: opacity .2s;
}
.ghost:hover {
  opacity: .65;
}
.ghost-light {
  color: var(--bg);
  border-bottom-color: var(--bg);
}
.hero {
  position: relative;
  overflow: hidden;
  padding: 120px 0 100px;
  background: var(--bg);
}
.hero-pattern {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: .5;
  pointer-events: none;
  background-image: radial-gradient(circle at 20% 30%,rgba(0,0,0,.03) 0,transparent 40%),radial-gradient(circle at 80% 70%,rgba(0,0,0,.04) 0,transparent 40%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='92' viewBox='0 0 80 92'><polygon points='40,2 78,24 78,68 40,90 2,68 2,24' fill='none' stroke='%23000' stroke-opacity='0.05' stroke-width='1'/></svg>");
  background-size: auto,auto,80px 92px;
}
.hero-inner {
  position: relative;
  text-align: center;
}
.eyebrow {
  font-size: .78rem;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 24px;
  font-weight: 500;
}
.eyebrow-light {
  color: #f4f4f2b3;
}
.display {
  font-family: var(--display);
  font-size: clamp(2.4rem,8vw,6.5rem);
  line-height: .95;
  letter-spacing: -.02em;
  margin: 0 0 32px;
  color: var(--ink);
  text-transform: uppercase;
}
.display span {
  display: block;
}
.display-sm {
  font-family: var(--display);
  font-size: clamp(1.8rem,4.5vw,3.2rem);
  line-height: 1;
  letter-spacing: -.02em;
  margin: 0 0 16px;
  text-transform: uppercase;
}
.lede {
  font-family: var(--sans);
  font-weight: 300;
  font-size: clamp(1.1rem,2vw,1.5rem);
  color: var(--ink-soft);
  max-width: 680px;
  margin: 0 auto 40px;
}
.hero-divider {
  width: min(560px,80%);
  height: 1px;
  background: var(--ink);
  margin: 0 auto 40px;
  opacity: .85;
}
.hero-actions {
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.trust-row {
  display: flex;
  gap: 32px;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: .9rem;
  color: var(--muted);
}
.section {
  padding: 100px 0;
  border-top: 1px solid var(--line);
}
.section-alt {
  background: var(--bg-soft);
}
.section-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 60px;
}
.section-head h2 {
  font-family: var(--display);
  font-size: clamp(2rem,5vw,3.5rem);
  line-height: 1;
  letter-spacing: -.02em;
  margin: 0 0 16px;
  text-transform: uppercase;
}
.muted {
  color: var(--muted);
}
.muted-light {
  color: #f4f4f2bf;
}
.small {
  font-size: .85rem;
}
.cards {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
}
.card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 36px 28px;
  transition: transform .25s,box-shadow .25s,border-color .25s;
}
.section-alt .card {
  background: var(--bg);
}
.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px #00000014;
  border-color: var(--ink);
}
.card-num {
  font-family: var(--display);
  font-size: .85rem;
  letter-spacing: .2em;
  color: var(--muted);
  margin-bottom: 20px;
}
.card h3 {
  font-family: var(--display);
  font-size: clamp(1.1rem,1.6vw,1.4rem);
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: -.01em;
  overflow-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.card p {
  color: var(--ink-soft);
  margin: 0 0 20px;
}
.card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: .92rem;
  color: var(--muted);
}
.card ul li {
  padding: 6px 0;
  border-top: 1px solid var(--line);
}
.card ul li:first-child {
  border-top: none;
}
.steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
}
.steps li {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 36px 28px;
  position: relative;
}
.step-num {
  font-family: var(--display);
  font-size: 3rem;
  line-height: 1;
  color: var(--ink);
  opacity: .12;
  position: absolute;
  top: 20px;
  right: 24px;
}
.steps h3 {
  font-family: var(--display);
  font-size: 1.25rem;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.steps p {
  color: var(--ink-soft);
  margin: 0;
}
.about-grid {
  display: grid;
  gap: 48px;
  grid-template-columns: 1.4fr 1fr;
  align-items: start;
}
.about-grid h2 {
  font-family: var(--display);
  font-size: clamp(1.8rem,4vw,2.8rem);
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: -.02em;
  margin: 8px 0 20px;
}
.check-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: grid;
  gap: 14px;
}
.check-list li {
  padding-left: 32px;
  position: relative;
  color: var(--ink-soft);
}
.check-list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .6em;
  width: 18px;
  height: 1px;
  background: var(--ink);
}
.about-card {
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 32px;
}
.about-card h3 {
  font-family: var(--display);
  text-transform: uppercase;
  margin: 0 0 20px;
  font-size: 1.1rem;
  letter-spacing: .05em;
}
.about-card dl {
  margin: 0;
  display: grid;
  gap: 14px;
}
.about-card dt {
  font-size: .78rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 2px;
}
.about-card dd {
  margin: 0;
  font-size: .98rem;
}
.about-card a:hover {
  text-decoration: underline;
}
@media (max-width:780px) {
  .about-grid {
    grid-template-columns: 1fr;
  }
}
.section-dark {
  background: var(--ink);
  color: var(--bg);
  border-top: none;
}
.section-dark .eyebrow {
  color: #f4f4f299;
}
.cta-wrap {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.contact-form {
  margin-top: 40px;
  text-align: left;
  display: grid;
  gap: 16px;
}
.contact-form .row {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr;
}
@media (max-width:600px) {
  .contact-form .row {
    grid-template-columns: 1fr;
  }
}
.contact-form label {
  display: block;
  font-size: .78rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #f4f4f2b3;
  font-weight: 500;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  margin-top: 8px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(244,244,242,.3);
  color: var(--bg);
  padding: 12px 0;
  font-family: inherit;
  font-size: 1rem;
  transition: border-color .2s;
}
.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-bottom-color: var(--bg);
}
.contact-form textarea {
  resize: vertical;
  min-height: 100px;
}
.form-actions {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 16px;
}
.form-note {
  font-size: .88rem;
  color: #f4f4f2b3;
  margin: 0;
}
.site-footer {
  background: var(--bg-soft);
  border-top: 1px solid var(--line);
  padding: 60px 0 40px;
}
.footer-grid {
  display: grid;
  gap: 40px;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  margin-bottom: 40px;
}
.footer-grid h4 {
  font-family: var(--display);
  text-transform: uppercase;
  font-size: .85rem;
  letter-spacing: .15em;
  margin: 0 0 16px;
}
.footer-grid a {
  display: block;
  padding: 6px 0;
  color: var(--ink-soft);
  font-size: .92rem;
  transition: color .2s;
}
.footer-grid a:hover {
  color: var(--ink);
}
.footer-grid .brand {
  margin-bottom: 16px;
}
@media (max-width:780px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width:480px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
}
.stats {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
}
.stat {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 36px 28px;
  transition: transform .25s,box-shadow .25s,border-color .25s;
}
.stat:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px #00000014;
  border-color: var(--ink);
}
.stat-num {
  font-family: var(--display);
  font-size: clamp(3rem,6vw,4.5rem);
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--ink);
  margin-bottom: 20px;
}
.stat-num span {
  font-size: .45em;
  margin-left: 4px;
  letter-spacing: 0;
}
.stat h3 {
  font-family: var(--display);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin: 0 0 10px;
}
.stat p {
  color: var(--ink-soft);
  margin: 0;
  font-size: .95rem;
}
.stats-note {
  text-align: center;
  margin-top: 32px;
}
.faq-list {
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq-item {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg);
  padding: 0;
  transition: border-color .2s ease,box-shadow .2s ease;
}
.faq-item[open] {
  border-color: var(--ink);
  box-shadow: 0 8px 24px -16px #0003;
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 22px;
  font-weight: 500;
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary:after {
  content: "+";
  font-family: var(--serif);
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 300;
  transition: transform .2s ease;
}
.faq-item[open] summary:after {
  content: "–";
}
.faq-item p {
  margin: 0;
  padding: 0 22px 20px;
  color: var(--muted);
  line-height: 1.6;
}
.sticky-cta {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  background: var(--ink);
  color: var(--bg);
  border-radius: 999px;
  font-weight: 500;
  font-size: .95rem;
  letter-spacing: .01em;
  box-shadow: 0 12px 32px -8px #00000059;
  transition: transform .2s ease,box-shadow .2s ease;
}
.sticky-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px -8px #00000073;
}
.sticky-cta-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 #22c55e99;
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0% {
    box-shadow: 0 0 #22c55e8c;
  }
  70% {
    box-shadow: 0 0 0 10px #22c55e00;
  }
  to {
    box-shadow: 0 0 #22c55e00;
  }
}
@media (max-width:520px) {
  .sticky-cta {
    right: 12px;
    bottom: 12px;
    padding: 12px 18px;
    font-size: .9rem;
  }
}
/* live value: Tailwind's container breakpoint (2xl) came after every custom rule in the
   old build, so on viewports >= 1400px it also widens .cta-wrap (contact section) from
   720px to 1400px. Kept at the end of the design system on purpose to reproduce that. */
@media (min-width: 1400px) {
  .container {
    max-width: 1400px;
  }
}

/* 4. Additions ---------------------------------------------------------------- */

/* Long-form pages: Impressum, Datenschutz, Danke, 404 */
.page {
  padding: 80px 0 100px;
}
.page-inner {
  max-width: 760px;
  margin: 0 auto;
}
.page h1 {
  font-family: var(--display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1;
  letter-spacing: -.02em;
  text-transform: uppercase;
  margin: 0 0 16px;
}
.page h2 {
  font-family: var(--display);
  font-size: 1.1rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin: 44px 0 12px;
}
.page h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 24px 0 8px;
}
.page p,
.page li {
  color: var(--ink-soft);
}
.page p {
  margin: 0 0 14px;
}
.page ul {
  list-style: disc;
  padding-left: 22px;
  margin: 0 0 14px;
}
.page li {
  margin: 0 0 6px;
}
.page p a,
.page li a,
.page dd a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--line);
  transition: text-decoration-color .2s;
}
.page p a:hover,
.page li a:hover,
.page dd a:hover {
  text-decoration-color: var(--ink);
}
.page .lead {
  font-weight: 300;
  font-size: 1.15rem;
  color: var(--ink-soft);
  margin: 0 0 32px;
}
.page .meta {
  font-size: .85rem;
  color: var(--muted);
  margin-top: 48px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.page .actions {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 32px;
}
.page-center {
  text-align: center;
}
.page-center .actions {
  justify-content: center;
}
.page dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px 24px;
  margin: 0 0 14px;
}
.page dt {
  font-size: .78rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
  padding-top: 3px;
}
.page dd {
  color: var(--ink-soft);
}
@media (max-width: 600px) {
  .page dl {
    grid-template-columns: 1fr;
    gap: 2px 0;
  }
  .page dd {
    margin-bottom: 10px;
  }
}

/* Contact form: privacy note + spam honeypot (must stay invisible to humans) */
.form-privacy {
  font-size: .82rem;
  color: #f4f4f2b3;
  margin: 0;
}
.form-privacy a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Respect users who asked their OS for less motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .sticky-cta-dot {
    animation: none;
  }
  .pill:hover,
  .sticky-cta:hover,
  .card:hover,
  .stat:hover {
    transform: none;
  }
}
