.bg-accent {
    background-color: #014596;
}

p a {
    color: #014596;
}

.divider-v2 h1:after, .divider-v2 h2:after, .divider-v2 h3:after, .divider-v2 h4:after {
    background: #014596;
}

.dividerv h5:after, .divider-v2 h6:after, h1.divider-v2:after, h2.divider-v2:after, h3.divider-v2:after, h4.divider-v2:after, h5.divider-v2:after, h6.divider-v2:after {
    background: #014596;
}

hr.divider_3:before {
    background: #014596;
    background: #014596;
}

.divider_4_first {
    border: 3px solid #014596;
}

.divider_4_second {
    background-color: #014596;
}

.divider_4::after, .divider_4::before {
    background-color: #014596;
}

.divider_5 i {
    color: #014596;
}

.mainmenu ul ul {
    border-top: 2px solid #014596;
}

.header .mainmenu ul li a.trail, .header .mainmenu ul li a.active {
    color: #014596 !important;
}

#top-wrapper.fixed .mainmenu a.active, #top-wrapper.fixed .mainmenu a.trail {
    color: #014596;
}

.mainmenu ul ul li a:hover, .mainmenu ul ul li a.trail {
    background: #014596;
}

body.header-dark .fixed .mainmenu ul li a.trail, body.header-dark .fixed .mainmenu ul li a.active {
    color: #014596;
}

.header-light #top-wrapper.fixed .mainmenu a.active, .header-light #top-wrapper.fixed .mainmenu a.trail {
    color: #014596;
}

.subnav a {
    color: #014596;
}

#nav-open-btn:before, .ce_table table th {
    background: #014596;
}

.ce_tabs .tabs.classic ul li.active, .ce_tabs .tabs.classic ul li:hover {
    border-color: #014596;
}

.ce_tabs .tabs.horizontal ul li:hover a, .ce_tabs .tabs.horizontal ul li.active a {
    background: #014596;
}

.ce_teambox .image .overlay {
    background: #014596;
}

.ce_teambox .email a {
    color: #014596;
}

blockquote a {
    color: #014596;
}

.ce_iconbox.version2 i {
    background: #014596;
}

.ce_iconbox .link {
    color: #014596;
}

.ce_testimonial a, .ce_accordion .toggler:before {
    color: #014596;
}

.mod_calendar th.head {
    background: #014596;
    border-top: 1px solid #014596;
    border-right: 1px solid #014596;
    border-left: 1px solid #014596;
}

.mod_calendar th.previous a, .mod_calendar th.next a {
    background-color: #014596;
}

.pagination li span.current {
    background: #014596;
}

.pagination li a:hover {
    color: #014596;
}

.mod_faqpage h3:before {
    color: #014596;
}

input:focus, textarea:focus {
    border: 1px solid #014596;
}

form fieldset legend {
}

input.submit[type='submit'] {
    background: #014596;
}

input.submit[type='submit']:hover {
    background: #014596;
}

.ce_youtube_background.overlay .YTPOverlay {
    background-color: #014596;
}

.label-accent {
    background: #014596;
}

.ce_hyperlink a, a.btn {
    background: #014596;
    border-color: #014596;
}

.ce_hyperlink a.link-white, a.btn.link-white {
    color: #014596;
}

.ce_hyperlink a.link-white:hover, a.btn.link-white:hover {
    background: #014596;
}

.ce_hyperlink a.outline, a.btn.outline {
    color: #014596;
}

/*
NEWSLIST AENDERUNGEN

Ab hier Aenderungen an der Newslist. Die vorliegende Datei
wird nach der framework.css geladen, weswegen die Aenderungen
in dieser Datei beruecksichtigt werden.
Sollten die Aenderungen aus dieser Datei rausgenommen werden,
fallen sie auf den Standard der framework.css zurueck.
*/
.newslist h2 {
    color: #014596;
}

.newslist h2 a {
    color: #014596;
}

.newslist .news-left .news-date {
    background: #014596;
}

.newsteaser .date {
    background: #014596;
}

.newslist-v3.news-cat-1 .news-overlay {
    background: #014596;
}

/* Hover fuer Link */
div[id^=mod_news] a:hover, div[class^=mod_newslist] a:hover {
    color: #014596;
}

#portfolio_filter a.selected, #portfolio_filter a:hover {
    background: #014596;
}

.ce_chartbar .chart_data {
    background: #014596;
}

.color-accent {
    color: #014596;
}

.color-accent p, .color-accent i, .color-accent h1, .color-accent h2, .color-accent h3, .color-accent h4, .color-accent h5, .color-accent h6, .color-accent a:not(.link-white) {
    color: #014596;
}

blockquote {
    border-color: #014596;
}

.ce_pricetable .pricetable.highlight .title, .ce_imagebox_v2 .ce_url a, .ce_gallery .content {
    background: #014596;
}

.ce_headertext h1:after, .ce_headertext h2:after, .ce_headertext h3:after, .ce_headertext h4:after, .ce_headertext h5:after, .ce_headertext h6:after {
    background: #014596;
}

.ce_countup i {
    color: #014596;
}

.newslist-v3 .date {
    background: #014596;
}

.ce_bgimage.offset.offset-bg-accent:before {
    background-color: #014596;
}

.ce_leadertext.version2 .divider-first {
    border: 3px solid #014596;
}

.ce_leadertext.version2 .divider-second {
    background-color: #014596;
}

.ce_leadertext.version2 .divider:after, .ce_leadertext.version2 .divider:before {
    background-color: #014596;
}

.ce_accordion .toggler i.fa {
    background: #014596;
}

.newsteaser_v3 .news-overlay i {
    background-color: #014596;
}

.newslist-v3 .subheadline, .ce_teambox .function {
    color: #014596;
}

.ce_tabs .tabs.horizontal-clean ul li.active:after {
    border-color: #014596 transparent transparent transparent;
}

.subheadline-v2 {
    color: #014596;
}

.ce_timeline .timeline-item .timeline-item-title {
    background: #014596;
}

.ce_portfoliofilter.default a.selected, .ce_portfoliofilter.default a:hover {
    background: #014596;
}

.ce_tabs .tabs.horizontal-clean ul li.active a {
    color: #014596;
}

.ce_revolutionslider_hyperlink {
    background: #014596;
    border-color: #014596;
}

#top .mod_langswitcher span:hover {
    background: #014596;
}

#top .mod_langswitcher ul li a:hover {
    color: #014596;
}

.ce_headline_extended.version2 .divider-first {
    border-color: #014596;
}

.ce_headline_extended.version2 .divider:after, .ce_headline_extended.version2 .divider:before {
    background-color: #014596;
}

.ce_headline_extended.version2 .divider-second {
    background-color: #014596;
}

.mod_portfoliolist .item figure {
    background-color: #014596;
}

.mod_portfoliolist .item a:hover {
    color: #014596;
}

#top .mod_top_mail a, #top .mod_top_phone span {
    color: #014596;
}

form .input-group-addon {
    background: #014596;
    border-color: #014596;
}

body .picker--focused .picker__day--selected {
    background-color: #014596;
}

body .picker__day--selected {
    background-color: #014596;
}

body .picker__day--selected:hover {
    background-color: #014596;
}

body .picker--focused .picker__day--highlighted, body .picker__day--highlighted:hover, body .picker__day--infocus:hover, body .picker__day--outfocus:hover, body .picker--focused .picker__list-item--highlighted, body .picker__list-item--highlighted:hover, body .picker__list-item:hover {
    background-color: #014596;
}

body .picker__list-item--highlighted, body .picker__list-item:hover {
    border-color: #014596;
}

.ce_video_background .video-overlay {
    background-color: #014596;
}

.ce_text_imagebox.imagebox_version2 .inside, .ce_text_imagebox.imagebox_version3 .inside {
    background-color: #014596;
}

#offcanvas-top, .popup-banner {
    background: #014596;
}

.ce_popup_start .popup_close {
    color: #014596;
}

.ce_bgimage_content_start.bg-accent .bg_overlay {
    background: #014596;
}

.newslist-timeline:before, .newslist-timeline-both h4:before {
    border-color: #014596;
}

.ce_divider_extended.version4 span, .ce_divider_extended.version5 {
    background: #014596;
}

#top a, .ce_linkbox h4 {
    color: #014596;
}

.mod_customcataloglist.cc_immorealty .entry.top_object .cc_immorealty_top, .mod_customcatalogfilter.immorealty_filter .filter_range .ui-slider-range {
    background: #014596;
}

.mod_customcatalogreader.cc_immorealty .property-furnishing li i {
    color: #014596;
}

.mod_customcatalogreader.cc_immorealty .price {
    background: #014596;
}

.mod_customcataloglist .cc_immorealty_slider .category, .header .mainmenu ul li.highlight a span {
    background: #014596;
}

.mod_customcataloglist.cc_immorealty .customelements_notelist input {
    background-color: #014596;
}

.mod_customcataloglist.cc_cardealer .item-rightside .item-content-col2 {
    color: #014596;
}

.mod_customcatalogfilter.cardealer_filter .filter_range .ui-slider-range {
    background-color: #014596;
}

.mod_customcatalogreader.cc_cardealer .single-price {
    color: #014596;
}

.mod_customcatalogreader.cc_cardealer .single-price strong {
    background-color: #014596;
}

.mod_customcataloglist.cc_cardealer .item-highlight-icon {
    background-color: #014596;
}

.mod_customcataloglist .cc_cardealer_slider .state {
    background-color: #014596;
}

.mod_customcataloglist .cc_cardealer_slider .price strong {
    color: #014596;
}

.ce_linkbox a i {
    background-color: #014596;
}

.mod_portfoliolist.portfolio-v2 .item a:hover {
    color: #014596;
}

.ce_fullscreen_gallery.version3 .bold {
    background-color: #014596;
}

form.style2 {
    background: #014596;
}

.ce_linkbox .ce_linkbox_banner, .custommenu li:hover {
    background-color: #014596;
}

.ce_featured_tab li .ce_headline .headline {
    color: #014596;
}

.ce_featured_tab li.active {
    background-color: #014596;
}

.ce_headerimage.version3 .ce_headline .headline, .ce_headerimage.version3 .subline {
    background: #014596;
}

.color-second {
    color: #2E3841;
}

.bg-second, .ce_bgimage_content_start .bg_overlay.bg-second {
    background-color: #2E3841;
}

.notelist .submit_container input.submit {
    background-color: #2E3841;
}

.notelist .submit_container input.submit:hover {
    background-color: #2E3841;
}

.mod_customcataloglist.cc_cardealer .item-state {
    background-color: #2E3841;
}

form.style2 input.submit {
    background-color: #2E3841;
}

form.style2 input.submit[type='submit']:hover {
    background-color: #2E3841;
}

.ce_iconbox_v2.style2:hover {
    background-color: #2E3841;
}

@media only screen and (min-width: 768px) {
    .header .mainmenu ul li a.trail, .header .mainmenu ul li a.active {
        color: #014596 !important;
    }
}

body #top {
    background: #014596;
}

body #top .inside {
    background: #014596;
}

.ce_form .widget.mandatory span.input-group-addon, .ce_form .widget span.input-group-addon {
    background: #014596;
    background-color: #014596;
}

/* ----------------------
   CLIENT FIXES
   ---------------------- */
.ce_popup_start .ce_popup_content {
    border-color: #014596;
}

.ce_popup_content .check-button button {
    background: #014596;
}

.logo {
    width: 300px;
}

main .mod_subscribe input {
    width: 65%;
}

.ce_sliderStart .slider-control .slider-menu b.active {
    background: rgb(1, 69, 150);
}

#main .mod_subscribe input {
    width: 65%;
}

.mod_subscribe input.submit[type="submit"] {
    border-radius: 0px 0px 0px 0px;
}

/* ----------------------
   ARAGON FIXES
   ---------------------- */
#live-beratung-starten input[type=submit] {
    background: #014596;
    color: white;
}

#slider .lh60 p {
    line-height: 60px !important;
}

#top .mod_top_mail:hover,
#top .mod_login_top:hover {
    background: #999999;
}

.mainmenu ul ul li a:hover,
.mainmenu ul ul li a.trail,
.mainmenu ul ul li a.active {
    background: none;
    color: #014596;
}

.map-info-window .map-link {
    background: #014596;
}

/* ----------------------
   DESKTOP FIXES
  ---------------------- */
/**/
@media only screen and (min-width: 768px) {
    .header .smartmenu.open .level_1 li a:hover, .header .submenu .level_2 li a:hover {
        color: white;
        background: #014596;
    }

    .header .smartmenu.open .level_1 li:hover > a,
    .header .submenu .level_2 li:hover > a {
        background: #014596 !important;
        color: white !important;
    }

    nav.header_metanavi .smartmenu.open .level_1 li:hover, nav.header_metanavi .submenu .level_2 li:hover {
        color: white;
        background: #014596;
    }

    .mainmenu ul ul li a {
        color: #555;
    }

    .header .smartmenu.open .level_1 li a:hover, .header .submenu .level_2 li a:hover {
        color: white;
        background: #014596;
    }

    .header .smartmenu.open .level_1 li:hover > a,
    .header .submenu .level_2 li:hover > a {
        background: #014596 !important;
        color: white !important;
    }

    nav.header_metanavi .smartmenu.open .level_1 li:hover, nav.header_metanavi .submenu .level_2 li:hover {
        color: white;
        background: #014596;
    }

    .ce_sliderStart:hover .slider-control a.slider-next::after {
        color: #014596;
    }

    .ce_sliderStart:hover .slider-control a.slider-prev::before {
        color: #014596;
    }
}

/* ----------------------
   MOBILE FIXES
   ---------------------- */
/**/
@media only screen and (max-width: 768px) {
    #main .mod_subscribe input {
        width: 100%;
    }
}

/* ----------------------
   HEADER REDESIGN
   ---------------------- */
:root {
    --cc-header-accent: #14559b;
    --cc-header-accent-dark: #0f437c;
    --cc-header-ink: #23384c;
    --cc-header-top: #12293c;
    --cc-header-top-border: rgba(255, 255, 255, 0.18);
    --cc-header-top-text: rgba(255, 255, 255, 0.88);
    --cc-header-border: #e4edf5;
    --cc-header-shadow: 0 16px 36px rgba(15, 36, 58, 0.12);
}

#top-wrapper {
    background: #ffffff;
}

#top-wrapper.fixed {
    background: #ffffff;
    box-shadow: var(--cc-header-shadow);
}

body #top,
body #top .inside {
    background: var(--cc-header-top);
}

#top {
    line-height: normal;
    font-size: 11px;
    color: var(--cc-header-top-text);
}

#top .inside {
    padding-top: 7px;
    padding-bottom: 7px;
}

#top .topbar-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

#top .topbar-contact {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
}

#top .meta-nav {
    float: none;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--cc-header-top-text);
    min-height: 20px;
}

#top .meta-nav + .meta-nav {
    margin-left: 16px;
    padding-left: 16px;
    position: relative;
}

#top .meta-nav + .meta-nav::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 12px;
    background: var(--cc-header-top-border);
    transform: translateY(-50%);
}

#top .mod_top_phone,
#top .mod_top_mail {
    float: none;
}

#top .mod_top_phone i,
#top .mod_top_mail i {
    margin: 0;
    color: #ffffff;
    font-size: 10px;
}

#top .topbar-label {
    color: rgba(255, 255, 255, 0.72);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#top a,
#top .mod_top_mail a,
#top .mod_top_phone a {
    color: #ffffff;
    font-weight: 400;
    font-size: 11px;
    font-family: var(--casaconvent-font-family);
    letter-spacing: 0;
    text-transform: none;
}

#top .mod_top_mail a {
    padding: 0;
}

#top .mod_top_mail:hover,
#top .mod_login_top:hover {
    background: transparent;
}

#top .mod_socials {
    float: none;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 0 auto;
}

#top .mod_socials a {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    line-height: 1;
}

#top .mod_socials a i {
    width: auto;
    line-height: 1;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
}

#top a:hover,
#top .mod_socials a:hover i {
    color: #ffffff;
    opacity: 1;
}

.offcanvas-trigger {
    display: none;
}

.header {
    background: #ffffff;
    line-height: normal;
    border-bottom: 0;
}

.header .inside {
    padding-top: 16px;
    padding-bottom: 16px;
}

.header-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.header-controls {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}

.logo {
    float: none;
    width: 210px;
    height: 48px;
    margin: 0;
    display: flex;
    align-items: center;
    align-self: center;
}

.logo a {
    display: block;
    width: 100%;
    height: 100%;
    background-position: left center;
    background-size: contain;
}

.stickyheader .logo {
    width: 190px;
    height: 44px;
    margin-right: 0;
}

.mainmenu {
    float: none;
    flex: 1 1 auto;
    min-width: 0;
    align-self: center;
}

.mainmenu > ul.level_1 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mainmenu ul li {
    margin: 0;
    display: block;
}

.header .mainmenu ul.level_1 > li > a {
    font-size: 14px;
    font-weight: 600;
    color: var(--cc-header-ink);
    letter-spacing: -0.01em;
    font-family: var(--casaconvent-font-family);
    text-transform: none;
    line-height: 1;
    display: block;
    padding: 0 !important;
    white-space: nowrap;
}

.header .mainmenu ul.level_1 > li > a > span {
    display: inline-block;
    font-family: var(--casaconvent-font-family);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    text-transform: none;
    white-space: nowrap;
}

.mainmenu ul li a:hover {
    opacity: 1;
    color: var(--cc-header-accent);
}

.header .mainmenu ul li a.trail,
.header .mainmenu ul li a.active {
    color: var(--cc-header-accent) !important;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    align-self: center;
}

.header-booking-btn {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 8px;
    background: var(--cc-header-accent);
    color: #ffffff !important;
    font-family: var(--casaconvent-font-family);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(20, 85, 155, 0.18);
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.header-booking-btn i {
    font-size: 12px;
}

.header-booking-btn:hover {
    background: var(--cc-header-accent-dark);
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(20, 85, 155, 0.24);
}

#nav-open-btn {
    display: none;
}

.smartmenu {
    margin-left: 0;
}

.smartmenu .smartmenu-trigger {
    height: 42px;
    width: 42px;
    border: 1px solid #d8e4ef;
    border-radius: 12px;
}

.header.cloned .smartmenu .smartmenu-trigger {
    height: 42px;
}

.smartmenu .smartmenu-trigger .line,
.smartmenu .smartmenu-trigger .line::before,
.smartmenu .smartmenu-trigger .line::after {
    width: 18px;
    background: var(--cc-header-ink);
}

.smartmenu .smartmenu-trigger .line {
    left: 50%;
    transform: translateX(-50%);
    margin-top: -1px;
}

.smartmenu .smartmenu-trigger .line::before,
.smartmenu .smartmenu-trigger .line::after {
    left: 50%;
    transform: translateX(-50%);
}

.smartmenu .mod_navigation {
    right: 0;
    left: auto;
    top: calc(100% + 12px);
}

.smartmenu .mod_navigation ul {
    border-radius: 16px;
    overflow: hidden;
}

.smartmenu .mod_navigation ul li {
    border-bottom-color: #edf2f7;
}

.smartmenu .mod_navigation ul li a {
    color: var(--cc-header-ink);
    font-weight: 600;
}

.stickyheader .header.cloned {
    line-height: normal;
    background: #ffffff;
    border-bottom: 0;
    box-shadow: none;
}

.stickyheader .header.cloned .inside {
    padding-top: 14px;
    padding-bottom: 14px;
}

.header.original .mainmenu:before {
    display: none;
}

@media only screen and (min-width: 971px) {
    #top .inside,
    .header .inside {
        max-width: 1140px;
        padding-left: 30px;
        padding-right: 30px;
    }

    #top .inside {
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .header .inside {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    #top {
        font-size: 12px;
    }

    #top a,
    #top .mod_top_mail a,
    #top .mod_top_phone a {
        font-size: 12px;
    }

    #top .topbar-label {
        font-size: 10px;
    }

    .logo {
        width: 188px;
        height: 56px;
    }

    .logo a {
        background-size: contain;
    }

    .stickyheader .logo {
        width: 176px;
        height: 52px;
    }

    .mainmenu > ul.level_1 {
        gap: 18px;
    }

    .header .mainmenu ul.level_1 > li > a {
        font-size: 14px;
        font-weight: 600;
        letter-spacing: -0.01em;
        font-family: var(--casaconvent-font-family);
        text-transform: none;
        padding: 0 !important;
    }

    .header .mainmenu ul.level_1 > li > a > span {
        font-size: 14px;
        font-weight: 600;
        letter-spacing: -0.01em;
        text-transform: none;
    }

    .header-actions {
        gap: 10px;
    }

    .header-booking-btn {
        display: inline-flex;
    }

    .smartmenu {
        display: none;
    }
}

/* Keep all main menu items on one line on narrow desktop widths */
@media only screen and (min-width: 971px) and (max-width: 1199px) {
    .mainmenu > ul.level_1 {
        gap: 12px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 970px) {
    #top .topbar-layout {
        align-items: flex-start;
    }

    #top .topbar-contact {
        row-gap: 8px;
    }

    .header-layout {
        gap: 16px;
    }

    .header-controls {
        justify-content: flex-end;
        gap: 12px;
    }

    .header-booking-btn {
        display: none;
    }

    .mainmenu {
        display: none;
    }

    .smartmenu {
        display: inline-block;
    }
}

@media only screen and (max-width: 767px) {
    #top {
        display: none;
    }

    .header .inside,
    .stickyheader .header.cloned .inside {
        height: auto;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .header-layout {
        gap: 12px;
    }

    .header-controls {
        flex: 0 0 auto;
        gap: 10px;
    }

    .logo,
    .stickyheader .logo {
        width: 164px;
        height: 38px;
    }

    .header-booking-btn {
        display: none;
    }

    .smartmenu {
        display: none !important;
    }

    #nav-open-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 12px;
        background: var(--cc-header-accent);
        text-decoration: none;
    }

    #nav-open-btn::before {
        content: "\f0c9";
        font-family: "FontAwesome";
        font-size: 18px;
        color: #ffffff;
        background: transparent !important;
    }
}

/* ----------------------
   HERO SLIDER
   ---------------------- */
#slider.hero-slider {
    position: relative;
    z-index: 4;
    background: #eef3f8;
}

#slider.hero-slider > .inside {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

#slider.hero-slider #hero-slider {
    position: relative;
    height: 500px;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
}

#slider.hero-slider .hero-slider__slides {
    position: relative;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

#slider.hero-slider .hero-slide {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

#slider.hero-slider .hero-slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
    #slider.hero-slider .hero-slide {
        transition: none;
    }
}

#slider.hero-slider .hero-slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(18, 40, 58, 0.92) 0%, rgba(38, 67, 92, 0.78) 34%, rgba(63, 96, 124, 0.42) 58%, rgba(63, 96, 124, 0.14) 100%),
    linear-gradient(180deg, rgba(10, 25, 39, 0.12) 0%, rgba(10, 25, 39, 0.22) 100%);
    z-index: 2;
    pointer-events: none;
}

#slider.hero-slider .hero-slide-image {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}

#slider.hero-slider .hero-slide-caption {
    position: absolute;
    top: 50%;
    left: max(0px, calc((100% - 1280px) / 2));
    z-index: 5;
    width: min(620px, calc(100vw - 72px));
    margin-left: 24px;
    transform: translateY(calc(-50% - 8px));
    white-space: normal;
}

#slider.hero-slider .hero-slide-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    color: #ffffff;
    white-space: normal !important;
}

#slider.hero-slider .hero-slide-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: #1f69b0;
    color: #ffffff;
    font-family: var(--casaconvent-font-family);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#slider.hero-slider .hero-slide-copy {
    max-width: 560px;
}

#slider.hero-slider .hero-slide-copy h2 {
    margin: 0 0 14px;
    color: #ffffff;
    font-family: var(--casaconvent-font-family);
    font-size: 54px;
    line-height: 0.96;
    font-weight: 700;
    word-break: normal;
    overflow-wrap: normal;
}

#slider.hero-slider .hero-slide-copy p {
    margin: 0;
    max-width: 500px;
    color: rgba(255, 255, 255, 0.84);
    font-family: var(--casaconvent-font-family);
    font-size: 16px;
    line-height: 1.42;
    font-weight: 400;
}

#slider.hero-slider .hero-slide-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

#slider.hero-slider .hero-slide-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-family: var(--casaconvent-font-family);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#slider.hero-slider .hero-slide-btn i {
    font-size: 13px;
}

#slider.hero-slider .hero-slide-btn--light {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(255, 255, 255, 0.96);
    color: #275783 !important;
    box-shadow: 0 16px 34px rgba(8, 22, 34, 0.12);
}

#slider.hero-slider .hero-slide-btn--light:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: #1e4b77 !important;
    transform: translateY(-1px);
}

#slider.hero-slider .hero-slide-btn--primary {
    background: #14559b;
    border-color: #14559b;
    color: #ffffff !important;
    box-shadow: 0 18px 36px rgba(20, 85, 155, 0.28);
}

#slider.hero-slider .hero-slide-btn--primary:hover {
    background: #104b8b;
    border-color: #104b8b;
    color: #ffffff !important;
    transform: translateY(-1px);
}

#slider.hero-slider .hero-slider__arrow {
    position: absolute;
    bottom: 58px;
    z-index: 6;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: rgba(49, 68, 84, 0.8);
    box-shadow: none;
    cursor: pointer;
}

#slider.hero-slider .hero-slider__arrow--prev {
    right: 60px;
}

#slider.hero-slider .hero-slider__arrow--next {
    right: 22px;
}

#slider.hero-slider .hero-slider__arrow::before {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "FontAwesome";
    font-size: 15px;
    color: rgba(255, 255, 255, 0.92);
}

#slider.hero-slider .hero-slider__arrow--prev::before {
    content: "\f104";
}

#slider.hero-slider .hero-slider__arrow--next::before {
    content: "\f105";
}

#slider.hero-slider .hero-slider__arrow:hover,
#slider.hero-slider .hero-slider__arrow:focus-visible {
    background: rgba(28, 44, 58, 0.92);
}

#custommenu {
    position: relative;
    z-index: 8;
    margin-top: -38px;
    padding-top: 0;
    padding-bottom: 0;
}

#custommenu .hero-shortcuts.custommenu {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    overflow: visible;
    background: linear-gradient(180deg, #eef3f8 0%, #eff4f9 100%);
    padding: 58px 0 26px;
}

#custommenu .hero-shortcuts .contentwrap {
    max-width: 1120px;
}

#custommenu .hero-shortcuts ul.level_1 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

#custommenu .hero-shortcuts li {
    float: none;
    width: auto;
    border: 0;
    opacity: 1;
}

#custommenu .hero-shortcuts li.last {
    border-right: 0;
}

#custommenu .hero-shortcuts li a {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 92px;
    padding: 18px 22px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(30, 83, 140, 0.08);
    box-shadow: none;
    color: #1e3550;
    text-align: left;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

#custommenu .hero-shortcuts li a:hover {
    background: #f7fbff;
    border-color: rgba(20, 85, 155, 0.2);
}

#custommenu .hero-shortcut-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eef5fb;
    color: #4a8ec9;
    font-size: 17px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#custommenu .hero-shortcut-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

#custommenu .hero-shortcut-title {
    display: block;
    color: #173555;
    font-family: var(--casaconvent-font-family);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1;
}

#custommenu .hero-shortcut-subtitle {
    display: block;
    color: #718090;
    font-family: var(--casaconvent-font-family);
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.3;
}

#custommenu .hero-shortcut-arrow {
    margin-left: auto;
    color: #c4ced8;
    font-size: 18px;
    transition: color 0.2s ease;
}

#custommenu .hero-shortcuts li a:hover .hero-shortcut-icon {
    background: #e8f2fc;
    color: #2b6fb2;
}

#custommenu .hero-shortcuts li a:hover .hero-shortcut-arrow {
    color: #9eb8d2;
}

/* Color-highlighted shortcut tile (e.g. Altersvorsorgedepot) */
#custommenu .hero-shortcuts li.hero-shortcut--highlight a {
    background: linear-gradient(180deg, #14559b 0%, #0f4b88 100%);
    border-color: #14559b;
    box-shadow: 0 14px 28px rgba(20, 85, 155, 0.18);
}

#custommenu .hero-shortcuts li.hero-shortcut--highlight a:hover {
    background: linear-gradient(180deg, #165ea8 0%, #114f91 100%);
    border-color: #165ea8;
}

#custommenu .hero-shortcuts li.hero-shortcut--highlight .hero-shortcut-icon,
#custommenu .hero-shortcuts li.hero-shortcut--highlight a:hover .hero-shortcut-icon {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

#custommenu .hero-shortcuts li.hero-shortcut--highlight .hero-shortcut-title {
    color: #ffffff;
    hyphens: manual;
}

#custommenu .hero-shortcuts li.hero-shortcut--highlight .hero-shortcut-subtitle {
    color: rgba(255, 255, 255, 0.82);
}

#custommenu .hero-shortcuts li.hero-shortcut--highlight .hero-shortcut-arrow,
#custommenu .hero-shortcuts li.hero-shortcut--highlight a:hover .hero-shortcut-arrow {
    color: rgba(255, 255, 255, 0.72);
}

@media only screen and (max-width: 1199px) {
    #custommenu .hero-shortcuts ul.level_1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 970px) {
    #slider.hero-slider .hero-slide-caption {
        width: min(500px, calc(100vw - 48px));
    }

    #slider.hero-slider .hero-slide-copy h2 {
        font-size: 48px;
    }

    #custommenu .hero-shortcuts .contentwrap {
        max-width: 920px;
    }
}

@media only screen and (max-width: 767px) {
    #slider.hero-slider #hero-slider {
        height: 440px;
    }

    #slider.hero-slider .hero-slide-caption {
        width: calc(100vw - 40px);
        margin-left: 20px;
    }

    #slider.hero-slider .hero-slide-panel {
        gap: 14px;
    }

    #slider.hero-slider .hero-slide-copy h2 {
        font-size: 38px;
    }

    #slider.hero-slider .hero-slide-copy p {
        font-size: 16px;
    }

    #slider.hero-slider .hero-slide-actions {
        gap: 10px;
    }

    #slider.hero-slider .hero-slide-btn {
        min-height: 40px;
        padding: 0 14px;
        font-size: 14px;
    }

    /* Theme blendet #slider mobil aus – Hero bleibt versteckt, Shortcut-Buttons sichtbar */
    #slider.hero-slider {
        display: block;
    }

    #slider.hero-slider #hero-slider {
        display: none;
    }

    #custommenu {
        margin-top: 0;
    }

    #custommenu .hero-shortcuts.custommenu {
        padding: 24px 0 18px;
    }

    #custommenu .hero-shortcuts .contentwrap,
    #custommenu .hero-shortcuts .contentwrap-wide {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Mobil: kompakte 2×2-Kacheln, Icon oben, Titel darunter */
    #custommenu .hero-shortcuts ul.level_1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    #custommenu .hero-shortcuts li a {
        flex-direction: column;
        justify-content: center;
        gap: 10px;
        min-height: 112px;
        height: 100%;
        padding: 16px 10px;
        border-radius: 12px;
        text-align: center;
    }

    #custommenu .hero-shortcuts li.hero-shortcut--highlight a {
        box-shadow: 0 8px 18px rgba(20, 85, 155, 0.18);
    }

    #custommenu .hero-shortcut-icon {
        flex: 0 0 auto;
        width: 44px;
        height: 44px;
        font-size: 19px;
    }

    #custommenu .hero-shortcut-copy {
        align-items: center;
        width: 100%;
    }

    #custommenu .hero-shortcut-title {
        font-size: 16px;
        line-height: 1.2;
        overflow-wrap: break-word;
    }

    #custommenu .hero-shortcut-subtitle,
    #custommenu .hero-shortcut-arrow {
        display: none;
    }
}

/* ----------------------
   SUBPAGE SLIDER
   ---------------------- */
#slider.subpage-slider {
    position: relative;
    z-index: 2;
    margin-bottom: 0;
    background: linear-gradient(180deg, #f4f7fb 0%, #eef3f8 100%);
    overflow: hidden;
}

#slider.subpage-slider > .inside {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

#slider.subpage-slider .mod_article {
    max-width: 100%;
    padding-top: 0;
    padding-bottom: 0;
}

#slider.subpage-slider .my_revolutionslider {
    display: block !important;
    position: relative;
    overflow: hidden;
}

#slider.subpage-slider .my_revolutionslider > ul {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

#slider.subpage-slider .my_revolutionslider > ul > li {
    position: relative !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

#slider.subpage-slider .ce_revolutionslider,
#slider.subpage-slider .rs-container,
#slider.subpage-slider .fullwidthbanner-container,
#slider.subpage-slider .tp-simpleresponsive,
#slider.subpage-slider .tp-simpleresponsive > ul,
#slider.subpage-slider .tp-simpleresponsive > ul > li {
    width: 100% !important;
    max-width: none !important;
    height: 540px !important;
}

#slider.subpage-slider .tp-simpleresponsive > ul > li,
#slider.subpage-slider .subpage-slide {
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}

#slider.subpage-slider .subpage-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(10, 25, 39, 0.9) 0%, rgba(16, 36, 54, 0.82) 27%, rgba(20, 42, 61, 0.4) 58%, rgba(20, 42, 61, 0.12) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(7, 19, 30, 0.12) 100%);
}

#slider.subpage-slider .subpage-slide .slotholder,
#slider.subpage-slider .subpage-slide img,
#slider.subpage-slider .subpage-slide .defaultimg {
    width: 100% !important;
    height: 100% !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    transform-origin: center center;
    will-change: opacity;
}

#slider.subpage-slider .subpage-slide .slotholder {
    overflow: hidden;
}

#slider.subpage-slider .subpage-slide img {
    object-fit: cover;
    object-position: right center;
}

#slider.subpage-slider .subpage-slide .defaultimg {
    background-size: cover !important;
    background-position: right center !important;
    filter: saturate(0.94) contrast(1.02);
}

#slider.subpage-slider .subpage-slide-caption {
    position: absolute;
    top: 50%;
    left: calc((100vw - 1120px) / 2 + 42px);
    z-index: 2;
    width: min(600px, calc(100vw - (((100vw - 1120px) / 2 + 42px) * 2)));
    transform: translateY(-50%);
    white-space: normal !important;
}

#slider.subpage-slider .subpage-slide-panel {
    position: relative;
    padding: 34px 34px 30px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.08) 100%);
    box-shadow: none;
    backdrop-filter: blur(14px);
    white-space: normal !important;
}

#slider.subpage-slider .subpage-slide-panel::before {
    content: "";
    display: block;
    width: 44px;
    height: 3px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: #66a6de;
}

#slider.subpage-slider .subpage-slide-copy h1,
#slider.subpage-slider .subpage-slide-copy h2,
#slider.subpage-slider .subpage-slide-copy h3,
#slider.subpage-slider .subpage-slide-copy h4,
#slider.subpage-slider .subpage-slide-copy h5,
#slider.subpage-slider .subpage-slide-copy h6 {
    margin: 0;
    color: #ffffff;
    font-family: var(--casaconvent-font-family);
    font-size: 42px !important;
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.02em;
    text-transform: none;
    white-space: normal !important;
}

#slider.subpage-slider .subpage-slide-copy p {
    max-width: 92%;
    margin: 14px 0 0;
    color: rgba(239, 245, 249, 0.9);
    font-family: var(--casaconvent-font-family);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.42;
    white-space: normal !important;
}

#slider.subpage-slider .subpage-slide-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

#slider.subpage-slider .subpage-slide-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 19px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 11px;
    background: #14559b;
    color: #ffffff !important;
    font-family: var(--casaconvent-font-family);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 18px 34px rgba(10, 28, 44, 0.24);
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

#slider.subpage-slider .subpage-slide-btn:hover {
    background: #104b8b;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 20px 36px rgba(10, 28, 44, 0.26);
}

#slider.subpage-slider #linkToContent,
#slider.subpage-slider .tp-bannertimer,
#slider.subpage-slider .tp-leftarrow,
#slider.subpage-slider .tp-rightarrow {
    display: none !important;
}

#slider.subpage-slider #headerimage-404 {
    padding-top: 42px;
    padding-bottom: 34px;
}

#slider.subpage-slider #headerimage-404 .ce_text {
    max-width: 760px;
    padding: 28px 30px;
    border: 1px solid #dfe8f1;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%);
    box-shadow: 0 22px 42px rgba(18, 42, 64, 0.08);
}

#slider.subpage-slider #headerimage-404 h1 {
    margin: 0;
    color: #173555;
    font-family: var(--casaconvent-font-family);
    font-size: 34px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: none;
}

#slider.subpage-slider #headerimage-404 p {
    margin: 12px 0 0;
    color: #5b6b7a;
    font-family: var(--casaconvent-font-family);
    font-size: 15px;
    line-height: 1.5;
}

#slider.subpage-slider #headerimage-404 p a {
    color: #14559b;
    font-weight: 700;
    text-decoration: none;
}

#slider.subpage-slider #headerimage-404 p a:hover {
    color: #104b8b;
}

.mod_breadcrumb {
    border: 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.mod_breadcrumb .mod_breadcrumb_inside {
    padding-top: 18px;
    padding-bottom: 18px;
}

.mod_breadcrumb .pagetitle {
    color: #1f3551;
    font-family: var(--casaconvent-font-family);
    font-size: 20px;
    font-weight: 700;
    text-transform: none;
}

.mod_breadcrumb ul,
.mod_breadcrumb li,
.mod_breadcrumb a {
    color: #7d8c99;
}

.mod_breadcrumb li:before {
    color: #9aacbc;
}

.mod_breadcrumb a:hover {
    color: #14559b;
}

@media only screen and (max-width: 970px) {
    #slider.subpage-slider .ce_revolutionslider,
    #slider.subpage-slider .rs-container,
    #slider.subpage-slider .fullwidthbanner-container,
    #slider.subpage-slider .tp-simpleresponsive,
    #slider.subpage-slider .tp-simpleresponsive > ul,
    #slider.subpage-slider .tp-simpleresponsive > ul > li {
        height: 460px !important;
    }

    #slider.subpage-slider .subpage-slide-caption {
        left: 28px;
        width: min(540px, calc(100% - 56px));
    }

    #slider.subpage-slider .subpage-slide-panel {
        padding: 26px 24px 23px;
    }

    #slider.subpage-slider .subpage-slide-copy h1,
    #slider.subpage-slider .subpage-slide-copy h2,
    #slider.subpage-slider .subpage-slide-copy h3,
    #slider.subpage-slider .subpage-slide-copy h4,
    #slider.subpage-slider .subpage-slide-copy h5,
    #slider.subpage-slider .subpage-slide-copy h6 {
        font-size: 36px !important;
    }

    #slider.subpage-slider .subpage-slide-copy p {
        font-size: 15px;
    }
}

@media only screen and (min-width: 971px) and (max-width: 1199px) {
    #slider.subpage-slider .subpage-slide-caption {
        left: 42px;
        width: min(510px, calc(100% - 84px));
    }
}

@media only screen and (max-width: 767px) {
    #slider.subpage-slider .ce_revolutionslider,
    #slider.subpage-slider .rs-container,
    #slider.subpage-slider .fullwidthbanner-container,
    #slider.subpage-slider .tp-simpleresponsive,
    #slider.subpage-slider .tp-simpleresponsive > ul,
    #slider.subpage-slider .tp-simpleresponsive > ul > li {
        height: 360px !important;
    }

    #slider.subpage-slider .subpage-slide::before {
        background: linear-gradient(180deg, rgba(12, 30, 47, 0.8) 0%, rgba(16, 36, 54, 0.6) 52%, rgba(16, 36, 54, 0.24) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(9, 21, 32, 0.08) 100%);
    }

    #slider.subpage-slider .subpage-slide-caption {
        top: auto;
        right: 18px;
        bottom: 18px;
        left: 18px;
        width: auto;
        transform: none;
    }

    #slider.subpage-slider .subpage-slide-panel {
        padding: 22px 18px 18px;
        border-radius: 16px;
    }

    #slider.subpage-slider .subpage-slide-panel::before {
        width: 36px;
        margin-bottom: 14px;
    }

    #slider.subpage-slider .subpage-slide-copy h1,
    #slider.subpage-slider .subpage-slide-copy h2,
    #slider.subpage-slider .subpage-slide-copy h3,
    #slider.subpage-slider .subpage-slide-copy h4,
    #slider.subpage-slider .subpage-slide-copy h5,
    #slider.subpage-slider .subpage-slide-copy h6 {
        font-size: 28px !important;
    }

    #slider.subpage-slider .subpage-slide-copy p {
        margin-top: 10px;
        font-size: 14px;
    }

    #slider.subpage-slider .subpage-slide-actions {
        margin-top: 16px;
    }

    #slider.subpage-slider .subpage-slide-btn {
        width: 100%;
        min-height: 40px;
        padding: 0 14px;
        font-size: 13px;
    }

    #slider.subpage-slider #headerimage-404 {
        padding-top: 26px;
        padding-bottom: 22px;
    }

    #slider.subpage-slider #headerimage-404 .ce_text {
        padding: 22px 18px;
        border-radius: 16px;
    }

    #slider.subpage-slider #headerimage-404 h1 {
        font-size: 28px;
    }

    #slider.subpage-slider #headerimage-404 p {
        font-size: 14px;
    }
}

/* ----------------------
   START INTRO
   ---------------------- */
#start-intro {
    margin-bottom: 18px;
}

#start-intro .start-intro {
    max-width: 1120px;
    padding-top: 56px;
}

.start-intro__header {
    text-align: center;
}

.start-intro__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    color: #2e7fc3;
    font-family: var(--casaconvent-font-family);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.start-intro__header h1 {
    margin: 0;
    color: #21364f;
    font-family: var(--casaconvent-font-family);
    font-size: 37px;
    font-weight: 700;
    line-height: 1.12;
    text-transform: none;
}

.start-intro__header h1 span {
    color: #2e7fc3;
}

.start-intro__header p {
    margin: 12px 0 0;
    color: #6f7d8a;
    font-family: var(--casaconvent-font-family);
    font-size: 15px;
    line-height: 1.4;
}

.start-intro__divider {
    display: block;
    width: 34px;
    height: 2px;
    margin: 16px auto 0;
    background: #2e7fc3;
}

.start-intro__card {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(320px, 1.1fr);
    gap: 34px;
    align-items: center;
    margin-top: 30px;
    padding: 32px;
    border: 1px solid #e7edf3;
    border-radius: 20px;
    background: linear-gradient(180deg, #f7f9fc 0%, #f1f5f9 100%);
    box-shadow: 0 24px 48px rgba(23, 44, 67, 0.07);
}

.start-intro__figure {
    position: relative;
    margin: 0;
}

.start-intro__figure a {
    display: block;
    border-radius: 18px;
    overflow: hidden;
}

.start-intro__figure img {
    display: block;
    width: 100%;
    height: auto;
}

.start-intro__person {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 16px 13px;
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 30px rgba(23, 44, 67, 0.12);
}

.start-intro__person strong {
    color: #21364f;
    font-family: var(--casaconvent-font-family);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
}

.start-intro__person span {
    color: #7f8d9a;
    font-family: var(--casaconvent-font-family);
    font-size: 11px;
    line-height: 1.3;
}

.start-intro__content h2 {
    margin: 0 0 16px;
    color: #21364f;
    font-family: var(--casaconvent-font-family);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.28;
}

.start-intro__content p {
    margin: 0 0 10px;
    color: #5a6a79;
    font-family: var(--casaconvent-font-family);
    font-size: 14px;
    line-height: 1.5;
}

.start-intro__content p:last-of-type {
    margin-bottom: 0;
}

.start-intro__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.start-intro__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-family: var(--casaconvent-font-family);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.start-intro__btn i {
    font-size: 12px;
}

.start-intro__btn--primary {
    background: #14559b;
    border-color: #14559b;
    color: #ffffff !important;
    box-shadow: 0 18px 34px rgba(20, 85, 155, 0.2);
}

.start-intro__btn--primary:hover {
    background: #104b8b;
    border-color: #104b8b;
    color: #ffffff !important;
}

.start-intro__btn--secondary {
    background: transparent;
    border-color: #8bb5dc;
    color: #14559b !important;
}

.start-intro__btn--secondary:hover {
    background: #eef5fb;
    border-color: #6fa3d5;
    color: #104b8b !important;
}

.start-intro__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(760px, 100%);
    margin: 26px auto 0;
}

.start-intro__stat {
    padding: 18px 22px 4px;
    text-align: center;
}

.start-intro__stat + .start-intro__stat {
    border-left: 1px solid #edf1f5;
}

.start-intro__stat strong {
    display: block;
    color: #2e7fc3;
    font-family: var(--casaconvent-font-family);
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
}

.start-intro__stat span {
    display: block;
    margin-top: 7px;
    color: #6f7d8a;
    font-family: var(--casaconvent-font-family);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

#consulting-section {
    margin-top: 4px;
    margin-bottom: 0;
    padding-top: 54px;
    padding-bottom: 58px;
    background: #eef3f8;
}

#consulting-section .consulting-section {
    max-width: 1120px;
}

.consulting-section__header {
    text-align: center;
}

.consulting-section__eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: #2e7fc3;
    font-family: var(--casaconvent-font-family);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.consulting-section__header h2 {
    margin: 0;
    color: #173555;
    font-family: var(--casaconvent-font-family);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.18;
    text-transform: none;
}

.consulting-section__divider {
    display: block;
    width: 34px;
    height: 2px;
    margin: 18px auto 0;
    background: #2e7fc3;
}

.consulting-section__card {
    display: grid;
    grid-template-columns: minmax(360px, 1.08fr) minmax(420px, 0.92fr);
    align-items: stretch;
    max-width: 860px;
    margin: 34px auto 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 22px 42px rgba(23, 44, 67, 0.08);
}

.consulting-section__media {
    position: relative;
    min-height: 404px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(231, 235, 240, 0.86) 0%, rgba(72, 88, 105, 0.5) 100%);
}

.consulting-section__image {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    filter: saturate(0.7) blur(0.2px);
    transform: scale(1.03);
}

.consulting-section__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(20, 41, 63, 0.28) 0%, rgba(20, 41, 63, 0.44) 55%, rgba(20, 41, 63, 0.62) 100%);
}

.consulting-section__media-copy {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 2;
}

.consulting-section__media-copy span {
    display: block;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.88);
    font-family: var(--casaconvent-font-family);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
}

.consulting-section__media-copy strong {
    display: block;
    color: #ffffff;
    font-family: var(--casaconvent-font-family);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.15;
}

.consulting-section__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    padding: 28px 26px 28px 28px;
    background: #ffffff;
}

.consulting-section__content p {
    margin: 0;
    color: #5e6d7c;
    font-family: var(--casaconvent-font-family);
    font-size: 14px;
    line-height: 1.55;
}

.consulting-section__benefits {
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
}

.consulting-section__benefits li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 13px;
    color: #35526e;
    font-family: var(--casaconvent-font-family);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

.consulting-section__benefits li:last-child {
    margin-bottom: 0;
}

.consulting-section__benefits i {
    flex: 0 0 auto;
    margin-top: 1px;
    color: #7cb2e2;
    font-size: 15px;
}

.consulting-section__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 34px;
    margin-top: 2px;
    padding: 0 18px;
    border-radius: 9px;
    background: #14559b;
    color: #ffffff !important;
    font-family: var(--casaconvent-font-family);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 16px 28px rgba(20, 85, 155, 0.18);
}

.consulting-section__cta i {
    font-size: 12px;
}

.consulting-section__cta:hover {
    background: #104b8b;
    color: #ffffff !important;
}

@media only screen and (max-width: 970px) {
    #start-intro .start-intro {
        padding-top: 48px;
    }

    .start-intro__header h1 {
        font-size: 34px;
    }

    .start-intro__card {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    #consulting-section {
        padding-top: 46px;
        padding-bottom: 48px;
    }

    .consulting-section__card {
        grid-template-columns: 1fr;
        max-width: 620px;
    }

    .consulting-section__media {
        min-height: 320px;
    }

    .consulting-section__content {
        padding: 24px 22px;
    }
}

@media only screen and (max-width: 767px) {
    #start-intro {
        margin-bottom: 12px;
    }

    #start-intro .start-intro {
        padding-top: 34px;
    }

    .start-intro__header h1 {
        font-size: 28px;
    }

    .start-intro__header p br {
        display: none;
    }

    .start-intro__card {
        margin-top: 28px;
        padding: 20px;
        border-radius: 18px;
    }

    .start-intro__person {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .start-intro__content h2 {
        font-size: 20px;
    }

    .start-intro__actions {
        flex-direction: column;
    }

    .start-intro__btn {
        width: 100%;
    }

    .start-intro__stats {
        grid-template-columns: 1fr;
        width: 100%;
        margin-top: 22px;
    }

    .start-intro__stat {
        padding: 18px 10px 0;
    }

    .start-intro__stat + .start-intro__stat {
        border-left: 0;
        border-top: 1px solid #edf1f5;
    }

    .start-intro__stat strong {
        font-size: 30px;
    }

    #consulting-section {
        margin-top: 0;
        padding-top: 40px;
        padding-bottom: 42px;
    }

    .consulting-section__header h2 {
        font-size: 24px;
    }

    .consulting-section__card {
        grid-template-columns: 1fr;
        max-width: 620px;
        margin-top: 26px;
    }

    .consulting-section__media {
        min-height: 300px;
    }

    .consulting-section__content {
        padding: 22px 20px;
    }

    .consulting-section__content p,
    .consulting-section__benefits li {
        font-size: 13px;
    }

    .consulting-section__cta {
        width: 100%;
        min-height: 42px;
        font-size: 14px;
    }
}

/* ----------------------
   SHARE STRIP
   ---------------------- */
.share-strip {
    margin-top: -10px !important;
    padding-top: 8px;
}

.share-strip .contentwrap {
    max-width: 1120px;
}

.share-strip .mod_hofff_shariff {
    display: flex;
    justify-content: center;
    padding: 8px 0 4px;
}

.share-strip .shariff ul.orientation-horizontal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    padding: 0;
}

.share-strip .shariff .orientation-horizontal.col-6 li,
.share-strip .shariff .orientation-horizontal li {
    flex: 0 1 auto;
    width: 136px;
    min-width: 136px;
    max-width: none;
    margin: 0;
}

.share-strip .shariff li {
    height: 46px;
    border: 0 !important;
    overflow: visible;
}

.share-strip .shariff .shariff-button {
    border: 0 !important;
    background: transparent !important;
}

.share-strip .shariff li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    height: 46px;
    padding: 0 16px;
    border: 1px solid #dbe6f2;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5fb 100%) !important;
    box-shadow: 0 10px 22px rgba(23, 44, 67, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.share-strip .shariff li a:hover {
    border-color: #a8c7e6;
    background: #ffffff !important;
    box-shadow: 0 16px 30px rgba(23, 44, 67, 0.1);
    transform: translateY(-1px);
}

.share-strip .shariff li .fa {
    width: auto;
    height: auto;
    line-height: 1;
    border-radius: 0;
    background: transparent;
    color: #14559b;
    font-size: 15px;
    text-align: center;
}

.share-strip .shariff li .share_text {
    display: inline;
    padding-left: 0;
    color: #4b5d6f;
    font-family: var(--casaconvent-font-family);
    font-size: 12.5px;
    font-weight: 700;
    line-height: 46px;
    text-indent: 0;
    white-space: nowrap;
}

.share-strip .shariff li .share_count {
    display: none !important;
}

.share-strip .shariff .theme-white .facebook a,
.share-strip .shariff .theme-white .twitter a,
.share-strip .shariff .theme-white .xing a,
.share-strip .shariff .theme-white .linkedin a,
.share-strip .shariff .theme-white .whatsapp a,
.share-strip .shariff .theme-white .mail a {
    color: #4f6071;
}

.share-strip .shariff .facebook a:hover,
.share-strip .shariff .twitter a:hover,
.share-strip .shariff .xing a:hover,
.share-strip .shariff .linkedin a:hover,
.share-strip .shariff .whatsapp a:hover,
.share-strip .shariff .mail a:hover {
    color: #173555;
}

@media only screen and (max-width: 970px) {
    .share-strip .shariff .orientation-horizontal.col-6 li,
    .share-strip .shariff .orientation-horizontal li {
        width: 124px;
        min-width: 124px;
    }
}

@media only screen and (max-width: 767px) {
    .share-strip {
        margin-top: -4px !important;
        padding-top: 0;
    }

    .share-strip .shariff ul.orientation-horizontal {
        gap: 10px;
    }

    .share-strip .shariff .orientation-horizontal.col-6 li,
    .share-strip .shariff .orientation-horizontal li {
        min-width: calc(50% - 5px);
    }

    .share-strip .shariff li,
    .share-strip .shariff li a {
        height: 42px;
    }

    .share-strip .shariff li a {
        width: 100%;
        padding: 0 14px;
        border-radius: 12px;
    }

    .share-strip .shariff li .share_text {
        font-size: 12px;
        line-height: 42px;
    }
}

/* ----------------------
   FOOTER REDESIGN
   ---------------------- */
#footer {
    position: relative;
    background: #102436;
    border-top: 2px solid #14559b;
    color: rgba(220, 230, 240, 0.78);
}

#footer .inside {
    max-width: 1120px;
    padding-top: 36px;
    padding-bottom: 0;
}

#footer .totop {
    display: none;
}

#footer .autogrid_wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(248px, 0.97fr) minmax(206px, 0.79fr);
    gap: 40px;
    align-items: start;
    margin: 0;
}

#footer .autogrid_wrapper > .autogrid {
    float: none !important;
    width: auto !important;
    max-width: none;
    margin: 0 !important;
}

#footer .autogrid_wrapper > .autogrid:nth-child(2) {
    display: none;
}

#footer .autogrid_wrapper > .autogrid:first-child .ce_text {
    padding-right: 0 !important;
}

#footer .autogrid_wrapper > .autogrid:first-child .ce_text::before {
    display: none;
}

#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6 {
    margin: 0 0 14px;
    color: #ffffff;
    font-family: var(--casaconvent-font-family);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-transform: uppercase;
}

#footer .ce_text,
#footer .ce_iconbox,
#footer .ce_iconbox .content,
#footer .ce_iconbox .content p {
    color: rgba(220, 230, 240, 0.78);
}

#footer .ce_text p,
#footer .ce_iconbox p {
    margin: 0;
    font-family: var(--casaconvent-font-family);
    font-size: 13px;
    line-height: 1.5;
}

#footer .autogrid_wrapper > .autogrid:first-child .ce_text p {
    max-width: 368px;
}

#footer .ce_text.block {
    margin-bottom: 12px;
}

#footer a,
#footer .ce_text a,
#footer .ce_iconbox a {
    color: rgba(235, 242, 248, 0.95);
    text-decoration: none;
}

#footer a:hover,
#footer .ce_text a:hover,
#footer .ce_iconbox a:hover {
    color: #ffffff;
    text-decoration: none;
}

#footer .ce_iconbox {
    margin-top: 0;
    margin-bottom: 8px;
}

#footer .ce_iconbox.last {
    margin-bottom: 0;
}

#footer .ce_iconbox_outside,
#footer .ce_iconbox_inside,
#footer .ce_iconbox_cwrapper {
    overflow: visible;
}

#footer .ce_iconbox_inside {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

#footer .ce_iconbox i.fa,
#footer .ce_iconbox i[class*="fa-"] {
    flex: 0 0 14px;
    width: 14px;
    padding: 0 !important;
    margin: 2px 0 0;
    background: transparent !important;
    color: #8db6da;
    font-size: 11px;
    line-height: 1;
    text-align: left;
}

#footer .ce_iconbox_cwrapper {
    min-width: 0;
}

#footer .mod_socials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    overflow: visible;
}

#footer .mod_socials a {
    display: inline-flex;
    text-decoration: none;
}

#footer .mod_socials a i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    margin: 0;
    padding: 0;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.1);
    color: #f4f8fb;
    font-size: 11px;
    line-height: 1;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#footer .mod_socials a:hover i {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

#footer .footer-copyright {
    margin-top: 30px;
    padding-top: 19px;
    padding-bottom: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(194, 207, 220, 0.58);
    font-family: var(--casaconvent-font-family);
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
}

#bottom {
    background: #0d1d2c;
}

#bottom .inside {
    max-width: 1120px;
    padding-top: 10px;
    padding-bottom: 12px;
    overflow: visible;
}

#bottom .inside .right {
    float: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
    width: 100%;
}

#bottom .inside .right a {
    margin: 0;
    color: rgba(210, 222, 233, 0.72);
    font-family: var(--casaconvent-font-family);
    font-size: 11px;
    line-height: 1.4;
    text-decoration: none;
}

#bottom .inside .right a:hover {
    color: #ffffff;
    text-decoration: none;
}

.scroll-to-top {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1200;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: rgba(16, 36, 54, 0.92);
    box-shadow: 0 16px 30px rgba(6, 18, 28, 0.22);
    color: #ffffff;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.scroll-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-to-top:hover {
    background: #14559b;
    box-shadow: 0 18px 34px rgba(9, 24, 39, 0.28);
}

.scroll-to-top:focus {
    outline: 2px solid rgba(116, 181, 237, 0.9);
    outline-offset: 2px;
}

.scroll-to-top i {
    font-size: 18px;
    line-height: 1;
}

@media only screen and (max-width: 970px) {
    #footer .autogrid_wrapper {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    #footer .footer-copyright {
        margin-top: 24px;
        padding-top: 16px;
        padding-bottom: 24px;
    }
}

@media only screen and (max-width: 767px) {
    #footer .inside {
        padding-top: 30px;
        padding-bottom: 0;
    }

    #footer .ce_text p,
    #footer .ce_iconbox p {
        font-size: 13px;
    }

    #footer .footer-copyright {
        padding-bottom: 20px;
        text-align: left;
    }

    #bottom .inside .right {
        justify-content: flex-start;
    }

    .scroll-to-top {
        right: 14px;
        bottom: 14px;
        width: 40px;
        height: 40px;
        border-radius: 9px;
    }
}

.mod_socials a,
.mod_socials a i,
.shariff .shariff-button,
.shariff li a,
.shariff li a:hover {
    box-shadow: none !important;
}

body.page-content-refresh {
    background: radial-gradient(circle at top, rgba(218, 231, 243, 0.58), transparent 32%),
    linear-gradient(180deg, #f6f9fc 0%, #edf3f8 100%);
}

body.page-content-refresh #wrapper {
    background: transparent;
}

body.page-content-refresh #container,
body.page-content-refresh #main {
    width: 100%;
    max-width: none;
    float: none;
    margin-left: 0;
    margin-right: 0;
}

body.page-content-refresh #left,
body.page-content-refresh #right {
    display: none;
}

body.page-content-refresh #main {
    padding-bottom: 56px;
    overflow: visible;
}

body.page-content-refresh #main > .inside {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 36px;
    padding-bottom: 0;
}

body.page-content-refresh #main .inside > .mod_article,
body.page-content-refresh #main .inside > .autogrid_wrapper,
body.page-content-refresh #main .inside > .ce_hyperlink-extended,
body.page-content-refresh #main .inside > .mod_socials {
    position: relative;
    z-index: 1;
}

body.page-content-refresh #main .mod_article,
body.page-content-refresh #main .autogrid_wrapper.article,
body.page-content-refresh #main .autogrid_wrapper.cte {
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
}

body.page-content-refresh #main .mod_article.first,
body.page-content-refresh #main .inside > .autogrid_wrapper:first-child {
    margin-top: 0 !important;
}

body.page-content-refresh #main .inside > .mod_article,
body.page-content-refresh #main .inside > .autogrid_wrapper,
body.page-content-refresh #main .inside > .ce_hyperlink-extended,
body.page-content-refresh #main .inside > .mod_socials {
    float: none;
    clear: both;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

body.page-content-refresh #main .inside > .autogrid_wrapper.adjust_mobile,
body.page-content-refresh #main .inside > .autogrid_wrapper.article.adjust_mobile,
body.page-content-refresh #main .inside > .autogrid_wrapper.cte.adjust_mobile {
    max-width: 1240px;
}

body.page-content-refresh #main .inside > .mod_article.fullwidth,
body.page-content-refresh #main .inside > .autogrid_wrapper.fullwidth {
    max-width: 1240px;
}

body.page-content-refresh #main .ce_headline_extended,
body.page-content-refresh #main .ce_text_extented.align-center:first-of-type,
body.page-content-refresh #main #headline-2233,
body.page-content-refresh #main [id^="headline-"] {
    text-align: center;
}

body.page-content-refresh #main .ce_headline_extended h1,
body.page-content-refresh #main .ce_headline_extended h2,
body.page-content-refresh #main .ce_headline_extended h3 {
    margin: 0;
    color: #1f3551;
    font-family: var(--casaconvent-font-family);
    font-size: clamp(34px, 4.6vw, 52px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.02em;
    text-transform: none;
}

body.page-content-refresh #main .ce_headline_extended .color-accent {
    color: #2e7fc3;
}

body.page-content-refresh #main .ce_text_extented.align-center .ce_textarea p,
body.page-content-refresh #main .ce_text_extented.align-center p {
    margin: 12px auto 0;
    max-width: 760px;
    color: #6f8091 !important;
    font-family: var(--casaconvent-font-family);
    font-size: 18px;
    line-height: 1.65;
}

body.page-content-refresh #main .ce_text_extented.align-center .ce_textarea p::after,
body.page-content-refresh #main .ce_text_extented.align-center p::after {
    content: "";
    display: block;
    width: 72px;
    height: 3px;
    margin: 20px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #2e7fc3 0%, #86b9e0 100%);
}

body.page-content-refresh #main .ce_bgimage,
body.page-content-refresh #main .ce_frame_start_inside,
body.page-content-refresh #main .ce_text_image_bar .inside,
body.page-content-refresh #main .ce_imagebox,
body.page-content-refresh #main .ce_accordionSingle,
body.page-content-refresh #main .ce_table,
body.page-content-refresh #main .ce_form,
body.page-content-refresh #main .mod_article > .ce_text:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
body.page-content-refresh #main .mod_article > .ce_image:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
body.page-content-refresh #main .mod_article > .ce_iconbox:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
body.page-content-refresh #main .mod_article > .ce_hyperlink:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain) {
    border: 1px solid #dde7f0;
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 249, 253, 0.98) 100%);
    box-shadow: none;
}

body.page-content-refresh #main .ce_bgimage-inside,
body.page-content-refresh #main .ce_frame_start_inside,
body.page-content-refresh #main .mod_article > .ce_text:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
body.page-content-refresh #main .mod_article > .ce_image:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
body.page-content-refresh #main .mod_article > .ce_iconbox:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
body.page-content-refresh #main .mod_article > .ce_hyperlink:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain) {
    padding: 32px 34px !important;
}

body.page-content-refresh #main .ce_text_image_bar {
    border: 0;
    background: transparent !important;
    box-shadow: none !important;
}

body.page-content-refresh #main .ce_text_image_bar .inside {
    overflow: hidden;
}

body.page-content-refresh #main .ce_text_image_bar .text-left,
body.page-content-refresh #main .ce_text_image_bar .text-right,
body.page-content-refresh #main .ce_text_image_bar .image-left,
body.page-content-refresh #main .ce_text_image_bar .image-right {
    min-height: 100%;
}

body.page-content-refresh #main .ce_text_image_bar .image-left,
body.page-content-refresh #main .ce_text_image_bar .image-right {
    background-size: cover;
    background-position: center;
}

body.page-content-refresh #main .ce_image img,
body.page-content-refresh #main .ce_image_extended img,
body.page-content-refresh #main .ce_text_image_bar img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 20px;
}

body.page-content-refresh #main .ce_image figure,
body.page-content-refresh #main .ce_image_extended figure {
    margin: 0;
}

body.page-content-refresh #main .ce_iconbox_cwrapper,
body.page-content-refresh #main .ce_iconbox_cwrapper .content,
body.page-content-refresh #main .ce_iconbox_cwrapper p {
    color: #5f6f80 !important;
}

body.page-content-refresh #main .ce_tabs .tabs.classic ul {
    margin: 0;
    padding-left: 0;
    text-align: left;
}

body.page-content-refresh #main .ce_iconbox .headline,
body.page-content-refresh #main .ce_textarea strong:first-child,
body.page-content-refresh #main .ce_frame_start strong:first-child {
    color: #1f3551;
}

/* Footer-Überschriften sind h2 (Hierarchie), mobil Größe wie zuvor als h5 */
@media only screen and (max-width: 767px) {
    #footer h2 {
        font-size: 16px !important;
    }
}

/* Iconbox-Überschrift als h2 (Hierarchie), Optik wie zuvor als h3 */
body.page-content-refresh #main .ce_iconbox h2.headline {
    margin: 0 0 10px !important;
    font-size: 24px !important;
    font-weight: 700;
    line-height: 1.3 !important;
    letter-spacing: normal;
    text-align: left;
    text-transform: none;
}

/* Tab-Reiter als echte Buttons, Optik wie zuvor als Links */
.ce_tabs .tabs button {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: #14559b;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

body.page-content-refresh #main .ce_text,
body.page-content-refresh #main .ce_text p,
body.page-content-refresh #main .ce_text li,
body.page-content-refresh #main .ce_textarea,
body.page-content-refresh #main .ce_textarea p,
body.page-content-refresh #main .ce_frame_start p,
body.page-content-refresh #main .ce_frame_start li,
body.page-content-refresh #main .ce_form,
body.page-content-refresh #main .ce_form label,
body.page-content-refresh #main .ce_form .widget {
    color: #5f6f80 !important;
    font-family: var(--casaconvent-font-family);
    font-size: 17px;
    line-height: 1.72;
}

body.page-content-refresh #main p[style*="color: #014596"],
body.page-content-refresh #main li[style*="color: #014596"],
body.page-content-refresh #main span[style*="color: #014596"] {
    color: #5f6f80 !important;
}

body.page-content-refresh #main strong,
body.page-content-refresh #main b {
    color: #1f3551;
}

body.page-content-refresh #main a {
    color: #14559b;
}

body.page-content-refresh #main ul,
body.page-content-refresh #main ol {
    margin: 0;
    padding-left: 22px;
}

body.page-content-refresh #main li + li {
    margin-top: 8px;
}

body.page-content-refresh #main .ce_hyperlink-extended a,
body.page-content-refresh #main .ce-plain.ce_hyperlink > a,
body.page-content-refresh #main a.btn,
body.page-content-refresh #main .submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 14px 22px;
    border: 1px solid #14559b;
    border-radius: 14px;
    background: #14559b;
    color: #ffffff !important;
    font-family: var(--casaconvent-font-family);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    box-shadow: none;
}

body.page-content-refresh #main .ce_hyperlink-extended a:hover,
body.page-content-refresh #main .ce-plain.ce_hyperlink > a:hover,
body.page-content-refresh #main a.btn:hover,
body.page-content-refresh #main .submit:hover {
    background: #104b8b;
    border-color: #104b8b;
    color: #ffffff !important;
}

body.page-content-refresh #main input.text,
body.page-content-refresh #main input.captcha,
body.page-content-refresh #main input[type="email"],
body.page-content-refresh #main input[type="tel"],
body.page-content-refresh #main input[type="search"],
body.page-content-refresh #main textarea,
body.page-content-refresh #main select {
    border: 1px solid #d8e2ec;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: none;
}

body.page-content-refresh #main .contact-form-panel {
    padding: 0 !important;
    overflow: hidden;
}

body.page-content-refresh #main .contact-form .formbody {
    padding: 30px 32px 28px;
    background: radial-gradient(circle at top right, rgba(170, 202, 229, 0.22) 0%, rgba(170, 202, 229, 0) 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 248, 252, 0.98) 100%);
}

body.page-content-refresh #main .contact-form .widget {
    margin: 0 0 16px;
}

body.page-content-refresh #main .contact-form .formicon-wrapper {
    position: relative;
}

body.page-content-refresh #main .contact-form .input-group-addon {
    position: absolute;
    top: 50%;
    left: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #4d6d8f;
    font-size: 18px;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 3;
}

body.page-content-refresh #main .contact-form input.text,
body.page-content-refresh #main .contact-form input.captcha,
body.page-content-refresh #main .contact-form input[type="email"],
body.page-content-refresh #main .contact-form input[type="tel"],
body.page-content-refresh #main .contact-form input[type="number"],
body.page-content-refresh #main .contact-form textarea,
body.page-content-refresh #main .contact-form select {
    width: 100%;
    min-height: 58px;
    padding: 16px 18px;
    border: 1px solid #d4dee8;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    color: #1f3551;
    font-size: 16px;
    line-height: 1.4;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.page-content-refresh #main .contact-form .formicon-wrapper input.text,
body.page-content-refresh #main .contact-form .formicon-wrapper input[type="email"],
body.page-content-refresh #main .contact-form .formicon-wrapper input[type="tel"] {
    padding-left: 52px;
}

body.page-content-refresh #main .contact-form textarea {
    min-height: 180px;
    resize: vertical;
}

body.page-content-refresh #main .contact-form input.text::placeholder,
body.page-content-refresh #main .contact-form input[type="email"]::placeholder,
body.page-content-refresh #main .contact-form input[type="tel"]::placeholder,
body.page-content-refresh #main .contact-form input[type="number"]::placeholder,
body.page-content-refresh #main .contact-form textarea::placeholder {
    color: #6e859d;
    opacity: 1;
}

body.page-content-refresh #main .contact-form input.text:focus,
body.page-content-refresh #main .contact-form input.captcha:focus,
body.page-content-refresh #main .contact-form input[type="email"]:focus,
body.page-content-refresh #main .contact-form input[type="tel"]:focus,
body.page-content-refresh #main .contact-form input[type="number"]:focus,
body.page-content-refresh #main .contact-form textarea:focus,
body.page-content-refresh #main .contact-form select:focus {
    border-color: #7ba7d0;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(20, 85, 155, 0.12);
    outline: none;
}

body.page-content-refresh #main .contact-form-label,
body.page-content-refresh #main .contact-form .widget-select > label,
body.page-content-refresh #main .contact-form legend {
    display: block;
    margin: 0 0 8px;
    color: #1f3551 !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

body.page-content-refresh #main .contact-form .widget-select select {
    appearance: none;
    padding-right: 48px;
    background-image: linear-gradient(45deg, transparent 50%, #5b7691 50%),
    linear-gradient(135deg, #5b7691 50%, transparent 50%);
    background-position: calc(100% - 24px) calc(50% - 3px),
    calc(100% - 18px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

body.page-content-refresh #main .contact-form fieldset.radio_container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 4px 0 0;
    padding: 0;
    border: 0;
}

body.page-content-refresh #main .contact-form fieldset.radio_container > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 14px;
    border: 1px solid #d4dee8;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
}

body.page-content-refresh #main .contact-form input.radio,
body.page-content-refresh #main .contact-form input.checkbox {
    width: 18px !important;
    height: 18px !important;
    margin: 0;
    accent-color: #14559b;
    vertical-align: middle !important;
    position: static !important;
    transform: none !important;
    float: none !important;
}

body.page-content-refresh #main .contact-form .radio_container label,
body.page-content-refresh #main .contact-form-consent-label {
    margin: 0;
    color: #4f6479 !important;
    font-size: 14px;
    font-weight: 400 !important;
    line-height: 1.55;
}

body.page-content-refresh #main .contact-form-consent {
    margin-top: 6px;
    padding: 16px 18px;
    border: 1px solid #dbe4ec;
    border-radius: 16px;
    background: rgba(248, 251, 253, 0.92);
}

body.page-content-refresh #main .contact-form-consent-inner {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

body.page-content-refresh #main .contact-form-submit {
    margin-top: 20px;
}

body.page-content-refresh #main .contact-form .submit {
    min-width: 210px;
}

body.page-content-refresh #main .contact-form .form-live-message {
    margin: 14px 0 0;
    padding: 14px 16px;
    border: 1px solid #f0c6c6;
    border-radius: 14px;
    background: #fff3f3;
    color: #9d1c1c;
    font-size: 15px;
    line-height: 1.5;
}

body.page-content-refresh #main .contact-form .form-live-message.is-success {
    border-color: #b8dfbf;
    background: #edf8ef;
    color: #1f5e2b;
}

body.page-content-refresh #main .contact-form-note {
    margin-top: 10px;
}

body.page-content-refresh #main .contact-form-note p:last-child {
    margin: 0;
    color: #8193a4 !important;
    font-size: 12px !important;
    line-height: 1.5;
}

body.page-content-refresh #main .autogrid_wrapper .mod_article {
    margin-bottom: 0;
}

body.page-content-refresh #main .autogrid_wrapper.adjust_mobile > .inner > .ce_text.hide-on-mobile.autogrid,
body.page-content-refresh #main .autogrid_wrapper.adjust_mobile > .inner > .mod_article[id^="platzhalter"] {
    display: none;
}

body.page-content-refresh #main .ce_text_imagebox,
body.page-content-refresh #main .ce_text_imagebox .ce_text_imagebox_link,
body.page-content-refresh #main .ce_text_imagebox .ce_text_imagebox_image {
    border-radius: 22px;
}

body.page-content-refresh #main .ce_text_imagebox {
    overflow: hidden;
    border: 0;
    background: #ffffff;
}

body.page-content-refresh #main .ce_text_imagebox .ce_text_imagebox_link {
    display: block;
    overflow: hidden;
    text-decoration: none;
}

body.page-content-refresh #main .ce_text_imagebox .ce_text_imagebox_image {
    position: relative;
    min-height: 270px;
    background-position: center;
    background-size: cover;
}

body.page-content-refresh #main .ce_text_imagebox .ce_text_imagebox_image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12, 27, 44, 0.05) 0%, rgba(12, 27, 44, 0.14) 55%, rgba(12, 27, 44, 0.72) 100%);
}

body.page-content-refresh #main .ce_text_imagebox .inside {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    min-height: 128px;
    padding: 18px 18px 16px;
    background: linear-gradient(180deg, rgba(16, 58, 110, 0) 0%, rgba(16, 58, 110, 0.78) 48%, rgba(16, 58, 110, 0.94) 100%);
}

body.page-content-refresh #main .ce_text_imagebox .content {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: flex-end;
}

body.page-content-refresh #main .ce_text_imagebox .content p,
body.page-content-refresh #main .ce_text_imagebox .content strong {
    margin: 0;
    color: #ffffff !important;
    font-family: var(--casaconvent-font-family);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    text-align: left !important;
    text-shadow: none;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
    text-wrap: balance;
}

body.page-content-refresh #main .ce_text_imagebox .content strong {
    display: inline;
}

body.page-content-refresh #main .ce_text_imagebox:hover .ce_text_imagebox_image::before {
    background: linear-gradient(180deg, rgba(12, 27, 44, 0.02) 0%, rgba(12, 27, 44, 0.1) 48%, rgba(16, 58, 110, 0.82) 100%);
}

body.page-content-refresh #main .mod_hofff_shariff,
body.page-content-refresh #main .shariff,
body.page-content-refresh #main .shariff ul {
    overflow: visible;
}

body.page-content-refresh #main .share-strip .shariff ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

body.page-content-refresh #main .share-strip .shariff li {
    float: none;
    width: 136px !important;
    min-width: 136px;
    max-width: none;
    margin: 0;
}

body.page-content-refresh #main .share-strip .shariff li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    padding: 0 16px;
    white-space: nowrap;
    box-shadow: none !important;
}

body.page-content-refresh.page-kontakt #slider {
    --contact-map-height: clamp(420px, 56vh, 560px);
    height: var(--contact-map-height) !important;
    min-height: var(--contact-map-height) !important;
    margin-bottom: 0;
}

body.page-content-refresh.page-kontakt #slider > .inside,
body.page-content-refresh.page-kontakt #slider #maps-2162,
body.page-content-refresh.page-kontakt #slider .ce_google_map,
body.page-content-refresh.page-kontakt #slider .ce_google_map_inside {
    height: 100% !important;
    min-height: 100% !important;
    margin-bottom: 0;
}

body.page-content-refresh.page-kontakt #slider .contact-map-shell {
    display: flex;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden;
}

body.page-content-refresh.page-kontakt #slider #google-map,
body.page-content-refresh.page-kontakt #slider #google-map iframe,
body.page-content-refresh.page-kontakt #slider .google-maps-placeholder {
    width: 100%;
    height: 100% !important;
}

body.page-content-refresh.page-kontakt #slider #google-map iframe {
    display: block;
    min-height: 100% !important;
}

body.page-content-refresh.page-kontakt #main .contact-overview-grid > .inner {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) repeat(2, minmax(0, 0.96fr));
    gap: 24px;
    align-items: stretch;
}

body.page-content-refresh.page-kontakt #main #autogrid_wrapper_2160 .mod_article {
    float: none;
    width: auto !important;
    margin: 0 !important;
}

body.page-content-refresh.page-kontakt #main .contact-overview-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    border: 1px solid #dde7f0;
    border-radius: 28px;
    background: radial-gradient(circle at top right, rgba(142, 185, 224, 0.16) 0%, rgba(142, 185, 224, 0) 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 248, 252, 0.99) 100%);
}

body.page-content-refresh.page-kontakt #main .contact-overview-card--photo {
    justify-content: center;
}

body.page-content-refresh.page-kontakt #main #autogrid_wrapper_2160 .ce_image,
body.page-content-refresh.page-kontakt #main #autogrid_wrapper_2160 .ce_iconbox,
body.page-content-refresh.page-kontakt #main #autogrid_wrapper_2160 .ce_hyperlink,
body.page-content-refresh.page-kontakt #main #autogrid_wrapper_2160 .autogrid_wrapper {
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.page-content-refresh.page-kontakt #main .contact-portrait {
    margin: 0;
}

body.page-content-refresh.page-kontakt #main .contact-portrait img {
    display: block;
    width: 100%;
    max-width: 360px;
    height: auto;
    margin: 0 auto;
    border-radius: 24px;
    box-shadow: 0 16px 34px rgba(24, 57, 92, 0.12);
}

body.page-content-refresh.page-kontakt #main .contact-detail-block .ce_iconbox_inside {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

body.page-content-refresh.page-kontakt #main .contact-detail-block i.fa {
    margin-top: 3px;
}

body.page-content-refresh.page-kontakt #main .contact-detail-block .headline {
    margin: 0 0 6px;
    font-size: 17px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    word-break: normal;
    overflow-wrap: anywhere;
}

body.page-content-refresh.page-kontakt #main .contact-detail-block--compact {
    margin-top: auto !important;
}

body.page-content-refresh.page-kontakt #main .contact-copy {
    margin: 0;
    color: #14559b !important;
    font-size: 17px;
    line-height: 1.75;
}

body.page-content-refresh.page-kontakt #main .contact-copy a {
    color: inherit;
    text-decoration: none;
}

body.page-content-refresh.page-kontakt #main .contact-copy a:hover,
body.page-content-refresh.page-kontakt #main .contact-copy a:focus {
    text-decoration: underline;
}

body.page-content-refresh.page-kontakt #main .contact-copy-muted {
    color: inherit;
}

body.page-content-refresh.page-kontakt #main .contact-cta {
    margin-top: 0 !important;
}

body.page-content-refresh.page-kontakt #main .contact-cta a {
    width: 100%;
    justify-content: center;
    min-height: 48px;
    padding: 12px 16px;
    font-size: 14px !important;
    line-height: 1.2;
}

body.page-content-refresh.page-beratung #main #online-beratung {
    margin-top: 6px;
}

body.page-content-refresh.page-beratung #main .beratung-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
    gap: 34px;
    align-items: center;
    padding: 34px;
    border: 1px solid #dde7f0;
    border-radius: 30px;
    background: radial-gradient(circle at top right, rgba(142, 185, 224, 0.2) 0%, rgba(142, 185, 224, 0) 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 248, 252, 0.99) 100%);
}

body.page-content-refresh.page-beratung #main .beratung-stage-copy {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

body.page-content-refresh.page-beratung #main .beratung-stage-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(20, 85, 155, 0.1);
    color: #14559b;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-content-refresh.page-beratung #main .beratung-stage h2 {
    margin: 0;
    color: #1f3551;
    font-family: var(--casaconvent-font-family);
    font-size: clamp(32px, 3.3vw, 44px);
    font-weight: 700;
    line-height: 1.08;
    text-wrap: balance;
}

body.page-content-refresh.page-beratung #main .beratung-stage-lead {
    margin: 0;
    max-width: 620px;
    color: #5a6e82 !important;
    font-size: 18px;
    line-height: 1.7;
}

body.page-content-refresh.page-beratung #main .beratung-stage-steps {
    display: grid;
    gap: 14px;
    margin-top: 2px;
}

body.page-content-refresh.page-beratung #main .beratung-step {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 16px 18px;
    border: 1px solid #d9e4ee;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
}

body.page-content-refresh.page-beratung #main .beratung-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(180deg, #14559b 0%, #2c75bc 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

body.page-content-refresh.page-beratung #main .beratung-step p {
    margin: 0;
    color: #4f6479 !important;
    font-size: 17px;
    line-height: 1.65;
}

body.page-content-refresh.page-beratung #main .beratung-stage-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 6px;
}

body.page-content-refresh.page-beratung #main .beratung-stage-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 58px;
    padding: 16px 24px;
    border-radius: 16px;
    background: linear-gradient(180deg, #14559b 0%, #0f4b88 100%);
    border: 1px solid #14559b;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(20, 85, 155, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.page-content-refresh.page-beratung #main .beratung-stage-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 30px rgba(20, 85, 155, 0.22);
    background: linear-gradient(180deg, #165ea8 0%, #114f91 100%);
}

body.page-content-refresh.page-beratung #main .beratung-stage-note {
    margin: 0;
    color: #73879a !important;
    font-size: 14px;
    line-height: 1.5;
}

body.page-content-refresh.page-beratung #main .beratung-stage-visual {
    position: relative;
}

body.page-content-refresh.page-beratung #main .beratung-stage-image-frame {
    position: relative;
    padding: 18px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(233, 241, 248, 0.9) 0%, rgba(255, 255, 255, 0.98) 100%);
}

body.page-content-refresh.page-beratung #main .beratung-stage-image-frame::before {
    content: "";
    position: absolute;
    inset: 12px 18px auto auto;
    width: 110px;
    height: 110px;
    border-radius: 28px;
    background: radial-gradient(circle, rgba(20, 85, 155, 0.16) 0%, rgba(20, 85, 155, 0) 72%);
    pointer-events: none;
}

body.page-content-refresh.page-beratung #main .beratung-stage-image-frame img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 22px;
}

/* Altersvorsorgedepot page: numbered content cards, subsidy fact tiles and check lists */
body.page-content-refresh.page-altersvorsorgedepot #main #altersvorsorgedepot {
    margin-top: 6px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-flow {
    display: grid;
    gap: 24px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 34px;
    border: 1px solid #dde7f0;
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 249, 253, 0.98) 100%);
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-intro,
body.page-content-refresh.page-altersvorsorgedepot #main .pension-card--webinar {
    background: radial-gradient(circle at top right, rgba(142, 185, 224, 0.2) 0%, rgba(142, 185, 224, 0) 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 248, 252, 0.99) 100%);
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card--webinar {
    border-color: rgba(20, 85, 155, 0.28);
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card p,
body.page-content-refresh.page-altersvorsorgedepot #main .pension-card li {
    margin: 0;
    color: #5f6f80;
    font-size: var(--casaconvent-body-size);
    line-height: var(--casaconvent-body-line-height);
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 4px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card-number {
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(180deg, #14559b 0%, #2c75bc 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card h2 {
    margin: 0;
    color: #1f3551;
    font-size: var(--casaconvent-heading-lg) !important;
    line-height: 1.2 !important;
    hyphens: auto;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card h3 {
    margin: 12px 0 0;
    color: #1f3551;
    font-size: var(--casaconvent-heading-sm) !important;
    line-height: 1.35 !important;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-lead {
    color: #1f3551;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-question {
    margin-top: 4px;
    padding-top: 16px;
    border-top: 1px solid #dde7f0;
    color: #14559b;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-bullets,
body.page-content-refresh.page-altersvorsorgedepot #main .pension-checklist {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-bullets li {
    position: relative;
    margin: 0;
    padding-left: 24px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-bullets li::before {
    content: "";
    position: absolute;
    top: calc(0.85em - 4px);
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2e7fc3;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-checklist li {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid #d9e4ee;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    color: #4f6479;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-checklist li i.fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(20, 85, 155, 0.1);
    color: #14559b;
    font-size: 13px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-notice {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 6px;
    padding: 16px 20px;
    border: 1px solid #f0d9a8;
    border-left: 4px solid #e0a526;
    border-radius: 16px;
    background: #fff8e8;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-notice i.fa {
    color: #c98a0b;
    font-size: 18px;
    line-height: 28px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-notice p {
    color: #6b5a33;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-notice strong {
    color: #8a5d00;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-fact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px 22px;
    border: 1px solid #d9e4ee;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-fact-value {
    color: #14559b;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-fact p {
    color: #4f6479;
    font-size: 16px;
    line-height: 1.6;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-fact--highlight {
    border-color: #14559b;
    background: linear-gradient(180deg, #14559b 0%, #0f4b88 100%);
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-fact--highlight .pension-fact-value,
body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-fact--highlight p {
    color: #ffffff;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-facts--single {
    grid-template-columns: minmax(0, 1fr);
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-facts--single .pension-fact {
    flex-direction: row;
    align-items: center;
    gap: 22px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-facts--single .pension-fact-value {
    flex: 0 0 auto;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-summary {
    padding: 18px 20px;
    border-radius: 16px;
    background: rgba(20, 85, 155, 0.06);
    color: #2f4a66;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-note {
    margin-top: 4px;
    padding-top: 16px;
    border-top: 1px solid #dde7f0;
    color: #73879a;
    font-size: 15px;
    line-height: 1.6;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-contact {
    display: grid;
    gap: 18px;
    margin-top: 8px;
}

body.page-content-refresh.page-altersvorsorgedepot #main .pension-contact-intro {
    max-width: 760px;
    margin: 0 auto;
    color: #1f3551;
    font-size: 19px;
    line-height: 1.5;
    text-align: center;
}

body.page-content-refresh.page-referenzen #main .references-flow {
    display: grid;
    gap: 26px;
    margin-top: 8px;
}

body.page-content-refresh.page-referenzen #main .reference-band {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
    padding: 28px;
    border: 1px solid #dde7f0;
    border-radius: 28px;
    background: radial-gradient(circle at top right, rgba(142, 185, 224, 0.16) 0%, rgba(142, 185, 224, 0) 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 248, 252, 0.99) 100%);
}

body.page-content-refresh.page-referenzen #main .reference-band.is-reverse {
    grid-template-columns: minmax(0, 1fr) 240px;
}

body.page-content-refresh.page-referenzen #main .reference-band.is-reverse .reference-band-media {
    order: 2;
}

body.page-content-refresh.page-referenzen #main .reference-band.is-reverse .reference-band-copy {
    order: 1;
}

body.page-content-refresh.page-referenzen #main .reference-band-media {
    display: flex;
    align-items: center;
    justify-content: center;
}

body.page-content-refresh.page-referenzen #main .reference-avatar-card,
body.page-content-refresh.page-referenzen #main .reference-avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 220px;
    aspect-ratio: 1 / 1;
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(232, 240, 247, 0.9) 0%, rgba(255, 255, 255, 1) 100%);
}

body.page-content-refresh.page-referenzen #main .reference-avatar-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
}

body.page-content-refresh.page-referenzen #main .reference-avatar-placeholder {
    border: 1px solid #d7e2ec;
    color: #14559b;
    font-size: 52px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

body.page-content-refresh.page-referenzen #main .reference-band-copy {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.page-content-refresh.page-referenzen #main .reference-band-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

body.page-content-refresh.page-referenzen #main .reference-band-stars {
    color: #c8952d;
    font-size: 18px;
    letter-spacing: 0.12em;
}

body.page-content-refresh.page-referenzen #main .reference-band-location {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(20, 85, 155, 0.08);
    color: #14559b;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.page-content-refresh.page-referenzen #main .reference-band h2 {
    margin: 0;
    color: #1f3551;
    font-family: var(--casaconvent-font-family);
    font-size: clamp(28px, 2.8vw, 38px);
    font-weight: 700;
    line-height: 1.12;
    text-wrap: balance;
}

body.page-content-refresh.page-referenzen #main .reference-band-quote {
    display: grid;
    gap: 10px;
}

body.page-content-refresh.page-referenzen #main .reference-band-quote p {
    margin: 0;
    color: #54697d !important;
    font-size: 17px;
    line-height: 1.72;
}

body.page-content-refresh.page-referenzen #main .reference-band-author {
    margin: 2px 0 0;
    color: #1f3551 !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-intro .ce_textarea > :first-child {
    margin: 0 0 8px;
    color: #1f3551;
    font-family: var(--casaconvent-font-family);
    font-size: clamp(30px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.12;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-intro-note {
    margin: 0;
    color: #667c91 !important;
    font-size: 14px !important;
    line-height: 1.7;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-content {
    padding: 34px;
    border: 1px solid #dde7f0;
    border-radius: 30px;
    background: radial-gradient(circle at top right, rgba(142, 185, 224, 0.16) 0%, rgba(142, 185, 224, 0) 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 248, 252, 0.99) 100%);
}

body.page-content-refresh.page-erstinformation #main .erstinformation-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 22px 0;
    overflow: hidden;
    border-radius: 18px;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-content td {
    padding: 18px 20px;
    border: 1px solid #d8e2ec;
    vertical-align: top;
    background: rgba(255, 255, 255, 0.88);
}

body.page-content-refresh.page-erstinformation #main .erstinformation-downloads-title {
    margin: 36px 0 0;
    color: #1f3551 !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-download-grid > .inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-download-item {
    float: none;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-download-item--wide {
    margin-top: 18px !important;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-download-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    min-height: 68px;
    padding: 20px 22px;
    border: 1px solid #d5e0eb;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(242, 247, 252, 0.98) 100%);
    color: #1f3551 !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(20, 85, 155, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-download-link::after {
    content: "\f019";
    flex: 0 0 auto;
    font-family: FontAwesome;
    font-size: 18px;
    color: #14559b;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-download-link:hover,
body.page-content-refresh.page-erstinformation #main .erstinformation-download-link:focus {
    transform: translateY(-1px);
    border-color: #b8cde2;
    box-shadow: 0 18px 30px rgba(20, 85, 155, 0.14);
}

body.page-content-refresh.page-erstinformation #main .erstinformation-backlink-wrap {
    margin-top: 10px !important;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-backlink {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #14559b !important;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-backlink::before {
    content: "\f060";
    font-family: FontAwesome;
    font-size: 14px;
}

body.page-content-refresh.page-erstinformation #main .erstinformation-backlink:hover,
body.page-content-refresh.page-erstinformation #main .erstinformation-backlink:focus {
    text-decoration: underline;
}

/* Vormals doppelte Handy-/Desktop-Textblöcke: mobil ohne Zusatz-Innenabstand */
@media only screen and (max-width: 767px) {
    .ce-plain.pl-20 {
        padding-left: 0 !important;
    }

    .ce-plain.pr-20 {
        padding-right: 0 !important;
    }
}

.ce_accordion .accordion[hidden] {
    display: none !important;
}

body.page-content-refresh #main .calculator-notice {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 32px;
    padding: 18px 22px;
    border: 1px solid #f0d9a8;
    border-radius: 18px;
    background: #fff8e8;
}

body.page-content-refresh #main .calculator-notice i.fa {
    flex: 0 0 auto;
    color: #b7791f;
    font-size: 22px;
}

body.page-content-refresh #main .calculator-notice p {
    margin: 0;
    color: #6b4a12 !important;
    font-weight: 700;
}

body.page-content-refresh #main .related-links {
    clear: both;
    margin: 48px 0 0;
}

body.page-content-refresh #main .related-links__title {
    margin: 0 0 18px !important;
    color: #1f3551;
    font-size: var(--casaconvent-heading-md) !important;
    text-align: left;
}

body.page-content-refresh #main .related-links__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.page-content-refresh #main .related-links__list li {
    margin: 0;
    padding: 0;
}

body.page-content-refresh #main .related-links__list li::before {
    content: none;
}

body.page-content-refresh #main .related-links__item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    height: 100%;
    padding: 18px 20px;
    border: 1px solid #dde7f0;
    border-radius: 18px;
    background: #ffffff;
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

body.page-content-refresh #main .related-links__item:hover,
body.page-content-refresh #main .related-links__item:focus {
    border-color: #2e7fc3;
    transform: translateY(-1px);
}

body.page-content-refresh #main .related-links__name {
    color: #14559b;
    font-weight: 700;
}

body.page-content-refresh #main .related-links__text {
    color: #5f6f80;
    font-size: 14px;
    line-height: 1.45;
}

@media only screen and (max-width: 1180px) {
    body.page-content-refresh #main .ce_headline_extended h1,
    body.page-content-refresh #main .ce_headline_extended h2,
    body.page-content-refresh #main .ce_headline_extended h3 {
        font-size: clamp(30px, 5vw, 44px);
    }

    body.page-content-refresh #main .ce_bgimage-inside,
    body.page-content-refresh #main .ce_frame_start_inside,
    body.page-content-refresh #main .mod_article > .ce_text:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_image:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_iconbox:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_hyperlink:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain) {
        padding: 28px 28px !important;
    }

    body.page-content-refresh.page-beratung #main .beratung-stage {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 28px;
    }

    body.page-content-refresh.page-kontakt #main .contact-overview-grid > .inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-content-refresh.page-kontakt #main .contact-overview-card--photo {
        grid-column: 1 / -1;
    }

    body.page-content-refresh.page-erstinformation #main .erstinformation-content {
        padding: 28px;
    }

    body.page-content-refresh.page-beratung #main .beratung-stage-visual {
        order: -1;
    }

    body.page-content-refresh.page-referenzen #main .reference-band,
    body.page-content-refresh.page-referenzen #main .reference-band.is-reverse {
        grid-template-columns: 200px minmax(0, 1fr);
        gap: 22px;
        padding: 24px;
    }

    body.page-content-refresh.page-referenzen #main .reference-band.is-reverse .reference-band-media,
    body.page-content-refresh.page-referenzen #main .reference-band.is-reverse .reference-band-copy {
        order: initial;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card {
        padding: 28px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-facts:not(.pension-facts--single) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-fact--highlight {
        grid-column: 1 / -1;
    }
}

@media only screen and (max-width: 767px) {
    body.page-content-refresh #main > .inside {
        padding-top: 24px;
    }

    body.page-content-refresh #main .mod_article,
    body.page-content-refresh #main .autogrid_wrapper.article,
    body.page-content-refresh #main .autogrid_wrapper.cte {
        margin-bottom: 18px;
    }

    body.page-content-refresh #main .ce_headline_extended h1,
    body.page-content-refresh #main .ce_headline_extended h2,
    body.page-content-refresh #main .ce_headline_extended h3 {
        font-size: 31px;
    }

    body.page-content-refresh #main .ce_text_extented.align-center .ce_textarea p,
    body.page-content-refresh #main .ce_text_extented.align-center p {
        font-size: 17px;
    }

    body.page-content-refresh #main .ce_bgimage,
    body.page-content-refresh #main .ce_frame_start_inside,
    body.page-content-refresh #main .ce_text_image_bar .inside,
    body.page-content-refresh #main .ce_imagebox,
    body.page-content-refresh #main .ce_accordionSingle,
    body.page-content-refresh #main .ce_table,
    body.page-content-refresh #main .ce_form,
    body.page-content-refresh #main .mod_article > .ce_text:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_image:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_iconbox:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_hyperlink:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain) {
        border-radius: 20px;
    }

    body.page-content-refresh #main .ce_bgimage-inside,
    body.page-content-refresh #main .ce_frame_start_inside,
    body.page-content-refresh #main .mod_article > .ce_text:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_image:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_iconbox:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain),
    body.page-content-refresh #main .mod_article > .ce_hyperlink:not(.hide-on-mobile):not(.hide-on-desktop):not(.ce-plain) {
        padding: 22px 20px !important;
    }

    body.page-content-refresh #main .ce_text,
    body.page-content-refresh #main .ce_text p,
    body.page-content-refresh #main .ce_text li,
    body.page-content-refresh #main .ce_textarea,
    body.page-content-refresh #main .ce_textarea p,
    body.page-content-refresh #main .ce_frame_start p,
    body.page-content-refresh #main .ce_frame_start li,
    body.page-content-refresh #main .ce_form,
    body.page-content-refresh #main .ce_form label,
    body.page-content-refresh #main .ce_form .widget {
        font-size: 16px;
        line-height: 1.65;
    }

    body.page-content-refresh #main .ce_hyperlink-extended a,
    body.page-content-refresh #main a.btn,
    body.page-content-refresh #main .submit {
        width: 100%;
        min-height: 50px;
        padding: 13px 18px;
        border-radius: 12px;
        font-size: 14px;
    }

    body.page-content-refresh #main .ce_text_imagebox .ce_text_imagebox_image {
        min-height: 220px;
    }

    body.page-content-refresh.page-beratung #main #online-beratung {
        margin-top: 0;
    }

    body.page-content-refresh.page-kontakt #slider .contact-map-shell {
        height: 100% !important;
        min-height: 100% !important;
    }

    body.page-content-refresh.page-kontakt #main .contact-overview-grid > .inner {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    body.page-content-refresh.page-kontakt #main .contact-overview-card {
        gap: 18px;
        padding: 20px;
        border-radius: 22px;
    }

    body.page-content-refresh.page-kontakt #main .contact-portrait img {
        max-width: 240px;
        border-radius: 18px;
    }

    body.page-content-refresh.page-kontakt #main .contact-copy {
        font-size: 15px;
        line-height: 1.68;
    }

    body.page-content-refresh.page-erstinformation #main .erstinformation-intro .ce_textarea > :first-child {
        font-size: 31px;
    }

    body.page-content-refresh.page-erstinformation #main .erstinformation-content {
        padding: 20px;
        border-radius: 22px;
    }

    body.page-content-refresh.page-erstinformation #main .erstinformation-content table,
    body.page-content-refresh.page-erstinformation #main .erstinformation-content tbody,
    body.page-content-refresh.page-erstinformation #main .erstinformation-content tr,
    body.page-content-refresh.page-erstinformation #main .erstinformation-content td {
        display: block;
        width: 100% !important;
    }

    body.page-content-refresh.page-erstinformation #main .erstinformation-content td {
        padding: 15px 16px;
    }

    body.page-content-refresh.page-erstinformation #main .erstinformation-download-grid > .inner {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    body.page-content-refresh.page-erstinformation #main .erstinformation-download-item--wide {
        margin-top: 14px !important;
    }

    body.page-content-refresh.page-erstinformation #main .erstinformation-download-link {
        min-height: 60px;
        padding: 16px 18px;
        border-radius: 16px;
        font-size: 15px;
    }

    body.page-content-refresh.page-beratung #main .beratung-stage {
        gap: 20px;
        padding: 20px;
        border-radius: 22px;
    }

    body.page-content-refresh.page-beratung #main .beratung-stage-kicker {
        min-height: 30px;
        padding: 6px 12px;
        font-size: 12px;
    }

    body.page-content-refresh.page-beratung #main .beratung-stage h2 {
        font-size: 30px;
    }

    body.page-content-refresh.page-beratung #main .beratung-stage-lead {
        font-size: 16px;
        line-height: 1.65;
    }

    body.page-content-refresh.page-beratung #main .beratung-step {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
        border-radius: 16px;
    }

    body.page-content-refresh.page-beratung #main .beratung-step-number {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        font-size: 16px;
    }

    body.page-content-refresh.page-beratung #main .beratung-step p {
        font-size: 15px;
        line-height: 1.6;
    }

    body.page-content-refresh.page-beratung #main .beratung-stage-button {
        width: 100%;
        min-height: 54px;
        padding: 14px 18px;
        border-radius: 14px;
        font-size: 15px;
        text-align: center;
    }

    body.page-content-refresh.page-beratung #main .beratung-stage-image-frame {
        padding: 12px;
        border-radius: 20px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-flow {
        gap: 18px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card {
        gap: 12px;
        padding: 22px 20px;
        border-radius: 22px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card p,
    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card li {
        font-size: 16px;
        line-height: 1.65;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card-header {
        align-items: flex-start;
        gap: 12px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card-number {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
        border-radius: 12px;
        font-size: 16px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card h2 {
        font-size: 24px !important;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-lead,
    body.page-content-refresh.page-altersvorsorgedepot #main .pension-card .pension-question,
    body.page-content-refresh.page-altersvorsorgedepot #main .pension-contact-intro {
        font-size: 18px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-checklist,
    body.page-content-refresh.page-altersvorsorgedepot #main .pension-facts:not(.pension-facts--single) {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-checklist li {
        padding: 10px 12px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-notice {
        padding: 14px 16px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-facts--single .pension-fact {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    body.page-content-refresh.page-altersvorsorgedepot #main .pension-fact-value {
        font-size: 24px;
    }

    body.page-content-refresh.page-referenzen #main .references-flow {
        gap: 18px;
        margin-top: 0;
    }

    body.page-content-refresh.page-referenzen #main .reference-band,
    body.page-content-refresh.page-referenzen #main .reference-band.is-reverse {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 20px;
        border-radius: 22px;
    }

    body.page-content-refresh.page-referenzen #main .reference-band-media {
        justify-content: flex-start;
    }

    body.page-content-refresh.page-referenzen #main .reference-avatar-card,
    body.page-content-refresh.page-referenzen #main .reference-avatar-placeholder {
        max-width: 120px;
        border-radius: 18px;
    }

    body.page-content-refresh.page-referenzen #main .reference-avatar-placeholder {
        font-size: 34px;
    }

    body.page-content-refresh.page-referenzen #main .reference-band h2 {
        font-size: 28px;
    }

    body.page-content-refresh.page-referenzen #main .reference-band-quote p {
        font-size: 15px;
        line-height: 1.64;
    }

    body.page-content-refresh.page-referenzen #main .reference-band-author {
        font-size: 15px;
    }

    body.page-content-refresh #main .contact-form .formbody {
        padding: 22px 20px 20px;
    }

    body.page-content-refresh #main .contact-form .widget {
        margin-bottom: 14px;
    }

    body.page-content-refresh #main .contact-form input.text,
    body.page-content-refresh #main .contact-form input.captcha,
    body.page-content-refresh #main .contact-form input[type="email"],
    body.page-content-refresh #main .contact-form input[type="tel"],
    body.page-content-refresh #main .contact-form input[type="number"],
    body.page-content-refresh #main .contact-form textarea,
    body.page-content-refresh #main .contact-form select {
        min-height: 54px;
        padding: 14px 16px;
        border-radius: 14px;
        font-size: 15px;
    }

    body.page-content-refresh #main .contact-form .formicon-wrapper input.text,
    body.page-content-refresh #main .contact-form .formicon-wrapper input[type="email"],
    body.page-content-refresh #main .contact-form .formicon-wrapper input[type="tel"] {
        padding-left: 48px;
    }

    body.page-content-refresh #main .contact-form textarea {
        min-height: 160px;
    }

    body.page-content-refresh #main .contact-form fieldset.radio_container > span {
        width: 100%;
        border-radius: 16px;
    }

    body.page-content-refresh #main .contact-form-consent {
        padding: 14px;
    }

    body.page-content-refresh #main .contact-form .submit {
        width: 100%;
        min-width: 0;
    }

    body.page-content-refresh #main .ce_text_imagebox .inside {
        min-height: 104px;
        padding: 14px 14px 13px;
    }

    body.page-content-refresh #main .ce_text_imagebox .content p,
    body.page-content-refresh #main .ce_text_imagebox .content strong {
        font-size: 15px;
        line-height: 1.3;
    }

    body.page-content-refresh #main .ce_text_imagebox .content {
        min-height: 40px;
    }

    body.page-content-refresh #main .share-strip .shariff li {
        min-width: calc(50% - 5px);
        width: calc(50% - 5px) !important;
    }
}

:root {
    --casaconvent-font-family: Helvetica, Arial, sans-serif;
    --casaconvent-heading-xl: clamp(32px, 4vw, 44px);
    --casaconvent-heading-lg: clamp(26px, 3vw, 34px);
    --casaconvent-heading-md: 24px;
    --casaconvent-heading-sm: 20px;
    --casaconvent-body-size: 17px;
    --casaconvent-body-line-height: 1.7;
}

body,
button,
input,
select,
textarea {
    font-family: var(--casaconvent-font-family);
}

h1,
h2,
h3,
h4,
h5,
h6,
.mainmenu ul li a,
.header-booking-btn,
#top,
#footer,
#bottom {
    font-family: var(--casaconvent-font-family);
}

#slider.hero-slider .hero-slide-eyebrow,
#slider.hero-slider .hero-slide-copy h1,
#slider.hero-slider .hero-slide-copy h2,
#slider.hero-slider .hero-slide-copy h3,
#slider.hero-slider .hero-slide-copy p,
#slider.hero-slider .hero-slide-btn,
#slider.subpage-slider .subpage-slide-copy h1,
#slider.subpage-slider .subpage-slide-copy h2,
#slider.subpage-slider .subpage-slide-copy h3,
#slider.subpage-slider .subpage-slide-copy h4,
#slider.subpage-slider .subpage-slide-copy h5,
#slider.subpage-slider .subpage-slide-copy h6,
#slider.subpage-slider .subpage-slide-copy p,
.start-intro__eyebrow,
.start-intro__header h1,
.start-intro__header p,
.start-intro__person strong,
.start-intro__person span,
.start-intro__content h2,
.start-intro__content p {
    font-family: var(--casaconvent-font-family) !important;
}

body.page-content-refresh #main h1,
body.page-content-refresh #main h2,
body.page-content-refresh #main h3,
body.page-content-refresh #main h4,
body.page-content-refresh #main h5,
body.page-content-refresh #main h6,
body.page-content-refresh #main .ce_headline_extended h1,
body.page-content-refresh #main .ce_headline_extended h2,
body.page-content-refresh #main .ce_headline_extended h3,
body.page-content-refresh.page-beratung #main .beratung-stage h2,
body.page-content-refresh.page-referenzen #main .reference-band h2,
body.page-content-refresh.page-erstinformation #main .erstinformation-intro .ce_textarea > :first-child {
    font-family: var(--casaconvent-font-family) !important;
    font-size: var(--casaconvent-heading-xl) !important;
    font-weight: 700;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
}

body.page-content-refresh #main h3,
body.page-content-refresh #main .ce_text_imagebox .content strong {
    font-size: var(--casaconvent-heading-md) !important;
    line-height: 1.3 !important;
}

body.page-content-refresh #main h4 {
    font-size: var(--casaconvent-heading-sm) !important;
    line-height: 1.35 !important;
}

body.page-content-refresh #main .ce_text,
body.page-content-refresh #main .ce_text p,
body.page-content-refresh #main .ce_text li,
body.page-content-refresh #main .ce_textarea,
body.page-content-refresh #main .ce_textarea p,
body.page-content-refresh #main .ce_frame_start p,
body.page-content-refresh #main .ce_frame_start li,
body.page-content-refresh #main .ce_form,
body.page-content-refresh #main .ce_form label,
body.page-content-refresh #main .ce_form .widget,
body.page-content-refresh #main .ce_text_extented.align-center .ce_textarea p,
body.page-content-refresh #main .ce_text_extented.align-center p,
body.page-content-refresh.page-beratung #main .beratung-stage-lead,
body.page-content-refresh.page-beratung #main .beratung-step p,
body.page-content-refresh.page-referenzen #main .reference-band-quote p,
body.page-content-refresh.page-referenzen #main .reference-band-author,
body.page-content-refresh.page-erstinformation #main .erstinformation-intro-note {
    font-family: var(--casaconvent-font-family) !important;
    font-size: var(--casaconvent-body-size) !important;
    line-height: var(--casaconvent-body-line-height) !important;
}

@media only screen and (max-width: 767px) {
    body.page-content-refresh #main h1,
    body.page-content-refresh #main h2,
    body.page-content-refresh #main .ce_headline_extended h1,
    body.page-content-refresh #main .ce_headline_extended h2,
    body.page-content-refresh #main .ce_headline_extended h3,
    body.page-content-refresh.page-beratung #main .beratung-stage h2,
    body.page-content-refresh.page-referenzen #main .reference-band h2,
    body.page-content-refresh.page-erstinformation #main .erstinformation-intro .ce_textarea > :first-child {
        font-size: var(--casaconvent-heading-lg) !important;
    }

    body.page-content-refresh #main .ce_text,
    body.page-content-refresh #main .ce_text p,
    body.page-content-refresh #main .ce_text li,
    body.page-content-refresh #main .ce_textarea,
    body.page-content-refresh #main .ce_textarea p,
    body.page-content-refresh #main .ce_frame_start p,
    body.page-content-refresh #main .ce_frame_start li,
    body.page-content-refresh #main .ce_form,
    body.page-content-refresh #main .ce_form label,
    body.page-content-refresh #main .ce_form .widget,
    body.page-content-refresh #main .ce_text_extented.align-center .ce_textarea p,
    body.page-content-refresh #main .ce_text_extented.align-center p,
    body.page-content-refresh.page-beratung #main .beratung-stage-lead,
    body.page-content-refresh.page-beratung #main .beratung-step p,
    body.page-content-refresh.page-referenzen #main .reference-band-quote p,
    body.page-content-refresh.page-referenzen #main .reference-band-author,
    body.page-content-refresh.page-erstinformation #main .erstinformation-intro-note {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }
}

body p,
body a,
body span,
body strong,
body b,
body em,
body small,
body li,
body dt,
body dd,
body blockquote,
body cite,
body figcaption,
body label,
body legend,
body th,
body td,
body button,
body input,
body select,
body textarea,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    font-family: var(--casaconvent-font-family) !important;
}

body .fa,
body i.fa,
body i[class^="fa-"],
body i[class*=" fa-"],
body .shariff .fa,
body .mod_socials i,
body .ce_iconbox i[class*="fa-"] {
    font-family: FontAwesome !important;
}

/* =============================================================================
 * Seite: Immobilien (vormals Inline-Styles in immobilien.php)
 * ========================================================================== */
:where(body.page-immobilien) #slider.immobilien-hero,
:where(body.page-immobilien) .immobilien-breadcrumb,
:where(body.page-immobilien) .immobilien-page {
    --immobilien-accent: #2e7fc3;
    --immobilien-accent-dark: #14559b;
    --immobilien-ink: #1f3551;
    --immobilien-copy: #5f6f80;
    --immobilien-muted: #7d8c99;
    --immobilien-border: #e5edf4;
    --immobilien-surface: #ffffff;
    --immobilien-surface-soft: linear-gradient(180deg, #f7f9fc 0%, #eff4f8 100%);
    --immobilien-shadow: none;
}

:where(body.page-immobilien) #slider.immobilien-hero {
    position: relative;
    background: #eaf1f7;
}

:where(body.page-immobilien) #slider.immobilien-hero > .inside,
:where(body.page-immobilien) #slider.immobilien-hero #headerimage-3271 {
    max-width: none;
    padding: 0;
}

:where(body.page-immobilien) #slider.immobilien-hero .ce_revolutionslider,
:where(body.page-immobilien) #slider.immobilien-hero .rs-container,
:where(body.page-immobilien) #slider.immobilien-hero .fullwidthbanner-container,
:where(body.page-immobilien) #slider.immobilien-hero .tp-simpleresponsive,
:where(body.page-immobilien) #slider.immobilien-hero .tp-simpleresponsive > ul,
:where(body.page-immobilien) #slider.immobilien-hero .tp-simpleresponsive > ul > li {
    min-height: 540px !important;
}

:where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__slide {
    position: relative;
}

:where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(16, 37, 59, 0.78) 0%, rgba(16, 37, 59, 0.46) 38%, rgba(16, 37, 59, 0.18) 100%);
    z-index: 1;
}

:where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__caption {
    z-index: 2 !important;
}

:where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: min(540px, calc(100vw - 120px));
    padding: 34px 36px 32px !important;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.1) 100%);
    backdrop-filter: blur(14px);
    box-shadow: none;
}

:where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__panel h2 {
    order: 1;
    margin: 0 0 14px;
    color: #ffffff;
    font-family: var(--casaconvent-font-family);
    font-size: 44px;
    font-weight: 700;
    line-height: 1.05;
    text-transform: none;
}

:where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__panel p {
    order: 2;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--casaconvent-font-family);
    font-size: 18px;
    line-height: 1.45;
}

:where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__cta {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 28px;
    padding: 0 22px;
    border-radius: 12px;
    background: #ffffff;
    color: var(--immobilien-accent-dark) !important;
    font-family: var(--casaconvent-font-family);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

:where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__cta:hover {
    background: #f4f8fb;
    transform: translateY(-1px);
    box-shadow: none;
}

:where(body.page-immobilien) .immobilien-breadcrumb {
    border: 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

:where(body.page-immobilien) .immobilien-breadcrumb .mod_breadcrumb_inside {
    padding-top: 18px;
    padding-bottom: 18px;
}

:where(body.page-immobilien) .immobilien-breadcrumb .pagetitle {
    color: var(--immobilien-ink);
    font-family: var(--casaconvent-font-family);
    font-size: 20px;
    font-weight: 700;
    text-transform: none;
}

:where(body.page-immobilien) .immobilien-breadcrumb ul,
:where(body.page-immobilien) .immobilien-breadcrumb li,
:where(body.page-immobilien) .immobilien-breadcrumb a {
    color: var(--immobilien-muted);
}

:where(body.page-immobilien) .immobilien-intro {
    padding-top: 58px !important;
    padding-bottom: 28px !important;
    text-align: center;
}

:where(body.page-immobilien) .immobilien-intro .ce_image_extended {
    margin-top: 0 !important;
    margin-bottom: 26px;
}

:where(body.page-immobilien) .immobilien-intro .ce_image_extended figure {
    max-width: 420px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: var(--immobilien-shadow);
}

:where(body.page-immobilien) .immobilien-intro .ce_image_extended img {
    display: block;
    width: 100%;
    height: auto;
}

:where(body.page-immobilien) .immobilien-intro .ce_headline_extended {
    margin: 0 !important;
}

:where(body.page-immobilien) .immobilien-intro h1 {
    margin: 0;
    color: var(--immobilien-ink);
    font-family: var(--casaconvent-font-family);
    font-size: 48px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.02em;
    text-transform: none;
}

:where(body.page-immobilien) .immobilien-intro h1 .color-accent {
    color: var(--immobilien-accent);
}

:where(body.page-immobilien) .immobilien-intro .ce_text_extented {
    margin-top: 18px;
}

:where(body.page-immobilien) .immobilien-intro .ce_textarea p {
    display: inline-block;
    margin: 0;
    padding: 0 0 18px;
    color: var(--immobilien-muted);
    font-family: var(--casaconvent-font-family);
    font-size: 16px;
    line-height: 1.45;
    position: relative;
}

:where(body.page-immobilien) .immobilien-intro .ce_textarea p::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 38px;
    height: 2px;
    background: var(--immobilien-accent);
    transform: translateX(-50%);
}

:where(body.page-immobilien) .immobilien-overview-grid,
:where(body.page-immobilien) .immobilien-duo-grid,
:where(body.page-immobilien) .immobilien-highlight-grid {
    margin-top: 0;
}

:where(body.page-immobilien) .immobilien-overview-grid .mod_article,
:where(body.page-immobilien) .immobilien-duo-grid .mod_article,
:where(body.page-immobilien) .immobilien-highlight-grid .mod_article,
:where(body.page-immobilien) .immobilien-feature-card--mobile,
:where(body.page-immobilien) .immobilien-feature-image--mobile,
:where(body.page-immobilien) .immobilien-faq,
:where(body.page-immobilien) .immobilien-links {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_bgimage,
:where(body.page-immobilien) .immobilien-feature-image .ce_bgimage,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_bgimage,
:where(body.page-immobilien) .immobilien-info-card .ce_bgimage,
:where(body.page-immobilien) .immobilien-faq .ce_bgimage {
    overflow: hidden;
    border: 1px solid var(--immobilien-border);
    border-radius: 26px;
    background: var(--immobilien-surface-soft) !important;
    box-shadow: var(--immobilien-shadow);
}

:where(body.page-immobilien) .immobilien-feature-card .ce_bgimage-inside,
:where(body.page-immobilien) .immobilien-feature-image .ce_bgimage-inside,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_bgimage-inside,
:where(body.page-immobilien) .immobilien-info-card .ce_bgimage-inside,
:where(body.page-immobilien) .immobilien-faq .ce_bgimage-inside {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_text_extented,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_text_extented,
:where(body.page-immobilien) .immobilien-info-card .ce_text_extented,
:where(body.page-immobilien) .immobilien-faq .ce_text_extented {
    margin-bottom: 18px !important;
}

:where(body.page-immobilien) .immobilien-info-card .ce_text_extented,
:where(body.page-immobilien) .immobilien-info-card .ce_text {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_textarea p,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_textarea p,
:where(body.page-immobilien) .immobilien-info-card .ce_textarea p,
:where(body.page-immobilien) .immobilien-faq .ce_textarea p {
    color: var(--immobilien-ink) !important;
    font-family: var(--casaconvent-font-family);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.18;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_textarea p strong,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_textarea p strong,
:where(body.page-immobilien) .immobilien-info-card .ce_textarea p strong,
:where(body.page-immobilien) .immobilien-faq .ce_textarea p strong {
    font-weight: inherit;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_text p,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_text p,
:where(body.page-immobilien) .immobilien-info-card .ce_text p,
:where(body.page-immobilien) .immobilien-faq .ce_text p {
    color: var(--immobilien-copy) !important;
    font-size: 15px;
    line-height: 1.65;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_iconbox,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox,
:where(body.page-immobilien) .immobilien-info-card .ce_iconbox {
    margin: 0 0 12px;
    padding-left: 20px;
    padding-right: 20px;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_iconbox_inside,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox_inside,
:where(body.page-immobilien) .immobilien-info-card .ce_iconbox_inside {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    column-gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(46, 127, 195, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
}

:where(body.page-immobilien) .immobilien-feature-card .ce_iconbox_outside,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox_outside,
:where(body.page-immobilien) .immobilien-info-card .ce_iconbox_outside {
    width: 100%;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_iconbox .ce_iconbox_inside,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox .ce_iconbox_inside,
:where(body.page-immobilien) .immobilien-info-card .ce_iconbox .ce_iconbox_inside {
    padding-left: 18px;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_iconbox_inside i.fa,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox_inside i.fa,
:where(body.page-immobilien) .immobilien-info-card .ce_iconbox_inside i.fa {
    display: inline-flex;
    position: static;
    left: auto;
    top: auto;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0;
    align-self: center;
    justify-self: start;
    border-radius: 50%;
    background: rgba(46, 127, 195, 0.12);
    color: var(--immobilien-accent) !important;
    font-size: 14px;
    line-height: 1;
    flex: 0 0 34px;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_iconbox_cwrapper,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox_cwrapper,
:where(body.page-immobilien) .immobilien-info-card .ce_iconbox_cwrapper {
    display: block;
    width: 100%;
    max-width: none;
    margin-left: 0;
    min-width: 0;
    color: var(--immobilien-copy) !important;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_iconbox_cwrapper .content,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox_cwrapper .content,
:where(body.page-immobilien) .immobilien-info-card .ce_iconbox_cwrapper .content {
    display: flex;
    align-items: center;
    min-height: 34px;
    width: 100%;
}

:where(body.page-immobilien) .immobilien-feature-card .ce_iconbox_cwrapper p,
:where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox_cwrapper p,
:where(body.page-immobilien) .immobilien-info-card .ce_iconbox_cwrapper p {
    margin: 0;
    display: block;
    width: 100%;
    color: var(--immobilien-copy) !important;
    font-size: 15px;
    line-height: 1.45;
}

:where(body.page-immobilien) .immobilien-feature-image .ce_bgimage,
:where(body.page-immobilien) .immobilien-feature-image--mobile .ce_image,
:where(body.page-immobilien) .immobilien-link-image .ce_image {
    overflow: hidden;
    border-radius: 26px;
    box-shadow: var(--immobilien-shadow);
}

:where(body.page-immobilien) .immobilien-feature-image .ce_bgimage-inside {
    display: flex;
    align-items: stretch;
    padding: 24px !important;
}

:where(body.page-immobilien) .immobilien-feature-image .ce_image {
    display: flex;
    width: 100%;
    height: 100%;
    padding: 0 !important;
}

:where(body.page-immobilien) .immobilien-feature-image--mobile .ce_image {
    margin-top: 0 !important;
}

:where(body.page-immobilien) .immobilien-feature-image img,
:where(body.page-immobilien) .immobilien-feature-image--mobile img,
:where(body.page-immobilien) .immobilien-link-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

:where(body.page-immobilien) .immobilien-feature-image .ce_image,
:where(body.page-immobilien) .immobilien-link-image .ce_image {
    height: 100%;
}

:where(body.page-immobilien) .immobilien-feature-image figure,
:where(body.page-immobilien) .immobilien-feature-image--mobile figure,
:where(body.page-immobilien) .immobilien-link-image figure {
    margin: 0;
    height: 100%;
}

:where(body.page-immobilien) .immobilien-feature-image .image_container {
    width: 100%;
}

:where(body.page-immobilien) .immobilien-duo-grid,
:where(body.page-immobilien) .immobilien-highlight-grid,
:where(body.page-immobilien) .immobilien-faq,
:where(body.page-immobilien) .immobilien-links,
:where(body.page-immobilien) #betreuung {
    padding-top: 28px !important;
}

:where(body.page-immobilien) .immobilien-info-card .ce_frame_start_inside {
    padding: 34px 18px !important;
}

@media only screen and (min-width: 768px) {
    :where(body.page-immobilien) .immobilien-overview-grid > .inner,
    :where(body.page-immobilien) .immobilien-duo-grid > .inner {
        gap: 24px;
    }

    :where(body.page-immobilien) .immobilien-overview-grid > .inner > .two_third {
        width: calc(66.666% - 8px);
    }

    :where(body.page-immobilien) .immobilien-overview-grid > .inner > .one_third {
        width: calc(33.333% - 16px);
    }

    :where(body.page-immobilien) .immobilien-duo-grid > .inner > .mod_article {
        width: calc(50% - 12px);
        padding-bottom: 0 !important;
    }

    :where(body.page-immobilien) .immobilien-overview-grid > .inner > .autogrid_clear,
    :where(body.page-immobilien) .immobilien-duo-grid > .inner > .autogrid_clear {
        display: none;
    }

}

:where(body.page-immobilien) .immobilien-info-card--wide > .ce_bgimage,
:where(body.page-immobilien) .immobilien-faq > .ce_bgimage {
    margin-left: -1%;
    margin-right: -1%;
}

:where(body.page-immobilien) .immobilien-info-card--wide .ce_bgimage {
    overflow: hidden;
    border: 1px solid var(--immobilien-border);
    border-radius: 26px;
    background: linear-gradient(180deg, #eff5fa 0%, #e8f0f7 100%) !important;
    box-shadow: var(--immobilien-shadow);
}

:where(body.page-immobilien) .immobilien-benefits-panel .ce_bgimage {
    overflow: hidden;
    border-radius: 26px;
    background: linear-gradient(180deg, #173b63 0%, #0f2743 100%) !important;
    box-shadow: none;
}

:where(body.page-immobilien) .immobilien-benefits-panel .ce_bgimage-inside {
    padding: 40px 36px !important;
}

:where(body.page-immobilien) .immobilien-benefits-panel .ce_text p,
:where(body.page-immobilien) .immobilien-benefits-panel .ce_text li {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 15px;
    line-height: 1.65;
}

:where(body.page-immobilien) .immobilien-benefits-panel .ce_text strong {
    color: #ffffff;
}

:where(body.page-immobilien) .immobilien-benefits-panel .ce_text ul {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

:where(body.page-immobilien) .immobilien-benefits-panel .ce_text li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 12px;
}

:where(body.page-immobilien) .immobilien-benefits-panel .ce_text li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #88bde9;
}

:where(body.page-immobilien) .immobilien-link-image figcaption {
    padding: 16px 18px 0;
    color: var(--immobilien-muted);
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
}

:where(body.page-immobilien) .immobilien-faq .ce_bgimage {
    background: linear-gradient(180deg, #f5f8fb 0%, #eef3f8 100%) !important;
}

:where(body.page-immobilien) .immobilien-faq .ce_text_extented.mt-xs {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

:where(body.page-immobilien) .immobilien-faq .ce_accordionSingle {
    margin: 0 0 16px;
    border: 1px solid var(--immobilien-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: none;
    overflow: hidden;
}

:where(body.page-immobilien) .immobilien-faq .ce_accordionSingle.mt-50 {
    margin-top: 0 !important;
}

:where(body.page-immobilien) .immobilien-faq .toggler {
    position: relative;
    padding: 22px 58px 22px 24px;
    color: var(--immobilien-ink);
    font-family: var(--casaconvent-font-family);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
}

:where(body.page-immobilien) .immobilien-faq .toggler::before {
    position: absolute;
    top: 50%;
    right: 22px;
    float: none;
    width: 28px;
    height: 28px;
    margin: -14px 0 0;
    border-radius: 50%;
    background: rgba(46, 127, 195, 0.1);
    color: var(--immobilien-accent);
    font-size: 16px;
    line-height: 28px;
    text-align: center;
}

:where(body.page-immobilien) .immobilien-faq .accordion > div {
    padding: 0 24px 24px;
}

:where(body.page-immobilien) .immobilien-faq .accordion p {
    margin: 0 0 14px;
}

:where(body.page-immobilien) .immobilien-links {
    padding-bottom: 22px !important;
}

:where(body.page-immobilien) .immobilien-links .ce_hyperlink-extended {
    max-width: 900px;
    margin: 0 auto 14px;
}

:where(body.page-immobilien) .immobilien-links .ce_hyperlink-extended a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 62px;
    padding: 18px 24px;
    border: 1px solid var(--immobilien-border);
    border-radius: 18px;
    background: var(--immobilien-surface);
    color: var(--immobilien-accent-dark) !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    box-shadow: var(--immobilien-shadow);
}

:where(body.page-immobilien) .immobilien-links .ce_hyperlink-extended.hide-on-desktop a {
    min-height: 52px;
    border-radius: 14px;
    box-shadow: none;
}

:where(body.page-immobilien) .immobilien-links .ce_hyperlink-extended[style] {
    margin-bottom: 0 !important;
}

:where(body.page-immobilien) .share-strip {
    padding-top: 6px !important;
    padding-bottom: 26px !important;
}

:where(body.page-immobilien) .share-strip .mod_hofff_shariff,
:where(body.page-immobilien) .share-strip .shariff,
:where(body.page-immobilien) .share-strip .shariff ul {
    overflow: visible;
}

:where(body.page-immobilien) .share-strip .shariff li {
    height: auto;
    min-height: 46px;
}

:where(body.page-immobilien) .share-strip .shariff li a {
    min-height: 46px;
    height: auto;
    padding: 4px 16px;
    overflow: visible;
    box-shadow: none !important;
}

:where(body.page-immobilien) .share-strip .shariff li a:hover {
    box-shadow: none !important;
    transform: none;
}

:where(body.page-immobilien) .share-strip .shariff li .share_text {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}

:where(body.page-immobilien) .share-strip .mod_socials {
    display: flex;
    justify-content: center;
}

:where(body.page-immobilien) .share-strip .mod_socials a {
    margin: 0 6px;
}

:where(body.page-immobilien) .video-consent-placeholder {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--immobilien-border);
    min-height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
}

:where(body.page-immobilien) .video-consent-card {
    background: #ffffff;
    padding: 24px 26px;
    border-radius: 18px;
    box-shadow: none;
    text-align: center;
    max-width: 560px;
    margin: 12px;
}

:where(body.page-immobilien) .video-consent-title {
    margin: 0 0 10px;
    font-family: var(--casaconvent-font-family);
    font-size: 26px;
    font-weight: 700;
    color: var(--immobilien-ink);
}

:where(body.page-immobilien) .video-consent-text {
    margin: 0 0 14px;
    color: var(--immobilien-copy);
}

:where(body.page-immobilien) .video-consent-button {
    display: inline-block;
    padding: 12px 18px;
    background: var(--immobilien-accent-dark);
    color: #ffffff;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
}

:where(body.page-immobilien) .video-consent-button:hover {
    background: #104b8b;
}

:where(body.page-immobilien) .video-consent-note {
    margin: 10px 0 0;
    font-size: 12px;
    color: var(--immobilien-muted);
}

:where(body.page-immobilien) .video-embed-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

:where(body.page-immobilien) .video-embed-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 20px;
}

@media only screen and (max-width: 1180px) {
    :where(body.page-immobilien) #slider.immobilien-hero .immobilien-hero__panel h2 {
        font-size: 38px;
    }

    :where(body.page-immobilien) .immobilien-intro h1 {
        font-size: 42px;
    }

    :where(body.page-immobilien) .immobilien-faq .toggler {
        font-size: 19px;
    }
}

@media only screen and (max-width: 767px) {
    /* Abschnitt "Warum Immobilien": Desktop-Raster wird mobil gestapelt */
    :where(body.page-immobilien) .immobilien-overview-grid {
        margin-top: 24px !important;
    }

    :where(body.page-immobilien) .immobilien-feature-card .ce_text_extented,
    :where(body.page-immobilien) .immobilien-feature-card .ce_text,
    :where(body.page-immobilien) .immobilien-feature-card .ce_iconbox {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    :where(body.page-immobilien) .immobilien-feature-image {
        padding-top: 18px !important;
    }

    :where(body.page-immobilien) .immobilien-feature-image .ce_bgimage {
        border: 0;
        background: none !important;
    }

    :where(body.page-immobilien) .immobilien-feature-image .ce_bgimage-inside,
    :where(body.page-immobilien) .immobilien-feature-image .ce_image {
        padding: 0 !important;
    }

    :where(body.page-immobilien) .immobilien-feature-image img {
        border-radius: 26px;
    }

    :where(body.page-immobilien) .immobilien-intro {
        padding-top: 36px !important;
        padding-bottom: 16px !important;
    }

    :where(body.page-immobilien) .immobilien-intro h1 {
        font-size: 31px;
    }

    :where(body.page-immobilien) .immobilien-intro .ce_textarea p,
    :where(body.page-immobilien) .immobilien-feature-card .ce_textarea p,
    :where(body.page-immobilien) .immobilien-feature-card--mobile .ce_textarea p,
    :where(body.page-immobilien) .immobilien-info-card .ce_textarea p,
    :where(body.page-immobilien) .immobilien-faq .ce_textarea p {
        font-size: 23px;
    }

    :where(body.page-immobilien) .immobilien-feature-card .ce_bgimage-inside,
    :where(body.page-immobilien) .immobilien-feature-card--mobile .ce_bgimage-inside,
    :where(body.page-immobilien) .immobilien-info-card .ce_bgimage-inside,
    :where(body.page-immobilien) .immobilien-faq .ce_bgimage-inside,
    :where(body.page-immobilien) .immobilien-benefits-panel .ce_bgimage-inside {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }

    :where(body.page-immobilien) .immobilien-feature-card .ce_iconbox,
    :where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox,
    :where(body.page-immobilien) .immobilien-info-card .ce_iconbox {
        padding-left: 0;
        padding-right: 0;
    }

    :where(body.page-immobilien) .immobilien-feature-image--mobile {
        padding-top: 18px !important;
        padding-bottom: 0 !important;
    }

    :where(body.page-immobilien) .immobilien-duo-grid,
    :where(body.page-immobilien) .immobilien-highlight-grid,
    :where(body.page-immobilien) .immobilien-faq,
    :where(body.page-immobilien) .immobilien-links {
        padding-top: 18px !important;
    }

    :where(body.page-immobilien) #betreuung {
        padding-top: 0 !important;
    }

    :where(body.page-immobilien) .immobilien-benefits-panel .ce_bgimage-inside {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    :where(body.page-immobilien) .immobilien-faq .toggler {
        padding: 18px 52px 18px 18px;
        font-size: 17px;
    }

    :where(body.page-immobilien) .immobilien-faq .accordion > div {
        padding: 0 18px 20px;
    }

    :where(body.page-immobilien) .immobilien-links .ce_hyperlink-extended a {
        min-height: 56px;
        padding: 14px 18px;
        font-size: 15px;
    }
}

@media only screen and (max-width: 480px) {
    :where(body.page-immobilien) .immobilien-intro .ce_image_extended figure {
        border-radius: 18px;
    }

    :where(body.page-immobilien) .immobilien-feature-card .ce_iconbox_inside,
    :where(body.page-immobilien) .immobilien-feature-card--mobile .ce_iconbox_inside,
    :where(body.page-immobilien) .immobilien-info-card .ce_iconbox_inside {
        padding: 14px 14px;
        gap: 12px;
    }
}

/* =============================================================================
 * Seite: Kontakt (vormals Inline-Styles in kontakt.php)
 * ========================================================================== */
:where(body.page-kontakt) .google-maps-placeholder {
    background: #f6f6f6;
    border: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
}

:where(body.page-kontakt) .gm-consent-card {
    background: #ffffff;
    padding: 20px 22px;
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
    text-align: center;
    max-width: 460px;
    margin: 10px;
}

:where(body.page-kontakt) .gm-consent-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #222;
}

:where(body.page-kontakt) .gm-consent-text {
    margin: 0 0 12px;
    color: #444;
}

:where(body.page-kontakt) .gm-consent-button {
    display: inline-block;
    padding: 10px 16px;
    background: #1d5f8a;
    color: #ffffff;
    border-radius: 4px;
    text-decoration: none;
}

:where(body.page-kontakt) .gm-consent-button:hover {
    background: #174a6a;
}

:where(body.page-kontakt) .gm-consent-note {
    margin: 10px 0 0;
    font-size: 12px;
    color: #666666;
}

:where(body.page-kontakt) #f19 .formular-captcha-input {
    width: 220px !important;
    max-width: 100%;
}
