/* Gemeinsame Hierarchie der Hauptwebsite, nach Blog und Forms. */
@font-face {
  font-family:Geist; src:url('/lib/blog/fonts/geist-98bbbccb.woff2') format('woff2');
  font-style:normal; font-weight:100 900; font-display:swap;
}
:root {
  --af-font:Geist,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --af-text-primary:#F6EEE5;
  --af-text-secondary:#C9C2BC;
  --af-tracking-ui:-.005em;
}
body { font-family:var(--af-font); font-size:16px; line-height:1.58; font-weight:400; font-kerning:normal; }
button,input,select,textarea { font-family:var(--af-font); }
.af-type-display { font-family:var(--af-font); font-weight:800; line-height:1.04; letter-spacing:-.035em; text-wrap:balance; }
.af-type-heading { font-family:var(--af-font); font-size:clamp(30px,4.2vw,60px); font-weight:650; line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
.af-type-title { font-family:var(--af-font); font-size:clamp(20px,2.2vw,28px); font-weight:650; line-height:1.15; letter-spacing:-.02em; text-wrap:balance; }
.af-type-lead { font-size:18px; font-weight:600; line-height:1.5; letter-spacing:0; }
.af-type-body { font-size:16px; font-weight:400; line-height:1.58; letter-spacing:0; }
.af-type-small { font-size:14px; font-weight:400; line-height:1.5; letter-spacing:0; }
.af-type-label { font-size:13px; font-weight:600; line-height:1.4; letter-spacing:.035em; }
.af-type-ui { font-family:var(--af-font); font-size:14px; font-weight:650; line-height:1.4; letter-spacing:var(--af-tracking-ui); }
.af-type-menu { font-family:var(--af-font); font-weight:650; line-height:1.08; letter-spacing:-.035em; }
.af-msubrow { font-family:var(--af-font); font-size:16px; font-weight:650; letter-spacing:var(--af-tracking-ui); line-height:1.4; }
.af-hero-subtitle p { font-size:18px; font-weight:600; line-height:1.5; }
.af-hero-subtitle p + p { font-size:16px; font-weight:400; color:var(--af-text-secondary); }
.af-surface :is(input,textarea,select) { font-size:16px; line-height:1.5; }
@media (width < 810px), (orientation:portrait) and (width <= 1100px) {
  .af-surface { text-align:center; --af-copy-align:center; --af-side-line:0; --af-side-padding:0px; --af-feature-columns:minmax(0,1fr); }
  .af-surface :is(h1,h2,h3,p) { margin-inline:auto !important; }
  .af-surface .af-flow:not(.af-data-row) { --af-flow-align:center; --af-flow-justify:center; justify-content:center; align-items:center; }
  .af-surface .af-flow.af-data-row { justify-content:space-between; text-align:left; }
  .af-surface [data-media], .af-surface .af-media { text-align:left; }
}

/* Ausnahmen: längere Rechtstexte, Fragen und Eingabefelder lesen sich linksbündig ruhiger. */
[data-reading] { --af-copy-align:left; text-align:left; }
.af-faq-question > span:first-child { font-size:18px; font-weight:600; line-height:1.4; }
.af-faq-question + div { text-align:left; }
[data-form-section] :is(input,textarea,select,label) { text-align:left; }
.af-type-heading, .af-type-title { overflow-wrap:anywhere; }
@media (width < 810px), (orientation:portrait) and (width <= 1100px) {
  .af-surface .af-flow:has(> h2) { flex-direction:column; }
}
/* Lange Wörter und Adressen bleiben auch bei vergrößertem Text im Lesebereich. */
.af-type-display, .af-surface p, .af-btn-label { overflow-wrap:anywhere; }
.af-btn-label { min-width:0; }

@media (width < 810px), (orientation:portrait) and (width <= 1100px) {
  .af-fmtrow { flex-direction:column; align-items:center !important; justify-content:center; --af-format-angle:180deg; --af-format-shift:0px; }
  .af-fmtrow > span { width:100%; flex:auto !important; }
  .af-fmtbadge { display:block !important; width:fit-content; margin:8px auto 0 !important; }
  .af-fmtarrow, .af-only-wide, .af-side-accent { display:none !important; }
}

/* Nur der kleine untere Anschnitt gehört zum Footer-Schriftzug. */
.af-footer-wordmark {
  position:relative; height:.82em; margin-top:clamp(50px,7vh,80px);
  overflow:hidden; font-size:clamp(140px,28vw,440px);
}
.af-footer-wordmark > .af-type-display {
  position:absolute; left:50%; top:-.12em; transform:translateX(-50%);
  font-size:inherit; line-height:1.04; white-space:nowrap;
  background:linear-gradient(95deg,#FF5A36 8%,#FF9A5A 48%,#F6A684 96%);
  -webkit-background-clip:text; background-clip:text; color:transparent; opacity:.92;
}
