.section-block-team>.row {
    gap: calc(var(--bs-gutter-x) * 1.25) 0;
}

@media only screen and (min-width: 768px) {
    .section-block-team>.row {
        gap: calc(var(--bs-gutter-x) * 2) 0;
        margin-right: var(--bs-gutter-x);
        margin-left: var(--bs-gutter-x);
    }

    .section-block-team>.row>* {
        padding-right: var(--bs-gutter-x);
        padding-left: var(--bs-gutter-x);
    }
}

.section-block-team .section-block-team-image {
    border-radius: 1.875rem;
    overflow: hidden;
}

.section-block-team .section-block-team-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.section-block-team .section-block-team-name {
    margin-bottom: 1.5rem;
    text-align: center;
}

.section-block-team .section-block-team-name h4 {
    margin: 1.625rem 0 1rem;
}

@media only screen and (max-width: 768px) {
    .section-block-team .section-block-team-name h4 {
        margin: 1.25rem 0 1rem;
    }

    .section-block-team .section-block-team-name {
        margin-bottom: 1.25rem;
    }

}

.section-block-team-body>div:not(.section-block-team-name) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .25rem;
}

.section-block-team-body>div:not(.section-block-team-name) a {
    display: flex;
    gap: .25rem;
    align-items: center;
    justify-content: center;
}

.section-block-team-body>div:not(.section-block-team-name) a svg {
    width: 1.5rem;
}
/* Mobile interaction and accessible controls, audited 2026-09-25. */
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.header-menu-close { background:transparent; border:0; padding:8px; }
.header-menu-close svg, .popup-close svg { width:100%; height:100%; }
button:focus-visible, a:focus-visible, [role="button"]:focus-visible { outline:3px solid #17975d; outline-offset:4px; }
.flatDetail-legend-header { flex-wrap:wrap; }
.flatDetail-legend-header .popup-title { overflow-wrap:anywhere; font-size:clamp(2rem,4vw,4.5rem); }
@media (max-width:991px) {
  body.menu-open { overflow:hidden; }
  .header-menu { width:min(88vw,350px); visibility:hidden; transition:transform .25s ease,visibility .25s; }
  .header-menu.active { visibility:visible; }
  .header-menu-close { display:block; width:44px; height:44px; z-index:2; }
  .header-toggler, .popup-close, .popup-gallery-controls-left, .popup-gallery-controls-right { min-width:44px; min-height:44px; }
  .header-menu ul a { display:block; min-height:44px; padding:8px 0; }
  .popup-inner { overscroll-behavior:contain; }
  .flatDetail-legend-header { justify-content:center; text-align:center; width:100%; }
  .flatDetail-buttons-wrapper { flex-wrap:wrap; }
  input, textarea, select { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}

.map-unavailable { display:grid; place-items:center; padding:2rem; text-align:center; background:#f2f2f2; min-height:240px; }

.flatsList-filters-item-content { visibility:hidden; padding-top:0; }
.flatsList-filters-item.active { z-index:5; }
.flatsList-filters-item.active .flatsList-filters-item-content { visibility:visible; padding-top:.5rem; max-height:65vh!important; overflow-y:auto; }

.contact-form-error, .contact-form-success { padding: 16px 20px; border-radius: 10px; margin: 0 0 20px; }
.contact-form-error { background:#fff0ee; color:#8d2420; }
.contact-form-success { background:#edf7ec; color:#24552b; }

.body > .section-subpage-main.page-financing:first-child > .section-block:first-child { margin-top: 5rem; }
.page-financing .section-title { margin-bottom: 3rem; }
@media (max-width:768px) {
 .body > .section-subpage-main.page-financing:first-child > .section-block:first-child { margin-top: 2.5rem; }
 .page-financing .section-title { margin-bottom: 2rem; }
}
.contact-feedback { margin: 1.5rem auto; padding: 1rem 1.25rem; border-radius: 10px; background: #edf7ec; color:#24552b; }

.body:has(> .page-standards) > .banner { margin-bottom: 0; }

.contact-feedback-wrap { background: #fff; padding: 24px 0 24px; }
.contact-feedback-wrap .contact-feedback { margin: 0; }

/* Visible in the opening viewport, even when the hero image extends below it. */
.banner:has(.page-scroll-cue) { position: relative; }
.page-scroll-cue { position: absolute; z-index: 2; top: min(calc(100% - 112px), calc(100svh - 180px)); left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; color: #111; text-decoration: none; }
.page-scroll-cue-icon { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba(0,0,0,.55); border-radius: 50%; background: rgba(255,255,255,.94); box-shadow: 0 3px 18px rgba(0,0,0,.08); transition: background .2s, color .2s, transform .2s; }
.page-scroll-cue-label { padding: 4px 10px; border-radius: 20px; background: rgba(255,255,255,.94); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.page-scroll-cue:hover { color: #111; }
.page-scroll-cue:hover .page-scroll-cue-icon { background: #111; color: #fff; transform: translateY(3px); }
.page-scroll-cue:focus-visible { outline: 2px solid #111; outline-offset: 6px; border-radius: 32px; }
#page-content { scroll-margin-top: 96px; }
#page-content:focus { outline: none; }

.flat-status-control { position:absolute; z-index:5; right:10rem; bottom:14rem; }
.flat-status-switch { display:flex; border:0; margin:0; padding:5px; border-radius:50px; background:#000; gap:2px; }
.flat-status-switch label { position:relative; cursor:pointer; margin:0; }
.flat-status-switch input { position:absolute; opacity:0; width:1px; height:1px; }
.flat-status-switch span { display:block; border-radius:30px; padding:10px 17px; color:#fff; font-size:14px; line-height:20px; transition:background .2s,color .2s; }
.flat-status-switch input:checked + span { background:#fff; color:#000; }
.flat-status-switch input:focus-visible + span { outline:2px solid #777; outline-offset:2px; }
.flatsSelector .interactive-overlay .apartment-shape.availability-0 { fill:rgba(0,163,89,.42); stroke:rgba(0,110,60,.7); stroke-width:.6; }
.flatsSelector .interactive-overlay .apartment-shape.availability-1 { fill:rgba(236,141,31,.42); stroke:rgba(175,95,12,.7); stroke-width:.6; }
.flatsSelector .interactive-overlay .apartment-shape.availability-2 { fill:rgba(155,13,13,.46); stroke:rgba(125,10,10,.75); stroke-width:.6; }
@media(max-width:1925px) { .flat-status-control { bottom:10rem; } }
@media(max-width:1475px) { .flat-status-control { right:6.5rem; bottom:6.5rem; } }
@media(max-width:991px) { .flat-status-control { right:4rem; bottom:3rem; } }
@media(max-width:768px) { .flat-status-control { position:relative; right:auto; bottom:auto; display:flex; flex-direction:column; align-items:center; margin:16px 12px 28px; } .flat-status-switch span { padding:9px 14px; font-size:13px; } }

@media(max-width:768px) { .flatsSelector .flatsSelector-controls { position:relative; left:auto; right:auto; bottom:auto; margin:12px auto 0; } }

@media(max-width:768px) { .flat-status-switch span { padding:9px 10px; font-size:12px; } }

.flatsSelector-controls-wrapper { display:flex; align-items:stretch; height:50px; }
.flatsSelector .flatsSelector-controls button { height:50px; padding-top:0; padding-bottom:0; display:flex; align-items:center; justify-content:center; }
.flat-status-switch { box-sizing:border-box; height:50px; align-items:stretch; }
.flat-status-switch span { height:100%; display:flex; align-items:center; box-sizing:border-box; }

.flatsSelector .flatsSelector-controls button img { width:22px; height:auto; }

.building-scroll-cue { position:absolute; left:50%; transform:translateX(-50%); z-index:5; color:#111; display:block; width:58px; text-decoration:none; }
.building-scroll-cue .page-scroll-cue-icon { width:58px; height:58px; box-sizing:border-box; }
.building-scroll-cue:hover .page-scroll-cue-icon { background:#111; color:#fff; }
.building-scroll-cue:focus-visible { outline:2px solid #111; outline-offset:5px; border-radius:50%; }
#apartment-list { scroll-margin-top:96px; }
#apartment-list:focus { outline:none; }
@media(max-width:768px) { .building-scroll-cue { position:relative; left:auto; transform:none; margin:16px auto; } }

/* Keep apartment enquiry actions solid and legible, including hover. */
.button.button-simple-green.button-action-ask { background: #62af7e; border-color: #62af7e; color: #fff; opacity: 1; }
.button.button-simple-green.button-action-ask:hover, .button.button-simple-green.button-action-ask:focus-visible { background: #43845a; border-color: #43845a; color: #fff; }

.flatsSelector-flat-click-footer-right { opacity: 1; }

.footer-credits { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 12px; padding:24px 0 30px; position:relative; border-top:0; color:#a6a6a6; font-size:14px; line-height:1.6; text-align:center; }
.footer-credits a { color:inherit; text-decoration:none; }
.footer-credits a:hover, .footer-credits a:focus-visible { color:#fff; text-decoration:underline; }
@media (max-width:600px) { .footer-credits { flex-direction:column; gap:6px; } .footer-credits-separator { display:none; } }

.footer-credits::before { content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:calc(100vw - 32px); height:1px; background:linear-gradient(to right, transparent, #282828 35%, #282828 65%, transparent); pointer-events:none; }

.footer-credits a { text-decoration-line:underline; text-decoration-style:dashed; text-underline-offset:4px; text-decoration-thickness:1px; }
.footer-credits a:hover, .footer-credits a:focus-visible { text-decoration-style:dashed; }
.legal-dialog { width:min(900px, calc(100% - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:0; border:0; border-radius:24px; color:#222; background:#fff; box-shadow:0 20px 80px #0005; }
.legal-dialog[open] { display:flex; flex-direction:column; }
.legal-dialog::backdrop { background:rgba(0,0,0,.65); }
.legal-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-shrink:0; padding:20px 28px; border-bottom:1px solid #e5e5e5; }
.legal-dialog-header h2 { margin:0; font-size:24px; }
.legal-dialog-close { flex-shrink:0; width:42px; height:42px; border:1px solid #ccc; border-radius:50%; background:#fff; color:#111; font-size:30px; line-height:1; cursor:pointer; }
.legal-dialog-close:hover { color:#fff; background:#111; }
.legal-dialog-body { overflow:auto; overscroll-behavior:contain; padding:28px; font-size:16px; line-height:1.7; }
.legal-dialog-body h2 { font-size:24px; line-height:1.35; margin:0 0 20px; }
.legal-dialog-body h3 { font-size:20px; line-height:1.4; margin:28px 0 12px; }
.legal-dialog-body h4 { font-size:17px; margin:0 0 10px; }
.legal-dialog-body p { margin:0 0 14px; }
.legal-purpose { background:#f5f5f5; border-radius:12px; padding:20px; margin:16px 0; }
@media(max-width:600px) { .legal-dialog-header { padding:16px; } .legal-dialog-header h2 { font-size:20px; } .legal-dialog-body { padding:20px; } }

.flatsSelector-flat-click.is-sold .flatsSelector-flat-click-body-schema-image,
.flatsSelector-flat-click.is-sold .flatsSelector-flat-click-footer { display:none; }
.flatsSelector-flat-click.is-sold .flatsSelector-flat-click-body-schema-parameters { position:static; text-align:left; font-size:16px; line-height:1.7; }
.flatsSelector-flat-click.is-sold .flatsSelector-flat-click-body-schema-parameters-item { display:flex; justify-content:space-between; gap:20px; }
