/* Pages owns the editorial and legal contents inside the shared In Motion shell. */
.im-page{padding-bottom:72px;min-width:0;color:#a5b2bd;overflow-wrap:anywhere}
.im-page *{box-sizing:border-box}
.im-page .im-page-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;align-items:center;min-height:292px;padding:48px 0 46px;border-bottom:1px solid #ffffff1b;margin-bottom:46px;position:relative}
.im-page .im-page-hero__copy{min-width:0;position:relative;z-index:1}
.im-page .im-page-kicker{display:block;margin:0 0 18px;color:var(--accent);font-size:10px;font-weight:700;line-height:1.6;letter-spacing:.19em;text-transform:uppercase}
.im-page h1{font-size:clamp(42px,5.8vw,76px);line-height:1.05;letter-spacing:-.065em;font-weight:600;color:#eff1ef;margin:0 0 18px}
.im-page .im-page-intro{font-size:17px;line-height:1.8;color:#a1afba;max-width:66ch;margin:0}
.im-page .im-page-updated{display:flex;gap:8px;margin:22px 0 0;font-size:11px;line-height:1.7;color:#7f929f;font-variant-numeric:tabular-nums}
.im-page .im-page-updated time{color:#b1bdc5}
.im-page .im-page-signature{position:relative;height:180px;display:grid;place-items:center;color:var(--accent);opacity:.75;pointer-events:none}
.im-page .im-page-signature svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1;opacity:.65}
.im-page .im-page-signature svg path:nth-child(2){opacity:.5}
.im-page .im-page-signature svg path:nth-child(3){opacity:.3}
.im-page .im-page-signature>i{display:block;position:absolute;inset:0 60px;border:1px solid currentColor;border-radius:50%;opacity:.44;transform:rotate(-22deg) scaleX(1.38)}
.im-page .im-page-signature>i:nth-child(2){inset:14px 74px;transform:rotate(25deg) scaleX(1.38);opacity:.65}
.im-page .im-page-signature>i:nth-child(3){inset:30px 90px;transform:rotate(-35deg) scaleX(1.38);opacity:.35}
.im-page .im-page-signature>span{font-size:48px;font-weight:550;line-height:1;letter-spacing:-.06em;color:#e3dbe5}
.im-page .im-page-signature>span>span{display:block;font-size:12px;letter-spacing:.47em;text-align:center;padding-left:6px;margin-top:8px}
.im-page .im-page-layout{min-width:0}
.im-page .im-page-layout--indexed{display:grid;grid-template-columns:230px minmax(0,1fr);gap:65px;align-items:start}
.im-page .im-page-body{min-width:0;max-width:82ch}
.im-page--about .im-page-body{max-width:1020px}
.im-page .im-page-toc{position:sticky;top:118px;padding:5px 25px 10px 0;border-right:1px solid #ffffff1b;max-height:calc(100dvh - 290px);overflow:auto;scrollbar-width:thin;scrollbar-color:#71859555 transparent}
.im-page .im-page-toc .im-page-kicker{color:#718594;font-size:9px;letter-spacing:.16em;margin-bottom:15px}
.im-page .im-page-toc nav{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.im-page .im-page-toc a{display:block;padding:8px 0;color:#92a1ae;font-size:12px;line-height:1.5;text-decoration:none;transition:color .2s}
.im-page .im-page-toc a:hover,.im-page .im-page-toc a:focus-visible{color:var(--accent)}
.im-page .im-page-block{margin:0 0 30px;scroll-margin-top:118px;min-width:0}
.im-page--legal .im-page-block+.im-page-block{margin-top:35px;padding-top:32px;border-top:1px solid #ffffff12}
.im-page .im-page-block:last-child{margin-bottom:0}
.im-page h2{font-size:clamp(24px,2.6vw,34px);font-weight:550;line-height:1.25;letter-spacing:-.04em;color:#e0e6e8;margin:0 0 19px}
.im-page h3{font-size:22px;font-weight:550;line-height:1.3;letter-spacing:-.03em;color:#d9e1e4;margin:26px 0 13px}
.im-page p{font-size:15px;line-height:1.9;margin:0 0 17px;color:#9caab7}
.im-page--about .im-page-block>p{font-size:17px;line-height:1.9;max-width:80ch}
.im-page .im-page-block>*:last-child,.im-page .im-page-columns>div>*:last-child{margin-bottom:0}
.im-page strong,.im-page b{color:#d2dce1;font-weight:600}
.im-page .im-page-body a:not(.im-page-action){color:color-mix(in srgb,var(--accent) 72%,white);text-underline-offset:4px;text-decoration-thickness:1px}
.im-page .im-page-body a:not(.im-page-action):hover{color:color-mix(in srgb,var(--accent) 45%,white)}
.im-page ul,.im-page ol{font-size:15px;line-height:1.9;padding-left:21px;color:#9caab7;margin:0 0 22px}
.im-page li{padding-left:5px;margin:0 0 8px}
.im-page li::marker{color:var(--accent)}
.im-page .im-page-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.im-page .im-page-columns>div{min-width:0}
.im-page blockquote{margin:36px 0;padding:10px 0 12px 30px;border-left:1px solid rgba(var(--accent-rgb),.65)}
.im-page blockquote p{font-size:clamp(24px,3.1vw,38px);font-weight:450;line-height:1.45;letter-spacing:-.035em;color:#dce3e5;margin:0 0 17px}
.im-page cite{font-style:normal;font-size:10px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:#8295a3}
.im-page .im-page-callout{padding:27px 30px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),#ffffff02);border:1px solid rgba(var(--accent-rgb),.22)}
.im-page .im-page-callout h2{font-size:25px}
.im-page .im-page-action{display:inline-flex;align-items:center;gap:16px;min-height:43px;padding:12px 0 9px;margin-top:20px;border-bottom:1px solid rgba(var(--accent-rgb),.65);color:#d4dce0;font-size:11px;line-height:1.5;letter-spacing:.025em;text-decoration:none}
.im-page .im-page-action:hover{color:var(--accent)}
.im-page .im-page-action svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none}
.im-page hr{margin:32px 0;border:0;border-top:1px solid #ffffff20}
.im-page figure{margin:24px 0}
.im-page img{max-width:100%;height:auto;display:block}
.im-page figcaption,.im-page .im-page-caption{margin:12px 0 0;color:#758997;font-size:11px;line-height:1.7}
.im-page .im-page-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.im-page .im-page-gallery img{width:100%;object-fit:cover}
@media(max-width:1000px){.im-page .im-page-layout--indexed{grid-template-columns:200px minmax(0,1fr);gap:38px}.im-page .im-page-hero{grid-template-columns:minmax(0,1fr) 230px;gap:35px}.im-page .im-page-signature>i{inset:12px 35px}.im-page .im-page-signature>i:nth-child(2){inset:27px 50px}.im-page .im-page-signature>i:nth-child(3){inset:43px 66px}}
@media(max-width:760px){.im-page{padding-bottom:45px}.im-page .im-page-hero{grid-template-columns:minmax(0,1fr);min-height:230px;padding:35px 0;margin-bottom:28px}.im-page .im-page-signature{position:absolute;right:-20px;top:18px;width:190px;height:150px;opacity:.14}.im-page h1{font-size:clamp(39px,8.5vw,58px)}.im-page .im-page-intro{font-size:15px}.im-page .im-page-layout--indexed{display:block}.im-page .im-page-toc{position:static;border-right:0;border-bottom:1px solid #ffffff1b;margin-bottom:32px;padding:0 0 20px;max-height:none;overflow:visible}.im-page .im-page-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.im-page .im-page-toc a{font-size:11px;padding:6px 0}.im-page .im-page-columns{grid-template-columns:minmax(0,1fr);gap:24px}.im-page .im-page-callout{padding:22px}.im-page blockquote{padding-left:22px}.im-page .im-page-gallery{gap:12px}}
@media(prefers-reduced-motion:reduce){.im-page .im-page-toc a{transition:none}}


/* Legal pages retain the complete CMS stream in a quiet editorial layout. */
.im-legal {
    --im-legal-heading: #e6ecef;
    --im-legal-copy: #a6b4c0;
    --im-legal-muted: #7e92a2;
    --im-legal-rule: rgb(255 255 255 / 11%);
    color: var(--im-legal-copy);
    padding-bottom: 64px;
    overflow-wrap: break-word;
}
.im-legal .im-legal-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px;
    align-items: center;
    gap: 32px;
    padding: 0 0 28px;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--im-legal-rule);
}
.im-legal .im-legal-kicker {
    margin: 0 0 14px;
    color: var(--accent);
    font-size: 10px;
    line-height: 1.6;
    font-weight: 650;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.im-legal .im-legal-hero__copy { min-width: 0; }
.im-legal .im-legal-hero h1 {
    margin: 0;
    color: var(--im-legal-heading);
    font-size: clamp(34px, 3.4vw, 44px);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.055em;
}
.im-legal .im-legal-signature {
    position: relative;
    isolation: isolate;
    width: 210px;
    max-width: 100%;
    justify-self: end;
    pointer-events: none;
}
.im-legal .im-legal-signature::before {
    content: "";
    position: absolute;
    inset: 6% 1%;
    z-index: -1;
    background: radial-gradient(ellipse, rgba(var(--accent-rgb), .085), transparent 70%);
}
.im-legal .im-legal-art {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.im-legal-art__ring { stroke: var(--accent); stroke-width: 1; opacity: .35; }
.im-legal-art__ring--outer { opacity: .16; }
.im-legal-art__orbit { stroke: var(--accent); stroke-width: 1; opacity: .48; }
.im-legal-art__signal { stroke: var(--accent); stroke-width: 1.2; opacity: .62; }
.im-legal-art__outline { stroke: #cbd7de; stroke-width: 1.4; opacity: .88; }
.im-legal-art__detail { stroke: #9dabb7; stroke-width: 1.2; opacity: .66; }
.im-legal-art__point { fill: var(--accent); }
.im-legal-art__axis { stroke: var(--accent); stroke-width: 1; opacity: .3; }
.im-legal .im-legal-intro {
    max-width: 62ch;
    margin: 18px 0 0;
    color: var(--im-legal-copy);
    font-size: 16px;
    line-height: 1.9;
}
.im-legal--imprint .im-legal-intro { max-width: 55ch; }
.im-legal--privacy .im-legal-intro { max-width: 60ch; }
.im-legal .im-legal-updated {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 18px 0 0;
    color: var(--im-legal-muted);
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: .025em;
    font-variant-numeric: tabular-nums;
}
.im-legal .im-legal-updated > span {
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.im-legal .im-legal-updated time { color: #b3c0c9; }
.im-legal .im-page-layout--indexed {
    grid-template-columns: minmax(185px, 230px) minmax(0, 1fr);
    gap: clamp(42px, 6vw, 86px);
}
.im-legal .im-page-body { width: 100%; max-width: none; }
.im-legal .im-legal-toc {
    top: 112px;
    max-height: none;
    padding: 0;
    border: 0;
    overflow: visible;
}
.im-legal .im-legal-index summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--im-legal-rule);
    color: var(--im-legal-muted);
    font-size: 9px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .14em;
    text-transform: uppercase;
    list-style: none;
    cursor: pointer;
}
.im-legal .im-legal-index summary::-webkit-details-marker { display: none; }
.im-legal .im-legal-index summary svg {
    display: block;
    flex: none;
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.3;
    transition: transform .2s;
}
.im-legal .im-legal-index[open] summary svg { transform: rotate(180deg); }
.im-legal .im-legal-index nav {
    display: block;
    max-height: calc(100dvh - 265px);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--accent-rgb), .35) transparent;
}
.im-legal .im-legal-index ol {
    display: grid;
    gap: 0;
    margin: 10px 0 0;
    padding: 0 9px 0 0;
    list-style: none;
}
.im-legal .im-legal-index li { margin: 0; padding: 0; }
.im-legal .im-legal-index a {
    display: grid;
    grid-template-columns: 2ch minmax(0, 1fr);
    align-items: baseline;
    gap: 14px;
    padding: 10px 0;
    color: #99aab7;
    font-size: 11px;
    line-height: 1.65;
    text-decoration: none;
}
.im-legal .im-legal-index__number {
    color: var(--accent);
    font-size: 9px;
    font-variant-numeric: tabular-nums;
    letter-spacing: .04em;
}
.im-legal .im-legal-index a:hover,
.im-legal .im-legal-index a:focus-visible,
.im-legal .im-legal-index summary:hover { color: var(--im-legal-heading); }
.im-legal .im-legal-index a:focus-visible,
.im-legal .im-legal-index summary:focus-visible,
.im-legal .im-page-body a:focus-visible {
    outline: 1px solid var(--accent);
    outline-offset: 4px;
}
.im-legal .im-page-block {
    margin: 0;
    padding: 0 0 39px;
    scroll-margin-top: 116px;
}
.im-legal .im-page-block + .im-page-block {
    margin-top: 0;
    padding-top: 38px;
    border-top: 1px solid var(--im-legal-rule);
}
.im-legal .im-page-block:last-child { padding-bottom: 0; }
.im-legal .im-page-block:target { border-top-color: rgba(var(--accent-rgb), .5); }
.im-legal .im-page-body h2 {
    margin: 0 0 22px;
    color: var(--im-legal-heading);
    font-size: clamp(26px, 2.8vw, 36px);
    font-weight: 520;
    line-height: 1.2;
    letter-spacing: -.045em;
}
.im-legal .im-page-body h3 {
    margin: 29px 0 17px;
    color: #d7e0e6;
    font-size: 22px;
    font-weight: 520;
    line-height: 1.3;
    letter-spacing: -.035em;
}
.im-legal .im-page-body p,
.im-legal .im-page-body ul,
.im-legal .im-page-body ol {
    color: var(--im-legal-copy);
    font-size: 15px;
    line-height: 1.95;
}
.im-legal .im-page-body p { margin: 0 0 19px; }
.im-legal .im-page-body strong,
.im-legal .im-page-body b { color: #d3dde3; font-weight: 550; }
.im-legal .im-page-body a:not(.im-page-action) {
    color: color-mix(in srgb, var(--accent) 72%, white);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    overflow-wrap: anywhere;
}
.im-legal .im-page-body a:not(.im-page-action):hover {
    color: color-mix(in srgb, var(--accent) 45%, white);
}
.im-legal .im-page-body ul,
.im-legal .im-page-body ol { padding-left: 22px; margin: 0 0 23px; }
.im-legal .im-page-body li { padding-left: 5px; margin: 0 0 10px; }
.im-legal .im-page-body .im-page-columns { gap: 32px; }
.im-legal .im-page-callout {
    padding: 23px 0 23px 26px;
    border: 0;
    border-left: 1px solid rgba(var(--accent-rgb), .5);
    background: transparent;
}
.im-legal .im-page-callout h2 { font-size: 26px; }
.im-legal .im-page-body table { width: 100%; border-collapse: collapse; }
.im-legal .im-page-body th,
.im-legal .im-page-body td {
    padding: 12px 14px 12px 0;
    border-bottom: 1px solid var(--im-legal-rule);
    text-align: left;
    vertical-align: top;
}
.im-legal .im-page-body pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.im-legal .im-page-block > :last-child,
.im-legal .im-page-columns > div > :last-child { margin-bottom: 0; }

@media (max-width: 1000px) {
    .im-legal .im-page-layout--indexed {
        grid-template-columns: 195px minmax(0, 1fr);
        gap: 38px;
    }
}
@media (max-width: 800px) {
    .im-legal { padding-bottom: 36px; }
    .im-legal .im-legal-hero {
        display: block;
        padding: 0 0 26px;
        margin-bottom: 0;
    }
    .im-legal .im-legal-kicker { margin-bottom: 14px; font-size: 9px; }
    .im-legal .im-legal-signature { display: none; }
    .im-legal .im-legal-intro { margin-top: 18px; font-size: 14px; line-height: 1.9; }
    .im-legal .im-legal-updated { margin-top: 18px; }
    .im-legal .im-page-layout--indexed { display: block; }
    .im-legal .im-page-layout:not(.im-page-layout--indexed) { padding-top: 36px; }
    .im-legal .im-legal-toc {
        position: static;
        max-height: none;
        margin-bottom: 38px;
        padding: 0;
        border: 0;
    }
    .im-legal .im-legal-index {
        padding: 18px 0;
        border-bottom: 1px solid var(--im-legal-rule);
    }
    .im-legal .im-legal-index summary { padding: 0; border: 0; }
    .im-legal .im-legal-index nav { max-height: 210px; }
    .im-legal .im-legal-index ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 24px;
        margin-top: 17px;
    }
    .im-legal .im-legal-index a { gap: 11px; padding: 8px 0; font-size: 10px; }
    .im-legal .im-page-block { padding-bottom: 30px; scroll-margin-top: 95px; }
    .im-legal .im-page-block + .im-page-block { padding-top: 30px; }
    .im-legal .im-page-body h2 { font-size: 27px; margin-bottom: 20px; }
    .im-legal .im-page-body h3 { font-size: 21px; }
    .im-legal .im-page-body p,
    .im-legal .im-page-body ul,
    .im-legal .im-page-body ol { font-size: 14px; line-height: 1.95; }
    .im-legal .im-page-callout { padding: 8px 0 8px 20px; }
}
@media (max-width: 380px) {
    .im-legal .im-legal-index ol { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .im-legal .im-legal-index nav { max-height: 190px; }
    .im-legal .im-page-body h2 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .im-legal .im-legal-index summary svg { transition: none; }
}


/* Match the Residents page header scale. */
.im-content-impressum .im-content-main,.im-content-datenschutz .im-content-main{padding-top:42px}
@media(max-width:650px){.im-content-impressum .im-content-main,.im-content-datenschutz .im-content-main{padding-top:30px}.im-legal .im-legal-hero h1{font-size:34px}}

