/* Modernist — design-system tokens and component classes. This file is the source of truth for the system's look; retune it here and see readme.md. */
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("0de8e920.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("d258b4c4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("2b6d4241.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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("0de8e920.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("d258b4c4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("2b6d4241.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;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("0de8e920.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("d258b4c4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("2b6d4241.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;
}


:root {
  --color-bg: #f3f2f2;
  --color-surface: #eae9e9;
  --color-text: #201e1d;
  --color-accent: #ec3013;
  --color-accent-2: #e15b47;
  --color-divider: color-mix(in srgb, #201e1d 40%, transparent);

  /* Tonal ramps — generated in OKLCH on one shared lightness scale, so the
     same step of any role matches the others in visual value. */
  --color-neutral-100: #f8f4f4;
  --color-neutral-200: #eae7e7;
  --color-neutral-300: #d7d3d3;
  --color-neutral-400: #bab6b6;
  --color-neutral-500: #9b9797;
  --color-neutral-600: #7d7979;
  --color-neutral-700: #605d5d;
  --color-neutral-800: #444141;
  --color-neutral-900: #2d2b2b;

  --color-accent-100: #fff2ef;
  --color-accent-200: #ffe0d9;
  --color-accent-300: #ffc4b8;
  --color-accent-400: #ff9783;
  --color-accent-500: #ff563c;
  --color-accent-600: #dd2b0f;
  --color-accent-700: #ae1800;
  --color-accent-800: #7c1405;
  --color-accent-900: #4d170e;

  --color-accent-2-100: #fff2ef;
  --color-accent-2-200: #ffe0da;
  --color-accent-2-300: #ffc4b9;
  --color-accent-2-400: #ff9784;
  --color-accent-2-500: #ef6853;
  --color-accent-2-600: #c94b39;
  --color-accent-2-700: #9e3526;
  --color-accent-2-800: #71261b;
  --color-accent-2-900: #471d16;

  --font-heading: "Archivo", system-ui, sans-serif;
  --font-heading-weight: 800;
  --font-body: "Archivo", system-ui, sans-serif;

  --space-1: 4.0px;
  --space-2: 8.0px;
  --space-3: 12.0px;
  --space-4: 16.0px;
  --space-6: 24.0px;
  --space-8: 32.0px;

  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;

  /* Elevation — derived from the ground: soft ink-tinted shadows on a
     light theme, a hairline edge + ambient darkness on a dark one. */
  --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
}
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); }

.grayscale{filter:grayscale(1) contrast(1.08)}

/* ══════════════════════════════════════════════════════════════════════════
   Components — built with the tokens above. Plain CSS
   on plain HTML: no JavaScript, no build step. Each class is documented in
   readme.md and demonstrated in foundations/ and components/.
   ══════════════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-size: 15px; line-height: 1.55; font-weight: 400; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2);
}
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }
h6 { font-size: 13px; }
h6 { letter-spacing: 0.08em; text-transform: uppercase; }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
figcaption {
  font-size: 11px; margin-top: var(--space-1);
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}
.text-muted { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }

/* — rules — */
.hr {
  height: 2px; border: 0; margin: var(--space-4) 0;
  background: var(--color-divider);
}

/* — buttons — */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  cursor: pointer; text-decoration: none;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 14px; line-height: 1.2; color: var(--color-text); /* matches the .input's 14px —
     the pair sits side by side in sign-up rows */
  background: transparent; border: 1px solid transparent;
  padding: var(--space-2) calc(var(--space-3) * 1.2);
  border-radius: var(--radius-md);
}
.btn svg { display: block; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.btn-primary { background: var(--color-accent); color: var(--color-bg); }
.btn-primary:hover { background: var(--color-accent-600); }
.btn-primary:active { background: var(--color-accent-700); }
.btn-secondary { border-color: var(--color-divider); }
.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.btn-secondary:active { background: color-mix(in srgb, var(--color-text) 14%, transparent); }
.btn-ghost { color: var(--color-accent); padding-inline: var(--space-1); }
.btn-ghost:hover { background: color-mix(in srgb, var(--color-accent) 10%, transparent); }
.btn-ghost:active { background: color-mix(in srgb, var(--color-accent) 18%, transparent); }
.btn-icon { width: 36px; height: 36px; padding: 0; }
.btn-block { width: 100%; margin-top: var(--space-2); justify-content: flex-start; text-align: left; }

/* — forms — */
.field > label {
  display: block; font-size: 12px; margin-bottom: 5px;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
}
.input {
  width: 100%; min-height: 36px; padding: 6px 10px; font: inherit;
  font-size: 14px; color: var(--color-text); caret-color: var(--color-accent);
  background: var(--color-surface);
  border: 1px solid var(--color-divider); border-radius: var(--radius-md);
}
.input:hover { border-color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible { border-color: var(--color-accent); outline-offset: 0; }
textarea.input { min-height: 90px; resize: vertical; }
.radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; }
.radio input, .seg-opt input {
  position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;
}
.radio .dot {
  width: 16px; height: 16px; flex: none; border-radius: 50%;
  border: 1.5px solid var(--color-divider);
}
.radio:hover .dot { border-color: var(--color-accent); }
.radio input:checked + .dot {
  border-color: var(--color-accent); background: var(--color-accent);
  box-shadow: inset 0 0 0 4px var(--color-bg);
}
.radio input:focus-visible + .dot { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.seg {
  display: inline-flex; overflow: hidden;
  border: 1px solid var(--color-divider); border-radius: var(--radius-md);
}
.seg-opt {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; font-size: 13px; cursor: pointer;
}
.seg-opt + .seg-opt { border-left: 1px solid var(--color-divider); }
.seg-opt:has(input:checked) { background: var(--color-accent); color: var(--color-bg); }
.seg-opt:not(:has(input:checked)):hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.seg-opt:has(input:focus-visible) { outline: 2px solid var(--color-accent); outline-offset: -2px; }

/* — cards — */
.card {
  display: flex; flex-direction: column; gap: var(--space-2);
  padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-surface);
}
.card-kicker { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-accent); }
.card-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 17px; line-height: 1.2;
}
.card-body { margin: 0; font-size: 13px; opacity: 0.8; flex: 1; }
.card-meta {
  display: flex; align-items: center; gap: 6px; font-size: 11px;
  color: color-mix(in srgb, var(--color-text) 50%, transparent);
}
.elev-sm { box-shadow: var(--shadow-sm); }
.elev-md { box-shadow: var(--shadow-md); }
.elev-lg { box-shadow: var(--shadow-lg); }

/* — tags — */
.tag {
  display: inline-flex; align-items: center; font-size: 11px;
  letter-spacing: 0.02em; padding: 3px 10px;
  border-radius: calc(var(--radius-md) * 0.75);
}
.tag-accent { background: var(--color-accent-100); color: var(--color-accent-800); }
.tag-accent-2 { background: var(--color-accent-2-100); color: var(--color-accent-2-800); }
.tag-neutral { background: var(--color-neutral-100); color: var(--color-neutral-800); }
.tag-outline { border: 1px solid var(--color-accent); color: var(--color-accent); }

/* — navigation — */
.nav {
  display: flex; align-items: center; gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-bottom: 2px solid var(--color-divider);
}
.nav-brand {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 18px; margin-right: auto;
}
.nav a { color: inherit; text-decoration: none; font-size: 14px; }
.nav a:hover, .nav a[aria-current='page'] { color: var(--color-accent); }

/* — tables — */
.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th {
  text-align: left; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 60%, transparent);
  padding: var(--space-2); border-bottom: 2px solid var(--color-divider);
}
.table td {
  padding: var(--space-2);
  border-bottom: 1px solid var(--color-divider);
}
.table tbody tr:hover { background: color-mix(in srgb, var(--color-text) 4%, transparent); }

/* — dialog — */
.dialog-backdrop {
  position: fixed; inset: 0; display: grid; place-items: center;
  padding: var(--space-4);
  background: color-mix(in srgb, var(--color-neutral-900) 50%, transparent);
}
.dialog {
  width: min(440px, 100%); display: flex; flex-direction: column; gap: var(--space-3);
  padding: var(--space-4); border-radius: var(--radius-lg);
  background: var(--color-surface); box-shadow: var(--shadow-lg);
}
.dialog-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 20px;
}
.dialog-body { font-size: 14px; opacity: 0.85; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-2); }


/* vietnamese */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("1c44ce59.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("5b28a445.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("fe49545f.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;
}


body{margin:0;background:#eef0f2;color:#16191d;font-family:"Archivo",system-ui,sans-serif;text-wrap:pretty;-webkit-font-smoothing:antialiased}
:root{--color-accent:#2f66a8;--color-accent-600:#25548c;--color-accent-700:#1d4473}
input,textarea{caret-color:#9cbde6}
input:focus-visible,textarea:focus-visible{outline:2px solid #9cbde6;outline-offset:0}
a{color:#2f66a8}
a:hover{color:#16191d}
html{scroll-behavior:smooth}

.ap-chain{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:stretch}
.ap-chain>.ap-arrow{justify-self:center;align-self:center;transform:rotate(90deg);margin:10px 0}
@media (min-width:900px){.ap-chain{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:10px}.ap-chain>.ap-arrow{transform:none;margin:0}}
.ap-months{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
@media (min-width:640px){.ap-months{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1180px){.ap-months{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ap-months .ap-txt{min-width:0;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.ap-dd{position:relative}
.ap-dd-menu{display:none;position:absolute;top:100%;left:-18px;padding-top:14px;z-index:20;flex-direction:column;min-width:290px}
.ap-dd-menu::before{content:"";position:absolute;inset:14px 0 0 0;background:#fff;box-shadow:0 12px 32px rgba(22,25,29,0.14);border-top:3px solid #2f66a8}
.ap-dd:hover .ap-dd-menu,.ap-dd:focus-within .ap-dd-menu{display:flex}
.ap-dd-item{position:relative;display:flex;align-items:baseline;gap:10px;padding:11px 18px;color:#16191d;text-decoration:none;font-size:15px;border-bottom:1px solid rgba(22,25,29,0.08)}
.ap-dd-item:hover{background:#eef0f2;color:#2f66a8}
.ap-legal h3{font-size:19px;font-weight:600;margin:28px 0 8px}
.ap-legal p,.ap-legal li{font-size:16px;line-height:1.65;color:#2a2e33;margin:0 0 10px}
.ap-legal ul{margin:0 0 10px;padding-left:20px}
.ap-legal a{color:#2f66a8}
.ap-card:hover .ap-card-more{text-decoration:underline}
.ap-card:hover{box-shadow:0 10px 28px rgba(22,25,29,0.12)}
.ap-art{color:#16191d;font-size:18px;line-height:1.75}
.ap-art h1{font-weight:300;font-size:clamp(34px,4.6vw,54px);line-height:1.08;letter-spacing:-0.03em;margin:16px 0 20px}
.ap-art h2{display:flex;align-items:baseline;gap:14px;font-weight:600;font-size:clamp(25px,2.8vw,32px);line-height:1.2;letter-spacing:-0.015em;margin:64px 0 18px;scroll-margin-top:90px}
.ap-art .ap-h2n{font-stretch:62%;font-weight:100;font-size:1.6em;line-height:0.8;color:#2f66a8;flex:none}
.ap-art h3{font-size:21px;font-weight:600;line-height:1.3;margin:36px 0 10px}
.ap-art p{margin:0 0 18px}
.ap-art a{color:#2f66a8}
.ap-art strong{font-weight:600}
.ap-meta{display:flex;align-items:center;gap:12px;font-size:15px;color:#4d5259;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid rgba(22,25,29,0.16)}
.ap-meta img{width:40px;height:40px;object-fit:cover;filter:grayscale(1)}
.ap-lead{font-size:21px;line-height:1.65}
.ap-pull{font-size:24px;line-height:1.4;font-weight:300;color:#2f66a8;border-top:2px solid #2f66a8;border-bottom:2px solid #2f66a8;padding:18px 0;margin:28px 0}
.ap-key{background:#16191d;color:#eef0f2;padding:26px 28px;margin:32px 0}
.ap-key-l,.ap-toc-l,.ap-box-l,.ap-src-l,.ap-author-l,.ap-next-l{display:block;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;margin-bottom:12px}
.ap-key-l{color:#9cbde6}
.ap-key ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ap-key li{position:relative;padding-left:28px;font-size:17px;line-height:1.55}
.ap-key li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:8px;border-left:2px solid #9cbde6;border-bottom:2px solid #9cbde6;transform:rotate(-45deg)}
.ap-toc{border:1px solid rgba(22,25,29,0.16);background:#fff;padding:22px 26px;margin:0 0 16px}
.ap-toc-l{color:#4d5259}
.ap-toc ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:17px}
.ap-toc a{color:#16191d;text-decoration:none}
.ap-toc a:hover{color:#2f66a8;text-decoration:underline}
.ap-tw{overflow-x:auto;margin:24px 0 28px}
.ap-art table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;background:#fff;min-width:520px}
.ap-art th{text-align:left;font-weight:600;background:#16191d;color:#eef0f2;padding:12px 14px;font-size:14px}
.ap-art td{padding:12px 14px;border-bottom:1px solid rgba(22,25,29,0.12);vertical-align:top}
.ap-art tbody tr:nth-child(even) td{background:#f6f8fb}
.ap-art td:first-child{font-weight:600}
.ap-box{padding:20px 24px;margin:28px 0;font-size:17px}
.ap-box p{margin:0}
.ap-box-info{background:#dfe9f5;color:#1d4473}
.ap-box-info .ap-box-l{color:#2f66a8}
.ap-box-warn{background:#fdf3ea;color:#5a3412}
.ap-box-warn .ap-box-l{color:#b0601c}
.ap-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:2px;margin:24px 0}
.ap-facts>div{background:#fff;padding:22px;display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.55}
.ap-facts p{margin:0;color:#2a2e33}
.ap-fact-n{font-stretch:62%;font-weight:100;font-size:48px;line-height:0.9;color:#2f66a8}
.ap-steps{list-style:none;counter-reset:st;margin:8px 0 24px;padding:0;display:flex;flex-direction:column;gap:2px}
.ap-steps li{counter-increment:st;position:relative;background:#fff;padding:14px 18px 14px 64px;font-size:17px;line-height:1.55}
.ap-steps li::before{content:counter(st,decimal-leading-zero);position:absolute;left:18px;top:10px;font-stretch:62%;font-weight:100;font-size:30px;line-height:1;color:#2f66a8}
.ap-dur{display:inline-block;font-size:13px;font-weight:600;padding:2px 8px;background:#dfe9f5;color:#1d4473;margin-left:6px}
.ap-wave{background:#fff;padding:18px 22px;margin:8px 0 24px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#4d5259}
.ap-months4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:2px;margin:20px 0 24px}
.ap-months4>div{background:#fff;padding:18px;border-top:3px solid #2f66a8}
.ap-months4>div:last-child{border-top-color:#f2a665}
.ap-months4 span{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#2f66a8;font-weight:600}
.ap-months4 p{margin:6px 0 0;font-size:15px;line-height:1.5}
.ap-cta{background:#16191d;color:#eef0f2;padding:clamp(24px,4vw,36px);margin:40px 0;display:flex;flex-direction:column;gap:12px}
.ap-cta-t{font-weight:600;font-size:24px;line-height:1.25}
.ap-cta p{margin:0;color:#dfe3e8;font-size:17px}
.ap-faq{border-bottom:1px solid rgba(22,25,29,0.16)}
.ap-faq details{border-top:1px solid rgba(22,25,29,0.16)}
.ap-faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-weight:600;font-size:18px;line-height:1.4;position:relative}
.ap-faq summary::-webkit-details-marker{display:none}
.ap-faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:24px;font-weight:300;color:#2f66a8}
.ap-faq details[open] summary::after{content:"–"}
.ap-faq details p{margin:0 0 20px;font-size:17px;color:#2a2e33}
.ap-author{display:flex;gap:20px;align-items:flex-start;background:#fff;padding:24px;margin:48px 0 24px}
.ap-author img{width:84px;height:84px;object-fit:cover;flex:none;filter:grayscale(1)}
.ap-author p{margin:0;font-size:16px;line-height:1.6}
.ap-author-l{color:#2f66a8}
.ap-src{font-size:14px;line-height:1.55;color:#4d5259}
.ap-src ul{margin:0 0 14px;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.ap-note{font-size:13px;font-style:italic}
.ap-reasons{display:flex;flex-direction:column;gap:2px;margin:20px 0 8px}
.ap-reasons>div{background:#fff;padding:22px 24px 22px 76px;position:relative}
.ap-reasons h3{margin:0 0 8px;font-size:19px}
.ap-reasons p{margin:0;font-size:17px}
.ap-rn{position:absolute;left:24px;top:18px;font-stretch:62%;font-weight:100;font-size:40px;line-height:1;color:#2f66a8}
.ap-inlink{background:none;border:0;padding:0;font:inherit;color:#2f66a8;text-decoration:underline;cursor:pointer;text-align:left}
.ap-quote{margin:28px 0;padding:24px 28px;background:#fff;border-top:3px solid #f2a665}
.ap-quote p{font-size:20px;line-height:1.5;font-weight:300;margin:0 0 10px}
.ap-quote span{font-size:14px;font-weight:600;color:#4d5259}
.ap-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:20px 0 28px}
.ap-week>div{background:#fff;padding:14px 10px;font-size:13px;line-height:1.4;min-height:110px}
.ap-week span{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.ap-week p{margin:0;color:#4d5259}
.ap-week .ap-swim{background:#2f66a8;color:#fff}
.ap-week .ap-swim p{color:#dfe9f5}
@media (max-width:640px){.ap-week{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-week>div{min-height:0}.ap-art{font-size:17px}.ap-lead{font-size:19px}}
.ap-next{margin-top:56px;border-top:2px solid #16191d;padding-top:20px}
.ap-next-l{color:#4d5259}
.ap-next button{background:#fff;border:0;width:100%;text-align:left;padding:22px 24px;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:#16191d}
.ap-next button:hover{background:#dfe9f5}
.ap-next-c{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#2f66a8;font-weight:600}
.ap-next-t{font-size:21px;font-weight:600;line-height:1.3}


html{scroll-padding-top:96px}
.ap-menucta{display:none!important}
@media (max-width:559px){.ap-navcta{display:none!important}nav>div:first-child{gap:12px!important}nav a[href="#top"]{font-size:18px!important}nav a[href="#top"] img{width:25px!important;height:27px!important}.ap-menucta{display:flex!important}html{scroll-padding-top:84px}}
#ap-top{position:fixed;right:20px;bottom:20px;z-index:9;width:48px;height:48px;border:0;border-radius:50%;background:#16191d;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(22,25,29,.22);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,background .2s ease}
#ap-top.ap-show{opacity:1;transform:none;pointer-events:auto}
#ap-top:hover,#ap-top:focus-visible{background:#2f66a8}
#ap-top:focus-visible{outline:2px solid #2f66a8;outline-offset:3px}
@media (prefers-reduced-motion:no-preference){
.ap-pop{opacity:0;transform:scale(.3)}
.ap-pop.ap-in{animation:apPop .5s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:var(--ap-d,0s)}
@keyframes apPop{0%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
.ap-rise{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.ap-rise.ap-in{opacity:1;transform:none}
}

/* ===== Mehrseiter: responsive Werte (ersetzt JS-Breakpoints) ===== */
:root{--ap-probCols:minmax(0,1fr);--ap-probRows:none;--ap-probFlow:row;--ap-tlCols:minmax(0,1fr);--ap-rmCols:minmax(0,1fr);--ap-rmPos:static;--ap-rmImgMax:300px;--ap-protoCols:minmax(0,1fr);--ap-calH:0px}
@media (min-width:520px){:root{--ap-tlCols:repeat(2,minmax(0,1fr))}}
@media (min-width:760px){:root{--ap-tlCols:repeat(4,minmax(0,1fr))}}
@media (min-width:900px){:root{--ap-probCols:repeat(2,minmax(0,1fr));--ap-probRows:repeat(5,auto);--ap-probFlow:column}}
@media (min-width:960px){:root{--ap-protoCols:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){:root{--ap-rmCols:minmax(0,360px) minmax(0,1fr);--ap-rmPos:sticky;--ap-rmImgMax:360px}}
html{scroll-padding-top:96px}
main{display:block}
html,body{overflow-x:clip}

/* ===== Wortmarke ===== */
.apw{font-weight:300;letter-spacing:-0.02em;color:inherit;line-height:1}
.apw b{font-weight:800;letter-spacing:-0.03em}
.apw-xl{font-size:clamp(34px,4.6vw,62px);letter-spacing:-0.03em}

/* ===== Navigation ===== */
.apn{position:sticky;top:0;z-index:30;background:rgba(238,240,242,0.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(22,25,29,0.14)}
.apn-in{max-width:1440px;margin:0 auto;padding:16px clamp(20px,5vw,72px);display:flex;align-items:center;gap:24px}
.apn-logo{flex:1 1 0;min-width:max-content;display:flex;align-items:center;gap:10px;font-size:22px;color:#16191d;text-decoration:none}
.apn-logo img{width:28px;height:30px;display:block}
.apn-links{display:none;gap:26px;align-items:center;font-size:15px;white-space:nowrap}
.apn-l{color:#16191d;text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:6px 0;border-bottom:2px solid transparent}
.apn-l:hover{color:#2f66a8}
.apn-l[aria-current="page"],.apn-l.apn-on{color:#2f66a8;border-bottom-color:#2f66a8}
.apn-cta{flex:1 1 0;display:flex;justify-content:flex-end;align-items:center;gap:12px}
.apn-btn{background:#16191d;color:#fff;padding:10px 16px;font-size:14px;font-weight:600;gap:10px;white-space:nowrap}
.apn-btn:hover,.apn-btn:focus-visible{background:#2f66a8;color:#fff}
.apn-burger{display:inline-flex;align-items:center;gap:10px;background:transparent;border:1px solid rgba(22,25,29,0.25);padding:9px 12px;font:inherit;font-size:14px;font-weight:600;color:#16191d;cursor:pointer}
.apn-burger:hover{border-color:#16191d}
.apn-bars{position:relative;width:16px;height:2px;background:currentColor;transition:background .2s}
.apn-bars::before,.apn-bars::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor;transition:transform .2s}
.apn-bars::before{top:-5px}.apn-bars::after{top:5px}
.apn-burger[aria-expanded="true"] .apn-bars{background:transparent}
.apn-burger[aria-expanded="true"] .apn-bars::before{transform:translateY(5px) rotate(45deg)}
.apn-burger[aria-expanded="true"] .apn-bars::after{transform:translateY(-5px) rotate(-45deg)}
.apn-menu{max-width:1440px;margin:0 auto;padding:8px clamp(20px,5vw,72px) 28px;display:flex;flex-direction:column;border-top:1px solid rgba(22,25,29,0.1);max-height:calc(100vh - 70px);overflow-y:auto}
.apn-menu[hidden]{display:none}
.apn-m-h{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#4d5259;font-weight:600;padding:18px 0 6px}
.apn-m-sub,.apn-m-l{display:flex;align-items:baseline;gap:12px;color:#16191d;text-decoration:none;padding:13px 0;border-bottom:1px solid rgba(22,25,29,0.1);font-size:19px}
.apn-m-l{font-size:21px;font-weight:600}
.apn-m-sub[aria-current="page"],.apn-m-l[aria-current="page"]{color:#2f66a8}
.apn-m-cta{margin-top:22px;background:#16191d;color:#fff;padding:15px 20px;font-size:16px;font-weight:600;align-self:stretch}
.apn-num{font-stretch:62%;font-weight:200;font-size:22px;line-height:1;color:#2f66a8;width:26px;flex:none}
.ap-dd-item[aria-current="page"]{color:#2f66a8;background:#eef0f2}
.ap-dd-item small{display:block;font-size:12px;color:#4d5259;margin-top:2px;letter-spacing:0.02em}
@media (min-width:1180px){.apn-links{display:flex}.apn-burger,.apn-menu{display:none!important}}
@media (max-width:559px){.apn-btn{display:none}.apn-logo{font-size:19px}.apn-logo img{width:25px;height:27px}.apn-in{gap:12px}}

/* ===== gemeinsame Bausteine ===== */
.ap-wrap{max-width:1320px;margin:0 auto;padding-left:clamp(20px,5vw,72px);padding-right:clamp(20px,5vw,72px);box-sizing:border-box}
.ap-eyebrow{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:#2f66a8;font-weight:500}
.ap-h2{font-weight:300;font-size:clamp(30px,3.6vw,52px);line-height:1.08;letter-spacing:-0.03em;margin:0}
.ap-h2 b{font-weight:600}
.ap-head2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px 72px;align-items:end}
.ap-head2-l{display:flex;flex-direction:column;gap:14px}
.ap-intro{font-size:18px;line-height:1.65;margin:0;color:#2a2e33;max-width:52ch}
.ap-more{align-self:flex-start;font-size:16px;font-weight:600;color:#16191d;text-decoration:none;border-bottom:1px solid #16191d;padding-bottom:3px}
.ap-more:hover{color:#2f66a8;border-color:#2f66a8}

/* Wegweiser */
.ap-ways{background:#eef0f2;border-top:1px solid rgba(22,25,29,0.14)}
.ap-ways>.ap-wrap{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px);display:flex;flex-direction:column;gap:40px}
.ap-way-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:2px}
.ap-way{background:#fff;color:#16191d;text-decoration:none;padding:clamp(24px,2.8vw,36px);display:flex;flex-direction:column;gap:10px;min-height:280px;transition:box-shadow .2s}
.ap-way:hover{color:#16191d}
.ap-way-ic{color:#2f66a8;margin-bottom:14px;display:block}
.ap-way-ic svg{display:block}
.ap-way-tag{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#4d5259;font-weight:500}
.ap-way-t{font-weight:600;font-size:clamp(22px,2vw,26px);line-height:1.2;letter-spacing:-0.01em}
.ap-way-p{font-size:16px;line-height:1.6;color:#2a2e33}
.ap-way-more{margin-top:auto;padding-top:10px;font-size:15px;font-weight:600;color:#2f66a8}
.ap-way-team{align-self:flex-start;font-size:16px;color:#16191d;text-decoration:none;border-bottom:1px solid rgba(22,25,29,0.4);padding-bottom:3px}
.ap-way-team b{font-weight:600}
.ap-way-team:hover{color:#2f66a8;border-color:#2f66a8}

/* Trainerin kurz */
.ap-tt{background:#fff;border-top:1px solid rgba(22,25,29,0.14)}
.ap-tt-grid{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px);display:grid;grid-template-columns:minmax(0,1fr);gap:40px 72px;align-items:center}
@media (min-width:900px){.ap-tt-grid{grid-template-columns:minmax(0,440px) minmax(0,1fr)}}
.ap-tt-img{margin:0;aspect-ratio:1/1;overflow:hidden;background:#eef0f2;max-width:440px}
.ap-tt-img img{width:100%;height:100%;object-fit:cover;display:block}
.ap-tt-txt{display:flex;flex-direction:column;gap:20px}
.ap-tt-txt p{font-size:18px;line-height:1.65;margin:0;color:#2a2e33;max-width:58ch}
.ap-tf{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:2px;margin:4px 0 8px}
.ap-tf>div{background:#eef0f2;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.ap-tf-n{font-stretch:62%;font-weight:200;font-size:36px;line-height:0.95;color:#2f66a8}
.ap-tf-l{font-size:13px;line-height:1.4;color:#4d5259}

/* CTA-Band */
.ap-ctaband{background:#eef0f2}
.ap-ctaband>.ap-wrap{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,88px)}
.ap-ctabox{background:#16191d;color:#fff;padding:clamp(28px,4vw,48px);display:flex;flex-wrap:wrap;gap:24px 40px;justify-content:space-between;align-items:center}
.ap-ctah{font-weight:300;font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-0.02em;margin:0}
.ap-ctah b{font-weight:600}
.ap-ctabox p{font-size:15px;line-height:1.55;color:#9aa1a9;margin:10px 0 0;max-width:60ch}
.ap-ctabtn{background:#fff;color:#16191d;padding:15px 22px;font-size:15px;font-weight:600}
.ap-ctabtn:hover,.ap-ctabtn:focus-visible{background:#9cbde6;color:#16191d}

/* Rechtliches & Artikel */
.ap-legalpage{background:#eef0f2}
.ap-legalpage>.ap-wrap{padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(56px,7vw,104px)}
.ap-legal h1{font-weight:300;font-size:clamp(30px,3.6vw,48px);letter-spacing:-0.03em;margin:0 0 8px;line-height:1.1}
.ap-artpage{background:#eef0f2}
.ap-next a.ap-next-a{background:#fff;width:100%;box-sizing:border-box;text-align:left;padding:22px 24px;display:flex;flex-direction:column;gap:6px;color:#16191d;text-decoration:none}
.ap-next a.ap-next-a:hover{background:#dfe9f5}
section h1{margin-top:0}

/* Startseite: verkürzte Liste */
:root{--ap-probRows4:none}
@media (min-width:900px){:root{--ap-probRows4:repeat(4,auto)}}

/* Protokollseiten: Eckdaten und Aktionen */
.ap-facts-row{display:flex;flex-direction:column;gap:22px;margin-top:6px}
.ap-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ap-chip{font-size:13px;font-weight:600;padding:6px 12px;background:#dfe9f5;color:#1d4473;line-height:1.2}
.ap-acts{display:flex;flex-wrap:wrap;gap:10px}
.ap-btn-p{background:#16191d;color:#fff;padding:14px 20px;font-size:15px;font-weight:600}
.ap-btn-p:hover,.ap-btn-p:focus-visible{background:#2f66a8;color:#fff}
.ap-btn-s{background:transparent;color:#16191d;border:1px solid rgba(22,25,29,0.35);padding:13px 19px;font-size:15px;font-weight:600}
.ap-btn-s:hover,.ap-btn-s:focus-visible{border-color:#2f66a8;color:#2f66a8}

/* ===== Für Unternehmen ===== */
.fx-hero{background:#eef0f2}
.fx-hero-grid{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(56px,7vw,96px);display:grid;grid-template-columns:minmax(0,1fr);gap:48px 72px;align-items:center}
@media (min-width:1000px){.fx-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}
.fx-hero-txt{display:flex;flex-direction:column;gap:22px;min-width:0}
.fx-h1{font-weight:300;font-size:clamp(38px,4.6vw,66px);line-height:1.04;letter-spacing:-0.03em;margin:0;text-wrap:balance}
.fx-h1 b{font-weight:600}
.fx-lead{font-size:19px;line-height:1.6;margin:0;color:#2a2e33;max-width:52ch}
.fx-screen{margin:0;background:#16191d;color:#eef0f2;padding:clamp(18px,2.4vw,28px);display:flex;flex-direction:column;gap:16px;min-width:0;border-top:3px solid #2f66a8}
.fx-screen-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}
.fx-live{display:inline-flex;align-items:center;gap:8px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;color:#9cbde6}
.fx-live i{width:8px;height:8px;border-radius:50%;background:#f2a665;box-shadow:0 0 0 0 rgba(242,166,101,.6);animation:fxPulse 1.6s ease-out infinite}
@keyframes fxPulse{0%{box-shadow:0 0 0 0 rgba(242,166,101,.55)}100%{box-shadow:0 0 0 10px rgba(242,166,101,0)}}
.fx-phase{color:#9aa1a9}
.fx-screen svg{width:100%;height:auto;display:block}
.fx-values{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:14px;color:#dfe3e8;border-top:1px solid rgba(238,240,242,.14);padding-top:14px}
.fx-values div{display:flex;align-items:baseline;gap:8px}
.fx-values i{width:10px;height:10px;display:inline-block;align-self:center}
.fx-values b{font-stretch:62%;font-weight:200;font-size:34px;line-height:1;color:#fff;margin-left:6px;font-variant-numeric:tabular-nums;min-width:2ch}
.fx-values small{font-size:12px;color:#9aa1a9}
.fx-screen figcaption{font-size:13px;line-height:1.55;color:#9aa1a9}
@media (prefers-reduced-motion:reduce){.fx-live i{animation:none}}

.fx-sec{background:#eef0f2;border-top:1px solid rgba(22,25,29,0.14)}
.fx-sec>.ap-wrap{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px)}
.fx-white{background:#fff}
.fx-intro-txt{display:flex;flex-direction:column;gap:16px;max-width:58ch}
.fx-intro-txt p{margin:0;font-size:18px;line-height:1.65;color:#2a2e33}
.fx-intro-txt .fx-big{font-size:clamp(20px,1.7vw,23px);line-height:1.5;color:#16191d}
.fx-stack{display:flex;flex-direction:column;gap:40px}
.fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:2px;background:#eef0f2}
.fx-card{background:#fff;padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;gap:10px;min-width:0;border-top:1px solid rgba(22,25,29,0.08)}
.fx-ic{color:#2f66a8;display:block;margin-bottom:10px}
.fx-ic svg{display:block}
.fx-card h3{margin:0;font-weight:600;font-size:21px;line-height:1.25;letter-spacing:-0.01em}
.fx-card p{margin:0;font-size:16px;line-height:1.6;color:#2a2e33}
.fx-two{display:grid;grid-template-columns:minmax(0,1fr);gap:48px 72px;align-items:start}
@media (min-width:960px){.fx-two{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}}
.fx-stack-s{display:flex;flex-direction:column;gap:18px}
.fx-p{margin:0;font-size:18px;line-height:1.65;color:#2a2e33;max-width:52ch}
.fx-checks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}
.fx-checks li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid rgba(22,25,29,0.14);font-size:17px;line-height:1.5}
.fx-checks li:last-child{border-bottom:1px solid rgba(22,25,29,0.14)}
.fx-checks svg{color:#2f66a8;flex:none;margin-top:3px}
.fx-formats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:2px}
.fx-fmt{background:#fff;color:#16191d;text-decoration:none;padding:clamp(24px,2.8vw,36px);display:flex;flex-direction:column;gap:12px;min-height:280px}
.fx-fmt h3{margin:0;font-weight:600;font-size:23px;line-height:1.2}
.fx-fmt p{margin:0;font-size:16px;line-height:1.6;color:#2a2e33}
.fx-fmt-dark{background:#2f66a8;color:#fff}
.fx-fmt-dark p{color:#dfe9f5}
.fx-tag{align-self:flex-start;font-size:12px;font-weight:600;padding:4px 10px;background:#fff;color:#1d4473}
.fx-tag-l{background:#dfe9f5}
.fx-more{margin-top:auto;padding-top:8px;font-size:15px;font-weight:600;color:#fff;text-decoration:none}
.fx-more:hover{text-decoration:underline;color:#fff}
.fx-more-b{color:#2f66a8}
.fx-fmt:hover .fx-more-b{text-decoration:underline}
.fx-cta2{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);padding:14px 21px;font-size:15px;font-weight:600}
.fx-cta2:hover,.fx-cta2:focus-visible{border-color:#9cbde6;color:#9cbde6}

/* Herz-Hirn atmet: 4 s ein, 6 s aus */
@media (prefers-reduced-motion:no-preference){
.ap-breathe{transform-origin:50% 60%;animation:apBreathe 10s infinite;will-change:transform}
@keyframes apBreathe{
0%{transform:translateY(0) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}
40%{transform:translateY(-6px) scale(1.02);animation-timing-function:cubic-bezier(.45,0,.55,1)}
100%{transform:translateY(0) scale(1)}}
}

/* Startseite: Foto-Doppel wie auf Über Elisa / WaterMind */
@media (min-width:900px){.ap-tt-grid{grid-template-columns:minmax(0,480px) minmax(0,1fr);align-items:start}}
.ap-tt-fig{margin:0;display:flex;flex-direction:column;gap:12px;max-width:480px;width:100%}
.ap-tt-fig figcaption{font-size:12px;color:#4d5259}
.ap-tt-stage{position:relative;padding:18px 0 72px 18px}
.ap-photo{position:relative;overflow:hidden;background:#d9dde1}
.ap-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05) brightness(1.03)}
.ap-tone{position:absolute;inset:0;background:#2f66a8;mix-blend-mode:color;opacity:.24;pointer-events:none}
.ap-grain{position:absolute;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("d241e9a4.png");background-size:180px}
.ap-tt-main{width:80%;aspect-ratio:4/5;box-shadow:-18px -18px 0 0 #dfe3e8}
.ap-tt-small{position:absolute;right:0;bottom:0;width:38%;aspect-ratio:380/740;border:10px solid #fff;box-shadow:var(--shadow-md)}
.ap-tt-small .ap-tone{opacity:.35}
.ap-tt-stats{display:flex;flex-direction:column;gap:22px;margin:4px 0}
/* Doppelbild: kleines Foto nur an der unteren rechten Ecke, Gesicht bleibt frei */
.ap-tt-stage{padding:18px 0 40% 18px}
.ap-tt-main{width:72%}
.ap-tt-small{width:34%}

/* Atem-Visual etwas deutlicher + Hinweis zum Mitatmen */
@media (prefers-reduced-motion:no-preference){
@keyframes apBreathe{
0%{transform:translateY(0) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}
40%{transform:translateY(-12px) scale(1.04);animation-timing-function:cubic-bezier(.45,0,.55,1)}
100%{transform:translateY(0) scale(1)}}
.ap-breath-dot{animation:apDot 10s infinite}
@keyframes apDot{
0%{transform:scale(.55);opacity:.55;animation-timing-function:cubic-bezier(.45,0,.55,1)}
40%{transform:scale(1);opacity:1;animation-timing-function:cubic-bezier(.45,0,.55,1)}
100%{transform:scale(.55);opacity:.55}}
}
.ap-breath-cap{position:relative;z-index:1;margin:6px 0 18px;display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.5;color:#4d5259;max-width:44ch;align-self:center}
.ap-breath-cap b{font-weight:600;color:#2f66a8}
.ap-breath-dot{flex:none;width:14px;height:14px;border-radius:50%;border:1.5px solid #2f66a8;background:#dfe9f5}
@media (prefers-reduced-motion:reduce){.ap-breath-cap{display:none}}

/* Wasser-Effekt + Abstand Atemhinweis */
.ap-water-gl[hidden]{display:none}
.ap-breath-cap{margin:44px auto 32px;justify-content:center;text-align:left;max-width:40ch;align-self:center}
@media (max-width:899px){.ap-breath-cap{margin:36px auto 28px}}

/* Unternehmen: Team-Karte hell statt Weiß auf Blau */
.fx-fmt-dark{background:#e4edf7;color:#16191d;border-top:3px solid #2f66a8}
.fx-fmt-dark p{color:#2a2e33}
.fx-fmt-dark .fx-more{color:#1d4473}
.fx-fmt-dark .fx-more:hover{color:#2f66a8}
.fx-fmt:not(.fx-fmt-dark){border-top:3px solid #16191d}

/* Roadmap-Label */
.ap-rm-label{display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#16191d}
.ap-rm-label svg{display:block;flex:none}

/* Unternehmen: Karten-Labels als Text mit Strich statt Kästchen */
.fx-tag,.fx-tag-l{align-self:flex-start;background:none;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:#1d4473;padding:1px 0 1px 9px;border-left:2px solid #2f66a8}

/* ===== Runde 3: weg von Schwarz ===== */
.apn-btn,.apn-m-cta,.ap-btn-p{background:#2f66a8!important;color:#fff!important}
.apn-btn:hover,.apn-btn:focus-visible,.apn-m-cta:hover,.ap-btn-p:hover,.ap-btn-p:focus-visible{background:#1d4473!important;color:#fff!important}
.ap-btn-s{border-color:rgba(47,102,168,.45);color:#1d4473}
#ap-top{background:#2f66a8}
#ap-top:hover,#ap-top:focus-visible{background:#1d4473}

/* Abschluss-Box: hell statt schwarz */
.ap-ctabox{background:#fff;color:#16191d;border-top:3px solid #2f66a8;position:relative}
.ap-ctabox::after{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid rgba(47,102,168,.35);z-index:-1;pointer-events:none}
.ap-ctaband>.ap-wrap{position:relative;isolation:isolate}
.ap-ctah{color:#16191d}
.ap-ctabox p{color:#4d5259}
.ap-ctabtn{background:#2f66a8;color:#fff}
.ap-ctabtn:hover,.ap-ctabtn:focus-visible{background:#1d4473;color:#fff}
.fx-cta2{background:transparent;color:#1d4473;border:1px solid rgba(47,102,168,.45)}
.fx-cta2:hover,.fx-cta2:focus-visible{border-color:#1d4473;color:#1d4473;background:#f3f7fc}

/* Eckdaten-Chips: leichter, ohne Fläche */
.ap-chip{background:transparent;border:1px solid rgba(47,102,168,.35);color:#1d4473;font-weight:500}

/* Protokolle vs. Workshop: Trenner + eigene Form */
.ap-sep{display:flex;align-items:center;gap:18px;margin-top:40px;color:#9cbde6;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ap-sep::before,.ap-sep::after{content:"";flex:1;height:1px;background:rgba(156,189,230,.45)}
.ap-ws-box{background:#e4edf7!important;border:0!important;border-left:6px solid #2f66a8!important;border-top:0!important}

/* Herzfrequenz-Leinwand: Deko-Rahmen dahinter */
.fx-screen{position:relative}
.fx-hero-grid{isolation:isolate}
.fx-screen::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(47,102,168,.45);z-index:-1;pointer-events:none}
@media (max-width:559px){.fx-screen::before{inset:12px -10px -12px 10px}.ap-ctabox::after{inset:10px -8px -10px 8px}}

/* ===== Runde 4: CTAs als Text + Kreis statt Kasten ===== */
.ap-go{display:inline-flex;align-items:center;gap:14px;background:none;border:0;padding:4px 0;margin:0;font:inherit;font-size:16px;font-weight:600;line-height:1.3;color:#16191d;text-decoration:none;cursor:pointer;text-align:left}
.ap-go-t{background-image:linear-gradient(#2f66a8,#2f66a8);background-repeat:no-repeat;background-position:0 100%;background-size:100% 1.5px;padding-bottom:4px;transition:background-size .3s ease,color .2s}
.ap-go-ic{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid #2f66a8;color:#2f66a8;display:inline-flex;align-items:center;justify-content:center;transition:background .25s ease,color .25s ease,transform .25s ease}
.ap-go-ic svg{display:block}
.ap-go:hover,.ap-go:focus-visible{color:#1d4473}
.ap-go:hover .ap-go-ic,.ap-go:focus-visible .ap-go-ic{background:#2f66a8;color:#fff;transform:translateX(4px)}
.ap-go:focus-visible{outline:2px solid #2f66a8;outline-offset:4px}
/* zweitrangig: ohne Kreis, nur Text mit Pfeil */
.ap-go-sec{gap:8px;font-weight:500;color:#1d4473}
.ap-go-sec .ap-go-t{background-image:linear-gradient(rgba(47,102,168,.4),rgba(47,102,168,.4))}
.ap-go-sec .ap-go-ic{width:auto;height:auto;border:0;border-radius:0}
.ap-go-sec:hover .ap-go-ic,.ap-go-sec:focus-visible .ap-go-ic{background:none;color:#2f66a8;transform:translateY(2px)}
.ap-go-sec[href^="http"]:hover .ap-go-ic,.ap-go-sec[href^="mailto"]:hover .ap-go-ic{transform:translateX(3px)}
/* auf dunklem Grund */
.ap-go-light{color:#fff}
.ap-go-light .ap-go-t{background-image:linear-gradient(#9cbde6,#9cbde6)}
.ap-go-light .ap-go-ic{border-color:#9cbde6;color:#9cbde6}
.ap-go-light:hover,.ap-go-light:focus-visible{color:#dfe9f5}
.ap-go-light:hover .ap-go-ic{background:#9cbde6;color:#16191d}
/* Navigation */
.ap-go-nav{font-size:14px;gap:10px;white-space:nowrap}
.ap-go-nav .ap-go-ic{width:32px;height:32px}
.ap-go-nav .ap-go-ic svg{width:15px;height:15px}
@media (max-width:559px){.apn-cta .ap-go-nav{display:none}}
.ap-go-menu{margin-top:22px;font-size:18px}
/* Abstände in Aktionszeilen */
.ap-acts{align-items:center;gap:14px 30px}
.ap-ctabox .ap-acts{gap:14px 28px}
[hidden]{display:none!important}

/* ===== Startbereich: Formate + Steckbrief ===== */
.ap-hero-fmt{display:flex;flex-direction:column;gap:12px;max-width:54ch}
.ap-hero-fmt p{position:relative;margin:0;padding-left:26px;font-size:18px;line-height:1.55;color:#2a2e33}
.ap-hero-fmt p::before{content:"";position:absolute;left:0;top:.8em;width:14px;height:2px;background:#2f66a8}
.ap-hero-fmt b{font-weight:600;color:#16191d}
.ap-hero-spec{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(22,25,29,.16);border-bottom:1px solid rgba(22,25,29,.16)}
.ap-hero-spec>div{padding:14px 16px 14px 0;display:flex;flex-direction:column;gap:4px;min-width:0}
.ap-hero-spec>div+div{padding-left:16px;border-left:1px solid rgba(22,25,29,.12)}
.ap-hero-spec dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#2f66a8;font-weight:600}
.ap-hero-spec dd{margin:0;font-size:15px;line-height:1.45;color:#16191d}
@media (max-width:560px){.ap-hero-spec{grid-template-columns:1fr}.ap-hero-spec>div+div{padding-left:0;border-left:0;border-top:1px solid rgba(22,25,29,.12)}}

/* Zwei Formate nebeneinander */
.ap-formats{background:#eef0f2}
.ap-formats>.ap-wrap{padding-bottom:clamp(56px,7vw,96px);display:flex;flex-direction:column;gap:20px}
.ap-fmt-h{margin:0;font-weight:300;font-size:clamp(20px,1.9vw,26px);line-height:1.3;letter-spacing:-0.01em;color:#16191d}
.ap-fmt-h b{font-weight:600}
.ap-fmt-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}
@media (min-width:860px){.ap-fmt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ap-fmt-grid>a{height:100%;box-sizing:border-box}
.ap-fmt-grid>a>span:last-child{margin-top:auto}

/* Protokoll-Karte beim Wegweiser */
.ap-proto{display:grid;grid-template-columns:minmax(0,1fr);gap:28px 64px;align-items:center;margin-top:16px}
@media (min-width:900px){.ap-proto{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.ap-proto-txt{display:flex;flex-direction:column;gap:12px}
.ap-proto-txt h3{margin:0;font-weight:600;font-size:clamp(22px,2vw,28px);line-height:1.2}
.ap-proto-txt p{margin:0;font-size:17px;line-height:1.65;color:#2a2e33;max-width:46ch}
.ap-proto-card{margin:0;background:#fff;border-top:3px solid #2f66a8;padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:14px;position:relative}
.ap-proto-card::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid rgba(47,102,168,.35);z-index:-1;pointer-events:none}
.ap-ways>.ap-wrap{isolation:isolate}
.ap-proto-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid rgba(22,25,29,.14)}
.ap-proto-head b{font-size:18px;font-weight:600}
.ap-proto-head span{font-size:13px;color:#1d4473;padding-left:9px;border-left:2px solid #2f66a8;font-weight:600}
.ap-proto-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ap-proto-card li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid rgba(22,25,29,.08);font-size:15px;line-height:1.5;color:#2a2e33}
.ap-proto-card li b{font-weight:600;color:#16191d}
.ap-proto-d{font-stretch:62%;font-weight:300;font-size:20px;line-height:1.1;color:#2f66a8}
.ap-proto-card figcaption{font-size:12.5px;color:#4d5259;font-style:italic}
.ap-formats>.ap-wrap{padding-top:clamp(28px,3.5vw,44px)}

/* ===== Startbereich v2: Steckbrief mit Punkten + Ergebnis-Sätze ===== */
.ap-hero-spec dd{display:flex;flex-direction:column;gap:6px}
.ap-hero-spec ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ap-hero-spec li{position:relative;padding-left:12px;font-size:14.5px;line-height:1.45;color:#2a2e33}
.ap-hero-spec li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;background:#2f66a8}
.ap-hero-spec li b{font-weight:600;color:#16191d}
.ap-spec-intro{font-size:13px;color:#4d5259;font-style:italic}
.ap-hero-res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}
@media (max-width:620px){.ap-hero-res{grid-template-columns:1fr}}
.ap-hero-res>div{display:flex;flex-direction:column;gap:10px;min-width:0}
.ap-res-l{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#2f66a8}
.ap-hero-res ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ap-hero-res li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;font-size:15px;line-height:1.45;color:#4d5259}
.ap-hero-res li b{font-weight:600;color:#16191d}
.ap-res-ic{width:34px;height:34px;border-radius:50%;background:#e4edf7;color:#2f66a8;display:inline-flex;align-items:center;justify-content:center;margin-top:-6px}
.ap-res-ic svg{width:19px;height:19px}
.ap-fmt-n{font-stretch:62%;font-weight:200;font-size:1.45em;color:#2f66a8;letter-spacing:-.01em}

/* Eyebrow mit Wortmarke + Wahl-Hinweis */
.apw-eb{text-transform:none;letter-spacing:-0.01em;font-size:16px;color:#16191d;margin-right:4px;vertical-align:-1px}
.ap-spec-choose{margin:-6px 0 0;display:flex;align-items:center;gap:10px;font-size:14.5px;color:#1d4473;font-weight:500}
.ap-spec-ic{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid #2f66a8;color:#2f66a8;display:inline-flex;align-items:center;justify-content:center}
.ap-spec-ic svg{width:15px;height:15px}
.apw-eb{color:#2f66a8}
/* Variante B: Wortmarke als eigene Zeile */
.ap-eb-stack{display:flex!important;flex-direction:column;gap:6px}
.ap-eb-stack .apw-eb{font-size:clamp(24px,2.2vw,30px);color:#16191d;letter-spacing:-0.02em;margin:0;vertical-align:baseline;line-height:1.1}
.ap-eb-sub{display:block}
.ap-spec-note{display:flex;align-items:baseline;gap:6px;margin-top:4px;font-size:12.5px;line-height:1.4;color:#4d5259}
.ap-spec-note svg{flex:none;color:#2f66a8;position:relative;top:1px}

/* hover */
.hv0:hover,.hv0:focus-visible{color:#2f66a8 !important}
.hv1:hover,.hv1:focus-visible{background:#1d4473 !important}
.hv2:hover,.hv2:focus-visible{background:#fff !important}
.hv3:hover,.hv3:focus-visible{background:#d8e5f4 !important}
.hv4:hover,.hv4:focus-visible{background:#f6f8fb !important}
.hv5:hover,.hv5:focus-visible{background:#dfe9f5 !important}
.hv6:hover,.hv6:focus-visible{color:#9cbde6 !important}
.hv7:hover,.hv7:focus-visible{background:#2f66a8 !important}
.hv8:hover,.hv8:focus-visible{background:#9cbde6 !important}
.hv9:hover,.hv9:focus-visible{color:#16191d !important}
.hv10:hover,.hv10:focus-visible{text-decoration:underline !important}