/* gk-tokens.css — GENERATED by projects/00-etch/gotknots/port/build_port_css.py.
   ACSS 4.0.1 token names actually referenced by gk-services.css (+ inline styles), values
   copied verbatim from gotknots.test automatic-variables.css. Deleting this file is the port. */
:root {
  --primary: oklch(0.513 0.104 110.9);
  --primary-hover: oklch(0.38 0.104 110.9);
  --primary-ultra-light: oklch(0.95 0.104 110.9);
  --primary-light: oklch(0.85 0.104 110.9);
  --primary-dark: oklch(0.25 0.104 110.9);
  --primary-ultra-dark: oklch(0.1 0.104 110.9);
  --secondary: oklch(0.442 0.091 245.4);
  --secondary-hover: oklch(0.327 0.091 245.4);
  --secondary-ultra-light: oklch(0.95 0.091 245.4);
  --secondary-light: oklch(0.85 0.091 245.4);
  --secondary-semi-light: oklch(0.65 0.091 245.4);
  --secondary-dark: oklch(0.25 0.091 245.4);
  --secondary-ultra-dark: oklch(0.1 0.091 245.4);
  --accent: oklch(0.617 0.126 45.5);
  --neutral-ultra-light: oklch(0.95 0.014 79.7);
  --neutral-light: oklch(0.85 0.014 79.7);
  --white: #fff;
  --black: #000;
  --content-width: 85.375rem;
  --focus-color: var(--primary);
  --focus-width: 2px;
  --focus-offset: 2px;
  --text-l-max-width: 100%;
  --text-color: var(--text-dark);
  --text-line-height: calc(6px + 2ex);
  --text-text-wrap: pretty;
  --heading-line-height: calc(4px + 2ex);
  --heading-font-weight: 700;
  --heading-text-wrap: balance;
  --h1-max-width: 100%;
  --text-xs: clamp(0.8125rem, calc(0.0994035785vw + 0.7901341948rem), 0.875rem);
  --text-s: clamp(0.875rem, calc(0.0994035785vw + 0.8526341948rem), 0.9375rem);
  --text-m: clamp(1rem, calc(0.1988071571vw + 0.9552683897rem), 1.125rem);
  --text-l: clamp(1.2rem, calc(0.4765407555vw + 1.09277833rem), 1.499625rem);
  --h5: clamp(0.875rem, calc(0.0994035785vw + 0.8526341948rem), 0.9375rem);
  --h4: clamp(1.125rem, calc(0.1988071571vw + 1.0802683897rem), 1.25rem);
  --h3: clamp(1.35rem, calc(0.5029821074vw + 1.2368290258rem), 1.66625rem);
  --h2: clamp(1.62rem, calc(0.9560417495vw + 1.4048906064rem), 2.22111125rem);
  --h1: clamp(1.944rem, calc(1.6170835726vw + 1.5801561962rem), 2.9607412962rem);
  --section-padding-block: var(--section-space-m);
  --gutter: clamp(1rem, calc(6.3618290258vw + -0.4314115308rem), 5rem);
  --space-xs: clamp(0.8333333333rem, calc(-0.0172384889vw + 0.8480506933rem), 0.8441720333rem);
  --space-s: clamp(1.1252813203rem, calc(0.1983597291vw + 1.0806503813rem), 1.25rem);
  --space-m: clamp(1.5rem, calc(0.5964214712vw + 1.365805169rem), 1.875rem);
  --space-l: clamp(1.9995rem, calc(1.2930417495vw + 1.7085656064rem), 2.8125rem);
  --space-l-to-m: clamp(1.5rem, calc(2.0874751491vw + 1.0303180915rem), 2.8125rem);
  --space-xl: clamp(2.6653335rem, calc(2.4706425447vw + 2.1094389274rem), 4.21875rem);
  --space-xxl: clamp(3.5528895555rem, calc(4.4138933511vw + 2.5597635515rem), 6.328125rem);
  --section-space-m: clamp(3rem, calc(4.1749502982vw + 2.0606361829rem), 5.625rem);
  --content-gap: var(--space-m);
  --container-gap: var(--space-xl);
  --grid-gap: var(--space-m);
  --width-60: calc(var(--content-width) * 0.6);
  --width-70: calc(var(--content-width) * 0.7);
  --grid-2: repeat(2, minmax(0, 1fr));
  --grid-3: repeat(3, minmax(0, 1fr));
  --grid-6: repeat(6, minmax(0, 1fr));
  --grid-2-3: minmax(0, 2fr) minmax(0, 3fr);
  --grid-3-2: minmax(0, 3fr) minmax(0, 2fr);
  --grid-auto-3: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((3 - 1) * var(--grid-gap))) / 3) * 0.7, (100% - (3 - 1) * var(--grid-gap)) / 3)), 1fr));
  --header-height: clamp(0rem, calc(0vw + 0rem), 0rem);
  --scroll-margin: clamp(0rem, calc(0vw + 0rem), 0rem);
  --offset: calc(var(--scroll-margin) + var(--header-height));
  --paragraph-spacing: 1em;
  --btn-padding-block: 0.5em;
  --btn-padding-inline: 1.25em;
  --btn-min-width: 8.75rem;
  --btn-width: max-content;
  --btn-line-height: 1;
  --btn-font-size: var(--text-m);
  --btn-font-weight: 400;
  --btn-font-family: inherit;
  --btn-font-style: normal;
  --btn-text-decoration: none;
  --btn-text-decoration-hover: none;
  --btn-letter-spacing: 0;
  --btn-text-transform: none;
  --btn-border-width: 2px;
  --btn-border-style: solid;
  --btn-border-radius: var(--radius);
  --btn-radius: var(--radius);
  --btn-justify-content: center;
  --btn-align-items: center;
  --btn-text-align: center;
  --link-color: var(--primary);
  --link-color-hover: var(--primary-hover);
  --link-transition: var(--transition);
  --link-decoration: underline;
  --link-decoration-hover: none;
  --link-underline-offset: 0.25em;
  --link-weight: inherit;
  --card-padding: var(--space-m);
  --card-gap: calc(var(--content-gap) / 2);
  --card-border-width: var(--border-width);
  --card-border-style: solid;
  --card-display: flex;
  --card-radius: var(--radius);
  --card-min-radius: 4px;
  --card-heading-size: var(--h3);
  --card-text-size: var(--text-s);
  --card-button-font-size: var(--text-s);
  --card-icon-size: 68px;
  --card-icon-radius: var(--icon-radius);
  --card-icon-color: var(--icon-color);
  --card-line-height: 1.4;
  --card-avatar-radius: var(--radius);
  --card-avatar-border-width: var(--border-width);
  --card-avatar-border-style: var(--border-style);
  --card-avatar-size: 140px;
  --card-avatar-aspect-ratio: 1;
  --card-media-radius: var(--radius);
  --card-media-aspect-ratio: 1.3333333333;
  --card-media-object-fit: cover;
  --card-background: var(--neutral-ultra-light);
  --card-heading-color: var(--text-dark);
  --card-text-color: var(--text-dark-muted);
  --card-link-color: var(--primary);
  --card-link-color-hover: var(--primary-hover);
  --card-border-color: var(--primary);
  --col-width-m: 25rem;
  --body-bg-color: var(--white);
  --bg-ultra-light: var(--neutral-ultra-light);
  --bg-light: var(--white);
  --bg-dark: var(--primary);
  --bg-ultra-dark: var(--secondary);
  --text-light: var(--white);
  --text-light-muted: color-mix(in srgb, var(--text-light) 80%, transparent);
  --text-dark: var(--black);
  --text-dark-muted: color-mix(in srgb, var(--text-dark) 80%, transparent);
  --bg-ultra-light-text: var(--text-dark);
  --bg-light-text: var(--text-dark);
  --bg-dark-text: var(--text-light);
  --bg-ultra-dark-text: var(--text-light);
  --bg-ultra-light-heading: var(--text-dark);
  --bg-light-heading: var(--text-dark);
  --bg-dark-heading: var(--text-light);
  --bg-ultra-dark-heading: var(--text-light);
  --bg-dark-link: var(--text-light);
  --bg-dark-link-hover: var(--primary-ultra-light);
  --bg-ultra-dark-link: var(--text-light);
  --bg-ultra-dark-link-hover: var(--secondary-light);
  --bg-ultra-light-icon: light;
  --bg-light-icon: light;
  --bg-dark-icon: dark;
  --bg-ultra-dark-icon: dark;
  --radius: 5px;
  --radius-circle: 50vw;
  --radius-m: var(--radius);
  --border-size: 1px;
  --border-width: 1px;
  --border-style: solid;
  --border-color-dark: color-mix(in oklch, var(--black) 20%, transparent);
  --border-color-light: color-mix(in oklch, var(--white) 20%, transparent);
  --border: var(--border-size) var(--border-style) var(--border-color-dark);
  --border-light: var(--border-size) var(--border-style) var(--border-color-light);
  --border-dark: var(--border-size) var(--border-style) var(--border-color-dark);
  --transition: 0.3s ease-in-out 0s;
  --icon-size: 32px;
  --icon-radius: var(--radius);
  --icon-color: var(--text-dark-muted);
  --box-shadow-2: 0 0 60px color-mix(in srgb, black 20%, transparent);
}
