/* =========================================================
   ponturo – AI-Readiness Sprint
   1:1 rebuild of the Canva website design (1366 px canvas).
   Desktop: every position is expressed in design pixels × --u,
   so the page scales proportionally with the viewport – exactly
   like the Canva website. Below 768 px a stacked mobile layout
   takes over (see end of file).
   ========================================================= */

@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../Fonts/montserrat-latin-400-normal.woff2") format("woff2");
}
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../Fonts/montserrat-latin-700-normal.woff2") format("woff2");
}

:root {
    --orange: #ee6b0d;
    --orange-dark: #d45d08;
    --ink: #111111;
    --red: #ff3131;
    --band: #aa6232;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: #fff;
    -webkit-font-smoothing: antialiased;
}

.page {
    --u: calc(100vw / 1366);
    overflow-x: clip;
}
@supports (width: 1cqw) {
    .page { container-type: inline-size; }
    .page > * { --u: calc(100cqw / 1366); }
}

img { display: block; max-width: none; }
a { color: inherit; }

/* ---------- Sections / absolute stage ---------- */
.s { position: relative; overflow: hidden; }
.s > .img,
.s > .slot,
.s > .snav,
.site-header > *,
.beratung-band { position: absolute; }
.site-header { position: absolute; inset: 0; pointer-events: none; }
.site-header > * { pointer-events: auto; }
.img { object-fit: cover; }
.s-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.s-hero { background: #fff; }   /* like Canva: white page behind the hero picture */
.s-footer { background: #000; }

/* ---------- Small section navigation (top right of every section) ---------- */
.snav a { position: absolute; color: var(--ink); font-weight: 400; text-decoration: none; white-space: nowrap; }
.snav a:hover, .snav a:focus-visible { text-decoration: underline; }
.beratung-band { background: var(--band); }

/* ---------- Content elements inside the slots ---------- */
.slot .frame, .slot .ce-bodytext { margin: 0; padding: 0; }
.slot h1, .slot h2, .slot h3, .slot p { margin: 0; font-weight: 400; }
.slot strong, .slot b { font-weight: 700; }
.slot a:not(.btn-pill) { color: inherit; }

.accent { color: var(--orange); }
.hl { color: var(--red); }
.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0);
    white-space: nowrap; border: 0;
}

.btn-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--orange);
    color: #fff;
    text-decoration: none;
    transition: background-color .15s ease;
}
.slot .btn-pill { display: flex; }
.btn-pill:hover, .btn-pill:focus-visible { background: var(--orange-dark); }

.site-header__logo img { width: 100%; height: auto; }
.site-header__claim { white-space: nowrap; }
.site-nav { position: absolute; inset: 0; pointer-events: none; }
.site-nav a {
    position: absolute;
    pointer-events: auto;
    color: #fff;
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
}
.site-nav a:hover, .footer__legal a:hover, .footer__address a:hover { text-decoration: underline; }

.footer__text p { margin: 0; }
.footer__address { white-space: nowrap; }
.hero-bg { position: absolute; display: block; pointer-events: none; }
.footer__address a, .footer__legal a { color: #fff; text-decoration: none; }
.footer__legal { position: absolute; color: #fff; }
.footer__company a { color: inherit; text-decoration: none; }
.footer__company a:hover { text-decoration: underline; }
.footer__text { position: absolute; }

/* ---------- Sprint image: track + photo (the photo is animated on its own) ---------- */
.s > .sprint-img { position: absolute; }
.sprint-img > img { position: absolute; display: block; object-fit: cover; }
.sprint-img__track { left: 0; top: 4.482%; width: 45.842%; height: 95.518%; }
.sprint-img__photo { left: 23.679%; top: 0; width: 76.321%; height: 96.820%; }

/* ---------- Animations (as on the Canva website) ----------
   html.anim is set in <head> (page.jsInline) unless the visitor prefers
   reduced motion; main.js plays each animation once:
   hero on page load, all others when the image scrolls into view. */
html.anim [data-anim]:not(.anim-done) { opacity: 0; }
html.anim [data-anim="drop-in"]:not(.anim-done) { opacity: 1; object-position: 0 -100000px; }

/* ---------- Subpages ---------- */
.visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0);
    white-space: nowrap; border: 0;
}
.textpage__content h1, .textpage__content h2, .textpage__content h3,
.textpage__content p, .textpage__content ul { margin-top: 0; font-weight: 400; }
.textpage__content h2, .textpage__content h3 { font-weight: 700; }
.textpage__content ul { list-style: disc; }
.textpage__content a { color: inherit; }
.textpage__content, .s-contact { color: #000; }
.s-contact .slot a { color: inherit; text-decoration: none; }
.s-contact .slot a:hover { text-decoration: underline; }

/* ---------- Contact form (EXT:form) ---------- */
.contact-form form { margin: 0; }
.contact-form .cf-field { position: relative; }
.contact-form .cf-label { color: #000; }
.contact-form .cf-input {
    display: block; width: 100%;
    border-style: solid; border-color: #000;
    background: #fff; color: #000;
    font-family: inherit;
    outline: none;
}
.contact-form .cf-input:focus-visible { box-shadow: inset 0 0 0 calc(2 * var(--u)) #000, 0 0 0 2px var(--orange); }
.contact-form textarea.cf-input { resize: none; }
.contact-form .cf-check { display: flex; align-items: flex-start; }
.contact-form .cf-checkbox {
    -webkit-appearance: none; appearance: none;
    flex: none; margin-top: 0; margin-bottom: 0;
    border: 1px solid #000; background: #fff no-repeat center / 70% auto;
    cursor: pointer;
}
.contact-form .cf-checkbox:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M1.5 6.5l4 4 9-9' fill='none' stroke='%23ee6b0d' stroke-width='2.5'/%3E%3C/svg%3E");
}
.contact-form .cf-checkbox:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.contact-form .cf-check__label { color: #000; position: relative; padding-right: .43em; flex: none; white-space: nowrap; }
/* the asterisk hangs outside so the label breaks like in Canva */
.contact-form .cf-check__label .cf-required { position: absolute; left: calc(100% - .43em); top: 0; margin-left: .08em; }
.contact-form .cf-check__label a { color: inherit; font-weight: 700; text-decoration: none; }
.contact-form .cf-check__label a:hover { text-decoration: underline; }
.contact-form .has-error .cf-input, .contact-form .cf-input.has-error { box-shadow: inset 0 0 0 calc(2 * var(--u)) var(--red); }
.contact-form .has-error .cf-checkbox { border-color: var(--red); }
.contact-form .cf-error { display: block; color: var(--red); }
.contact-form .cf-field--privacy .cf-error { margin-left: 0; }
.contact-form .cf-nav { display: flex; }
.contact-form .cf-submit { border: 0; cursor: pointer; font-family: inherit; }
.contact-form .frc-captcha { max-width: 100%; }
.contact-form .cf-required, .contact-form .cf-required-note .cf-required { margin-left: .1em; color: var(--orange); }
.contact-form .cf-required-note { margin: 0; color: #000; }
.contact-form .cf-required-note .cf-required { margin-left: 0; }
/* Hinweis nach erfolgreichem Absenden (Danke-Meldung, kein Formular mehr) ausblenden */
.contact-form:not(:has(form)) .cf-required-note { display: none; }


/* ---------- Geometry from the Canva design (generated) ---------- */

.s-hero {
    height: calc(768.00 * var(--u));
}

.hero-bg {
    left: calc(-4.07 * var(--u));
    top: calc(-72.71 * var(--u));
    width: calc(1370.07 * var(--u));
    height: calc(861.96 * var(--u));
    object-fit: cover;
}

.site-header__logo {
    left: calc(76.80 * var(--u));
    top: calc(59.20 * var(--u));
    width: calc(220.67 * var(--u));
}

.site-header__claim {
    left: calc(132.77 * var(--u));
    top: calc(101.13 * var(--u));
    width: calc(159.02 * var(--u));
    text-align: center;
    color: #fff;
    font-size: calc(16.41 * var(--u));
    line-height: calc(22.00 * var(--u));
}

.site-nav__company {
    left: calc(1146.27 * var(--u));
    top: calc(80.35 * var(--u));
    width: calc(142.93 * var(--u));
    text-align: right;
    font-size: calc(12.53 * var(--u));
    line-height: calc(17.00 * var(--u));
}

.site-nav__contact {
    left: calc(1215.60 * var(--u));
    top: calc(107.74 * var(--u));
    width: calc(73.60 * var(--u));
    text-align: right;
    font-size: calc(12.59 * var(--u));
    line-height: calc(17.00 * var(--u));
}

.hero-text {
    left: calc(76.80 * var(--u));
    top: calc(424.38 * var(--u));
    width: calc(916.00 * var(--u));
}

.hero-text h1 {
    color: #fff;
    font-size: calc(42.77 * var(--u));
    line-height: calc(59.00 * var(--u));
}

.hero-text p {
    margin-top: calc(17.22 * var(--u));
}

.hero-text .btn-pill {
    width: calc(521.57 * var(--u));
    height: calc(62.07 * var(--u));
    border-radius: calc(38.82 * var(--u)) / calc(31.04 * var(--u));
    letter-spacing: 0.01em;
    font-size: calc(27.33 * var(--u));
    line-height: 1.2;
}

.snav {
    left: calc(1074.17 * var(--u));
    top: calc(62.01 * var(--u));
    width: calc(208.43 * var(--u));
    height: calc(11.00 * var(--u));
}

.snav a {
    top: 0;
    font-size: calc(8.55 * var(--u));
    line-height: calc(11.00 * var(--u));
}

.snav__company {
    left: calc(52.56 * var(--u));
}

.snav__contact {
    left: calc(168.16 * var(--u));
}

.s-intro > .snav {
    left: calc(1068.27 * var(--u));
    top: calc(62.79 * var(--u));
}

.s-intro > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-intro > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-problem > .snav {
    left: calc(1074.17 * var(--u));
    top: calc(62.01 * var(--u));
}

.s-problem > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-problem > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-sprint > .snav {
    left: calc(1074.17 * var(--u));
    top: calc(62.01 * var(--u));
}

.s-sprint > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-sprint > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-ziel > .snav {
    left: calc(1059.17 * var(--u));
    top: calc(71.74 * var(--u));
}

.s-ziel > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-ziel > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-ablauf > .snav {
    left: calc(1059.17 * var(--u));
    top: calc(71.74 * var(--u));
}

.s-ablauf > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-ablauf > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-beratung > .snav {
    left: calc(1059.17 * var(--u));
    top: calc(71.74 * var(--u));
}

.s-beratung > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-beratung > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-cta > .snav {
    left: calc(1059.17 * var(--u));
    top: calc(71.74 * var(--u));
}

.s-cta > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-cta > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-textpage--impressum > .snav {
    left: calc(1066.23 * var(--u));
    top: calc(76.17 * var(--u));
}

.s-textpage--impressum > .snav .snav__company {
    left: calc(52.55 * var(--u));
}

.s-textpage--impressum > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-textpage--rechtliche-hinweise > .snav {
    left: calc(1074.17 * var(--u));
    top: calc(62.01 * var(--u));
}

.s-textpage--rechtliche-hinweise > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-textpage--rechtliche-hinweise > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-textpage--datenschutz > .snav {
    left: calc(1074.17 * var(--u));
    top: calc(76.92 * var(--u));
}

.s-textpage--datenschutz > .snav .snav__company {
    left: calc(57.96 * var(--u));
}

.s-textpage--datenschutz > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-contact > .snav {
    left: calc(1038.26 * var(--u));
    top: calc(58.40 * var(--u));
}

.s-contact > .snav .snav__company {
    left: calc(52.56 * var(--u));
}

.s-contact > .snav .snav__contact {
    left: calc(168.16 * var(--u));
}

.s-intro {
    height: calc(893.00 * var(--u));
}

.intro-img {
    left: calc(79.17 * var(--u));
    top: calc(154.49 * var(--u));
    width: calc(492.42 * var(--u));
    height: calc(689.04 * var(--u));
}

.intro-text {
    left: calc(575.60 * var(--u));
    top: calc(339.01 * var(--u));
    width: calc(701.10 * var(--u));
}

.intro-text h2 {
    text-align: right;
    font-size: calc(49.90 * var(--u));
    line-height: calc(69.00 * var(--u));
}

.intro-text p {
    margin-top: calc(0.82 * var(--u));
    margin-left: calc(273.29 * var(--u));
    width: calc(427.81 * var(--u));
    text-align: justify;
    font-size: calc(13.87 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.s-problem {
    height: calc(990.00 * var(--u));
}

.problem-text {
    left: calc(74.10 * var(--u));
    top: calc(232.56 * var(--u));
    width: calc(400.00 * var(--u));
}

.problem-text h2 {
    font-size: calc(39.15 * var(--u));
    line-height: calc(41.00 * var(--u));
}

.problem-text p {
    margin-top: calc(21.57 * var(--u));
    width: calc(302.97 * var(--u));
    color: #000;
    font-size: calc(13.87 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.problem-img {
    left: calc(509.09 * var(--u));
    top: calc(221.40 * var(--u));
    width: calc(773.51 * var(--u));
    height: calc(313.58 * var(--u));
}

.card-1 {
    left: calc(74.10 * var(--u));
    top: calc(711.44 * var(--u));
    width: calc(281.43 * var(--u));
}

.card-2 {
    left: calc(509.09 * var(--u));
    top: calc(711.44 * var(--u));
    width: calc(312.08 * var(--u));
}

.card-3 {
    left: calc(961.55 * var(--u));
    top: calc(711.44 * var(--u));
    width: calc(321.05 * var(--u));
}

.card h3 {
    color: var(--orange);
    font-size: calc(20.00 * var(--u));
    line-height: calc(28.00 * var(--u));
}

.card p {
    font-size: calc(14.00 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.s-sprint {
    height: calc(875.00 * var(--u));
}

.sprint-img {
    left: calc(74.10 * var(--u));
    top: calc(177.72 * var(--u));
    width: calc(552.10 * var(--u));
    height: calc(582.78 * var(--u));
}

.sprint-text {
    left: calc(802.40 * var(--u));
    top: calc(207.26 * var(--u));
    width: calc(480.20 * var(--u));
    text-align: right;
}

.sprint-text h2 {
    text-align: right;
    font-size: calc(42.51 * var(--u));
    line-height: calc(45.00 * var(--u));
}

.sprint-text p {
    margin-top: calc(9.25 * var(--u));
    width: calc(480.20 * var(--u));
    text-align: right;
    color: #000;
    font-size: calc(13.87 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.sprint-item-1 {
    left: calc(874.77 * var(--u));
    top: calc(471.45 * var(--u));
    width: calc(407.83 * var(--u));
    text-align: right;
}

.sprint-item-2 {
    left: calc(874.35 * var(--u));
    top: calc(546.09 * var(--u));
    width: calc(407.83 * var(--u));
    text-align: right;
}

.sprint-item-3 {
    left: calc(874.35 * var(--u));
    top: calc(639.03 * var(--u));
    width: calc(407.83 * var(--u));
    text-align: right;
}

.s-sprint .item h3 {
    color: var(--orange);
    font-weight: 400;
    font-size: calc(13.87 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.s-sprint .item p {
    font-size: calc(13.87 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.sprint-item-2 p {
    width: calc(403.00 * var(--u));
    margin-left: calc(4.83 * var(--u));
}

.s-ziel {
    height: calc(1103.00 * var(--u));
}

.ziel-img {
    left: calc(641.88 * var(--u));
    top: calc(193.58 * var(--u));
    width: calc(625.72 * var(--u));
    height: calc(502.67 * var(--u));
}

.ziel-text {
    left: calc(74.10 * var(--u));
    top: calc(183.17 * var(--u));
    width: calc(386.00 * var(--u));
}

.ziel-text h2 {
    font-size: calc(38.67 * var(--u));
    line-height: calc(39.00 * var(--u));
}

.ziel-text p {
    margin-top: calc(28.89 * var(--u));
    width: calc(339.35 * var(--u));
    font-size: calc(13.87 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.ziel-item-1 {
    left: calc(641.88 * var(--u));
    top: calc(756.62 * var(--u));
    width: calc(312.86 * var(--u));
}

.ziel-item-2 {
    left: calc(641.88 * var(--u));
    top: calc(854.87 * var(--u));
    width: calc(312.86 * var(--u));
}

.ziel-item-3 {
    left: calc(641.88 * var(--u));
    top: calc(953.11 * var(--u));
    width: calc(312.86 * var(--u));
}

.s-ziel .item p {
    font-size: calc(13.87 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.s-ablauf {
    height: calc(1861.00 * var(--u));
}

.ablauf-img {
    left: calc(0.00 * var(--u));
    top: calc(136.60 * var(--u));
    width: calc(1366.00 * var(--u));
    height: calc(905.12 * var(--u));
}

.ablauf-title {
    left: calc(158.61 * var(--u));
    top: calc(1206.99 * var(--u));
    width: calc(700.00 * var(--u));
}

.ablauf-title h2 {
    font-size: calc(109.61 * var(--u));
    line-height: calc(153.00 * var(--u));
}

.step-1 {
    left: calc(724.87 * var(--u));
    top: calc(1267.06 * var(--u));
    width: calc(198.75 * var(--u));
}

.step-1 h3 {
    margin-left: calc(-20.99 * var(--u));
    word-spacing: calc(1.50 * var(--u));
    font-size: calc(20.24 * var(--u));
    line-height: calc(28.00 * var(--u));
}

.step-1 p {
    margin-top: calc(-3.42 * var(--u));
    width: calc(198.75 * var(--u));
}

.step-2 {
    left: calc(986.97 * var(--u));
    top: calc(1267.06 * var(--u));
    width: calc(198.75 * var(--u));
}

.step-2 h3 {
    margin-left: calc(-23.71 * var(--u));
    word-spacing: calc(2.00 * var(--u));
    font-size: calc(20.24 * var(--u));
    line-height: calc(28.00 * var(--u));
}

.step-2 p {
    margin-top: calc(-0.68 * var(--u));
    width: calc(198.75 * var(--u));
}

.step-3 {
    left: calc(724.87 * var(--u));
    top: calc(1489.61 * var(--u));
    width: calc(175.37 * var(--u));
}

.step-3 h3 {
    margin-left: calc(-24.06 * var(--u));
    word-spacing: calc(1.50 * var(--u));
    font-size: calc(21.56 * var(--u));
    line-height: calc(30.00 * var(--u));
}

.step-3 p {
    margin-top: calc(-2.50 * var(--u));
    width: calc(175.37 * var(--u));
}

.step-4 {
    left: calc(986.97 * var(--u));
    top: calc(1490.68 * var(--u));
    width: calc(199.00 * var(--u));
}

.step-4 h3 {
    margin-left: calc(-22.15 * var(--u));
    word-spacing: calc(1.50 * var(--u));
    font-size: calc(20.24 * var(--u));
    line-height: calc(28.00 * var(--u));
}

.step-4 p {
    margin-top: calc(-0.42 * var(--u));
    width: calc(199.00 * var(--u));
}

.s-ablauf .step h3 {
    color: var(--orange);
    white-space: nowrap;
}

.s-ablauf .step p {
    font-size: calc(13.87 * var(--u));
    line-height: calc(19.00 * var(--u));
}

.s-beratung {
    height: calc(790.00 * var(--u));
}

.beratung-img {
    left: calc(0.00 * var(--u));
    top: calc(161.59 * var(--u));
    width: calc(822.51 * var(--u));
    height: calc(522.83 * var(--u));
}

.beratung-band {
    left: calc(822.51 * var(--u));
    top: calc(340.04 * var(--u));
    width: calc(445.09 * var(--u));
    height: calc(134.47 * var(--u));
}

.beratung-text {
    left: calc(791.90 * var(--u));
    top: calc(277.69 * var(--u));
    width: calc(300.54 * var(--u));
}

.beratung-text h2 {
    text-align: center;
    color: #000;
    font-size: calc(26.17 * var(--u));
    line-height: calc(36.00 * var(--u));
}

.beratung-text p {
    margin-top: calc(47.16 * var(--u));
    margin-left: calc(3.77 * var(--u));
    width: calc(296.77 * var(--u));
    color: #fff;
    font-size: calc(11.32 * var(--u));
    line-height: calc(15.00 * var(--u));
}

.s-cta {
    height: calc(894.83 * var(--u));
}

.cta-img {
    left: calc(808.28 * var(--u));
    top: calc(152.54 * var(--u));
    width: calc(459.32 * var(--u));
    height: calc(649.80 * var(--u));
}

.cta-text {
    left: calc(121.28 * var(--u));
    top: calc(247.84 * var(--u));
    width: calc(529.26 * var(--u));
}

.cta-text h2 {
    text-align: center;
    font-size: calc(39.13 * var(--u));
    line-height: calc(54.00 * var(--u));
}

.cta-text p {
    margin-top: calc(58.29 * var(--u));
    margin-left: calc(77.89 * var(--u));
}

.cta-text .btn-pill {
    width: calc(373.47 * var(--u));
    height: calc(117.31 * var(--u));
    border-radius: calc(55.12 * var(--u)) / calc(58.66 * var(--u));
    font-size: calc(22.00 * var(--u));
    line-height: calc(30.00 * var(--u));
}

.s-footer {
    height: calc(205.17 * var(--u));
}

.footer__text {
    left: calc(74.10 * var(--u));
    top: calc(41.89 * var(--u));
    width: calc(1144.00 * var(--u));
}

.footer__text .footer__company {
    font-weight: 400;
    color: var(--orange);
    margin-bottom: calc(21.00 * var(--u));
    font-size: calc(26.20 * var(--u));
    line-height: calc(36.00 * var(--u));
}

.footer__text .footer__address {
    color: #fff;
    font-size: calc(20.27 * var(--u));
    line-height: calc(28.00 * var(--u));
}

.footer__legal {
    left: calc(74.10 * var(--u));
    top: calc(145.19 * var(--u));
    width: calc(1100.00 * var(--u));
    font-size: calc(16.05 * var(--u));
    line-height: calc(22.00 * var(--u));
}

.s-textpage {
    background: #fff;
    min-height: calc(656.83 * var(--u));
    padding-top: calc(138.44 * var(--u));
    padding-bottom: calc(60.00 * var(--u));
}

.textpage__content {
    margin-left: calc(74.10 * var(--u));
    width: calc(1193.50 * var(--u));
}

.textpage__content h1 {
    color: var(--orange);
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(27.20 * var(--u));
    line-height: calc(38.00 * var(--u));
}

.textpage__content p, .textpage__content li, .textpage__content h3 {
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(12.53 * var(--u));
    line-height: calc(17.00 * var(--u));
}

.textpage__content h2 {
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(17.87 * var(--u));
    line-height: calc(25.00 * var(--u));
}

.textpage__content ul {
    margin-bottom: calc(17.00 * var(--u));
    padding-left: calc(20.00 * var(--u));
}

.s-textpage--impressum {
    min-height: calc(656.83 * var(--u));
    padding-top: calc(138.41 * var(--u));
    padding-bottom: calc(60.00 * var(--u));
}

.s-textpage--impressum .textpage__content {
    margin-left: calc(74.10 * var(--u));
    width: calc(1193.50 * var(--u));
}

.s-textpage--impressum .textpage__content h1 {
    color: var(--orange);
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(27.15 * var(--u));
    line-height: calc(38.00 * var(--u));
}

.s-textpage--impressum .textpage__content p, .s-textpage--impressum .textpage__content li, .s-textpage--impressum .textpage__content h3 {
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(12.48 * var(--u));
    line-height: calc(17.00 * var(--u));
}

.s-textpage--impressum .textpage__content h2 {
    font-weight: 700;
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(17.87 * var(--u));
    line-height: calc(25.00 * var(--u));
}

.s-textpage--impressum .textpage__content ul {
    margin-bottom: calc(17.00 * var(--u));
    padding-left: calc(19.97 * var(--u));
}

.s-textpage--rechtliche-hinweise {
    min-height: calc(628.83 * var(--u));
    padding-top: calc(80.98 * var(--u));
    padding-bottom: calc(60.00 * var(--u));
}

.s-textpage--rechtliche-hinweise .textpage__content {
    margin-left: calc(81.30 * var(--u));
    width: calc(1201.30 * var(--u));
}

.s-textpage--rechtliche-hinweise .textpage__content h1 {
    color: var(--orange);
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(27.20 * var(--u));
    line-height: calc(38.00 * var(--u));
}

.s-textpage--rechtliche-hinweise .textpage__content p, .s-textpage--rechtliche-hinweise .textpage__content li, .s-textpage--rechtliche-hinweise .textpage__content h3 {
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(12.53 * var(--u));
    line-height: calc(17.00 * var(--u));
}

.s-textpage--rechtliche-hinweise .textpage__content h2 {
    font-weight: 700;
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(17.87 * var(--u));
    line-height: calc(25.00 * var(--u));
}

.s-textpage--rechtliche-hinweise .textpage__content ul {
    margin-bottom: calc(17.00 * var(--u));
    padding-left: calc(20.05 * var(--u));
}

.s-textpage--datenschutz {
    min-height: calc(5706.83 * var(--u));
    padding-top: calc(103.09 * var(--u));
    padding-bottom: calc(60.00 * var(--u));
}

.s-textpage--datenschutz .textpage__content {
    margin-left: calc(79.54 * var(--u));
    width: calc(1203.42 * var(--u));
}

.s-textpage--datenschutz .textpage__content h1 {
    color: var(--orange);
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(27.20 * var(--u));
    line-height: calc(38.00 * var(--u));
}

.s-textpage--datenschutz .textpage__content p, .s-textpage--datenschutz .textpage__content li, .s-textpage--datenschutz .textpage__content h3 {
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(12.53 * var(--u));
    line-height: calc(17.00 * var(--u));
}

.s-textpage--datenschutz .textpage__content h2 {
    font-weight: 700;
    margin-bottom: calc(17.00 * var(--u));
    font-size: calc(17.87 * var(--u));
    line-height: calc(25.00 * var(--u));
}

.s-textpage--datenschutz .textpage__content ul {
    margin-bottom: calc(17.00 * var(--u));
    padding-left: calc(20.05 * var(--u));
}

.textpage__content h3 {
    font-weight: 700;
}

.textpage__content li {
    margin-bottom: 0 !important;
}

.textpage__content .is-tight {
    margin-bottom: 0 !important;
}

.textpage__content .gap-18 {
    margin-bottom: calc(18.00 * var(--u)) !important;
}

.textpage__content .gap-19 {
    margin-bottom: calc(19.00 * var(--u)) !important;
}

.textpage__content .gap-20 {
    margin-bottom: calc(20.00 * var(--u)) !important;
}

.textpage__content .gap-21 {
    margin-bottom: calc(21.00 * var(--u)) !important;
}

.textpage__content .gap-22 {
    margin-bottom: calc(22.00 * var(--u)) !important;
}

.textpage__content .gap-23 {
    margin-bottom: calc(23.00 * var(--u)) !important;
}

.textpage__content .gap-24 {
    margin-bottom: calc(24.00 * var(--u)) !important;
}

.textpage__content .gap-25 {
    margin-bottom: calc(25.00 * var(--u)) !important;
}

.textpage__content .gap-26 {
    margin-bottom: calc(26.00 * var(--u)) !important;
}

.textpage__content .gap-27 {
    margin-bottom: calc(27.00 * var(--u)) !important;
}

.textpage__content .gap-28 {
    margin-bottom: calc(28.00 * var(--u)) !important;
}

.textpage__content .gap-29 {
    margin-bottom: calc(29.00 * var(--u)) !important;
}

.textpage__content .gap-30 {
    margin-bottom: calc(30.00 * var(--u)) !important;
}

.textpage__content .gap-31 {
    margin-bottom: calc(31.00 * var(--u)) !important;
}

.textpage__content .gap-32 {
    margin-bottom: calc(32.00 * var(--u)) !important;
}

.textpage__content .gap-33 {
    margin-bottom: calc(33.00 * var(--u)) !important;
}

.textpage__content .gap-34 {
    margin-bottom: calc(34.00 * var(--u)) !important;
}

.textpage__content .gap-35 {
    margin-bottom: calc(35.00 * var(--u)) !important;
}

.textpage__content .gap-36 {
    margin-bottom: calc(36.00 * var(--u)) !important;
}

.textpage__content .gap-37 {
    margin-bottom: calc(37.00 * var(--u)) !important;
}

.textpage__content .gap-38 {
    margin-bottom: calc(38.00 * var(--u)) !important;
}

.textpage__content .gap-39 {
    margin-bottom: calc(39.00 * var(--u)) !important;
}

.textpage__content .gap-40 {
    margin-bottom: calc(40.00 * var(--u)) !important;
}

.textpage__content .gap-41 {
    margin-bottom: calc(41.00 * var(--u)) !important;
}

.textpage__content .gap-42 {
    margin-bottom: calc(42.00 * var(--u)) !important;
}

.textpage__content .gap-43 {
    margin-bottom: calc(43.00 * var(--u)) !important;
}

.textpage__content .gap-44 {
    margin-bottom: calc(44.00 * var(--u)) !important;
}

.textpage__content .gap-45 {
    margin-bottom: calc(45.00 * var(--u)) !important;
}

.textpage__content .gap-46 {
    margin-bottom: calc(46.00 * var(--u)) !important;
}

.textpage__content .gap-47 {
    margin-bottom: calc(47.00 * var(--u)) !important;
}

.textpage__content .gap-48 {
    margin-bottom: calc(48.00 * var(--u)) !important;
}

.textpage__content .gap-49 {
    margin-bottom: calc(49.00 * var(--u)) !important;
}

.textpage__content .gap-50 {
    margin-bottom: calc(50.00 * var(--u)) !important;
}

.textpage__content .gap-51 {
    margin-bottom: calc(51.00 * var(--u)) !important;
}

.textpage__content .gap-52 {
    margin-bottom: calc(52.00 * var(--u)) !important;
}

.textpage__content .gap-53 {
    margin-bottom: calc(53.00 * var(--u)) !important;
}

.textpage__content .gap-54 {
    margin-bottom: calc(54.00 * var(--u)) !important;
}

.textpage__content .gap-55 {
    margin-bottom: calc(55.00 * var(--u)) !important;
}

.textpage__content .gap-56 {
    margin-bottom: calc(56.00 * var(--u)) !important;
}

.textpage__content .gap-57 {
    margin-bottom: calc(57.00 * var(--u)) !important;
}

.textpage__content .gap-58 {
    margin-bottom: calc(58.00 * var(--u)) !important;
}

.textpage__content .gap-59 {
    margin-bottom: calc(59.00 * var(--u)) !important;
}

.textpage__content .gap-60 {
    margin-bottom: calc(60.00 * var(--u)) !important;
}

.s-contact {
    height: calc(1040.08 * var(--u));
    background: #fff;
}

.contact-title {
    left: calc(826.32 * var(--u));
    top: calc(195.90 * var(--u));
    width: calc(420.37 * var(--u));
    text-align: right;
}

.contact-title h1, .contact-title h2 {
    color: #111;
    font-weight: 700;
    text-align: right;
    font-size: calc(24.00 * var(--u));
    line-height: calc(33.00 * var(--u));
}

.contact-address {
    left: calc(918.00 * var(--u));
    top: calc(247.92 * var(--u));
    width: calc(328.69 * var(--u));
    text-align: right;
}

.contact-address p {
    white-space: nowrap;
    text-align: right;
    font-size: calc(15.48 * var(--u));
    line-height: calc(21.00 * var(--u));
}

.contact-intro {
    left: calc(76.78 * var(--u));
    top: calc(199.74 * var(--u));
    width: calc(438.92 * var(--u));
}

.contact-intro p {
    font-size: calc(24.18 * var(--u));
    line-height: calc(33.00 * var(--u));
}

.contact-img {
    left: calc(686.15 * var(--u));
    top: calc(383.23 * var(--u));
    width: calc(560.54 * var(--u));
    height: calc(442.98 * var(--u));
}

.contact-form {
    left: calc(75.68 * var(--u));
    top: calc(336.94 * var(--u));
    width: calc(440.03 * var(--u));
}

.contact-form .cf-label {
    display: block;
    margin-bottom: calc(9.72 * var(--u));
    font-size: calc(20.93 * var(--u));
    line-height: calc(29.00 * var(--u));
}

.contact-form .cf-field {
    margin-bottom: calc(10.63 * var(--u));
}

.contact-form .cf-input {
    height: calc(27.13 * var(--u));
    border-width: 0;
    box-shadow: inset 0 0 0 calc(2.00 * var(--u)) #000;
    border-radius: 0;
    padding: 0 calc(8.00 * var(--u));
    font-size: calc(14.00 * var(--u));
    line-height: calc(20.00 * var(--u));
}

.contact-form .cf-input--textarea {
    height: calc(177.77 * var(--u));
    padding: calc(6.00 * var(--u)) calc(8.00 * var(--u));
}

.contact-form .cf-field--message {
    margin-bottom: calc(15.55 * var(--u));
}

.contact-form .cf-checkbox {
    margin-left: calc(1.10 * var(--u));
    width: calc(24.57 * var(--u));
    height: calc(22.79 * var(--u));
}

.contact-form .cf-check__label {
    width: calc(407.91 * var(--u));
    margin-left: calc(6.45 * var(--u));
    margin-top: calc(2.84 * var(--u));
    text-align: right;
    font-size: calc(13.33 * var(--u));
    line-height: calc(18.00 * var(--u));
}

.contact-form .cf-field--privacy {
    margin-bottom: calc(22.00 * var(--u));
}

.contact-form .cf-submit {
    height: calc(48.00 * var(--u));
    padding: 0 calc(40.00 * var(--u));
    border-radius: calc(24.00 * var(--u));
    margin-top: calc(18.00 * var(--u));
    font-size: calc(20.93 * var(--u));
    line-height: calc(29.00 * var(--u));
}

.contact-form .cf-error {
    margin-top: calc(4.00 * var(--u));
    font-size: calc(12.66 * var(--u));
    line-height: calc(17.00 * var(--u));
}

.contact-form .cf-confirmation {
    font-size: calc(20.93 * var(--u));
    line-height: calc(29.00 * var(--u));
}

.contact-form .cf-required-note {
    margin-top: calc(18.00 * var(--u));
    font-size: calc(13.33 * var(--u));
    line-height: calc(18.00 * var(--u));
}

/* =========================================================
   Mobile (< 768 px): stacked layout
   ========================================================= */
@media (max-width: 767px) {
    .s {
        height: auto !important;
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding: 56px 20px;
    }
    .s > .img,
    .s > .slot,
    .site-header > *,
    .beratung-band {
        position: static;
        left: auto !important; top: auto !important;
        width: auto !important; height: auto !important;
    }
    .img { width: 100% !important; height: auto !important; }
    .slot p { margin-left: 0 !important; width: auto !important; text-align: left !important; }
    .slot h1, .slot h2, .slot h3, .slot p { white-space: normal !important; }
    .slot h1, .slot h2, .slot h3 { width: auto !important; margin-left: 0 !important; padding-right: 0 !important; word-spacing: normal !important; }

    .slot h1 { font-size: 34px !important; line-height: 1.25 !important; }
    .slot h2 { font-size: 30px !important; line-height: 1.15 !important; text-align: left !important; }
    .slot h3 { font-size: 18px !important; line-height: 1.35 !important; }
    .slot p  { font-size: 16px !important; line-height: 1.5 !important; margin-top: 12px !important; word-spacing: normal !important; }
    .site-nav a, .site-header__claim, .footer__legal { line-height: 1.4 !important; }

    /* Hero */
    .s-hero { min-height: 100svh; padding-top: 20px; justify-content: space-between; }
    .site-header {
        position: relative; inset: auto; z-index: 1;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-areas: "logo nav" "claim nav";
        column-gap: 16px; row-gap: 4px; align-items: start;
    }
    .site-header__logo { grid-area: logo; width: 150px !important; }
    .site-header__claim { grid-area: claim; text-align: left !important; font-size: 13px !important; }
    .site-nav { grid-area: nav; justify-self: end; position: static; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
    .site-nav a { position: static; font-size: 12px !important; text-align: right !important; width: auto !important; white-space: normal; }
    .s-hero .hero-bg { left: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 60%; }
    .site-nav a, .site-header__claim, .hero-text { text-shadow: 0 1px 6px rgba(0,0,0,.8); }
    .hero-text .btn-pill { text-shadow: none; padding: 14px 32px !important; }
    .hero-text { position: relative !important; z-index: 1; margin-top: auto; }
    .hero-text p { margin-top: 28px !important; }
    .slot .btn-pill { display: inline-flex; }
    .btn-pill {
        width: auto !important; height: auto !important;
        padding: 14px 32px; border-radius: 999px !important;
        font-size: 20px !important; line-height: 1.3 !important;
    }

    .s-sprint .sprint-img {
        position: relative !important; left: auto !important; top: auto !important;
        width: 100% !important; height: auto !important; aspect-ratio: 552.1 / 582.78;
    }

    /* Sprint: Canva right-aligns the texts on desktop only */
    .sprint-text, .s-sprint .item, .s-sprint .item h3 { text-align: left !important; }

    /* Order tweaks */
    .s-intro .intro-img { order: 2; }
    .s-problem .problem-img { order: 0; }
    .s-problem .problem-text { order: -1; }
    .card h3 { margin-top: 0 !important; }

    /* Ablauf: image full-bleed on top */
    .s-ablauf { padding-top: 0; }
    .s-ablauf .ablauf-img { margin: 0 -20px; width: calc(100% + 40px) !important; max-width: none; }
    .ablauf-title h2 { font-size: 56px !important; line-height: 1.1 !important; }
    .s-ablauf .step h3 { white-space: normal !important; margin-left: 0 !important; }

    /* Beratung: text on the brown band */
    .beratung-band { display: none; }
    .beratung-text h2 { text-align: left !important; }
    .beratung-text p { background: var(--band); padding: 20px; color: #fff; }

    /* CTA */
    .cta-text h2 { text-align: left !important; }
    .cta-text p { margin-left: 0 !important; }

    /* Footer */
    .s-footer { padding: 40px 20px; gap: 20px; }
    .footer__text, .footer__legal {
        position: relative !important; left: auto !important; top: auto !important; width: auto !important; z-index: 1;
    }
    .footer__company { font-size: 22px !important; margin-bottom: 12px !important; }
    .footer__address { font-size: 15px !important; line-height: 1.6 !important; white-space: normal; }
    .footer__legal { display: block; font-size: 14px !important; line-height: 1.8 !important; }

    /* Section navigation: the hero navigation is enough on the landing page */
    .s > .snav { display: none; }
    .page--sub .s > .snav {
        display: flex; position: static; order: -10; justify-content: flex-end; gap: 16px;
        width: auto !important; height: auto !important; margin: -16px 0 8px;
    }
    .page--sub .snav a { position: static; font-size: 13px !important; line-height: 1.4 !important; }
    .page--sub .s-footer { height: auto !important; }

    /* Subpages */
    .s-textpage { min-height: 0 !important; padding: 40px 20px 56px !important; }
    .textpage__content { margin-left: 0 !important; width: auto !important; }
    .textpage__content h1 { font-size: 28px !important; line-height: 1.25 !important; margin-bottom: 16px !important; }
    .textpage__content h2 { font-size: 20px !important; line-height: 1.3 !important; margin-bottom: 12px !important; }
    .textpage__content h3, .textpage__content p, .textpage__content li { font-size: 15px !important; line-height: 1.55 !important; }
    .textpage__content h3, .textpage__content p, .textpage__content ul { margin-bottom: 14px !important; }
    .textpage__content ul { padding-left: 22px !important; }
    .contact-title h1, .contact-title h2 { font-size: 30px !important; text-align: left !important; }
    .contact-title, .contact-address { text-align: left !important; }
    .contact-address p { text-align: left !important; }
    .contact-address p { white-space: normal !important; font-size: 16px !important; line-height: 1.5 !important; }
    .contact-intro p { font-size: 20px !important; line-height: 1.35 !important; }
    .contact-form .cf-label { font-size: 17px !important; line-height: 1.4 !important; margin-bottom: 6px !important; }
    .contact-form .cf-field { margin-bottom: 16px !important; }
    .contact-form .cf-input { box-shadow: inset 0 0 0 2px #000; height: 44px !important; border-radius: 0 !important; padding: 0 16px !important; font-size: 16px !important; line-height: 1.4 !important; }
    .contact-form .cf-input--textarea { height: 160px !important; border-radius: 0 !important; padding: 12px 16px !important; }
    .contact-form .cf-checkbox { margin-left: 0 !important; width: 22px !important; height: 21px !important; }
    .contact-form .cf-check__label .cf-required { position: static; margin-left: .1em; }
    .contact-form .cf-check__label { padding-right: 0; flex: 1 1 auto; white-space: normal; width: auto !important; margin: 0 0 0 10px !important; text-align: left !important; font-size: 14px !important; line-height: 1.45 !important; }
    .contact-form .cf-submit { height: 48px !important; padding: 0 32px !important; border-radius: 24px !important; font-size: 18px !important; line-height: 1 !important; margin-top: 8px !important; }
    .contact-form .cf-required-note { font-size: 14px !important; line-height: 1.45 !important; margin-top: 16px !important; }
    .contact-form .cf-error { font-size: 14px !important; line-height: 1.4 !important; }
}
