/* Finaler, seitenuebergreifender AZOVSKI-Layoutabgleich. */
@media (min-width:1101px){
  :root{--az-page-gutter:clamp(34px,4.2vw,88px)}
  .wrap{width:min(1760px,calc(100% - (var(--az-page-gutter) * 2)))}
  .header .nav{width:min(1810px,calc(100% - clamp(22px,2.2vw,46px)));min-height:96px;padding:0 clamp(25px,2vw,40px)}
  .brand-logo{width:clamp(205px,13vw,245px)}
  .nav-links{gap:clamp(18px,1.8vw,34px)}
  .nav-links button{font-size:15px}

  #home .hero{width:calc(100% - (var(--az-page-gutter) * 2));max-width:1760px;margin-inline:auto;min-height:calc(100svh - 96px - 92px);grid-template-columns:minmax(440px,.9fr) minmax(600px,1.1fr);gap:clamp(78px,7vw,138px);padding:clamp(24px,3.2vh,44px) 0;align-items:center}
  #home .hero-copy{max-width:760px}
  #home .hero-copy h1{font-size:clamp(60px,5.35vw,98px);line-height:.94}
  #home .hero-copy .lead{font-size:clamp(19px,1.45vw,25px);max-width:690px;margin-top:25px}
  #home .hero-art{height:min(63svh,680px);min-height:500px;width:100%}
  #home .hero .actions{margin-top:32px}
  .footer{padding:12px 0}
  .footer .foot{min-height:52px;align-items:center}
  .footer .foot>*{height:auto}
  .footer .foot>div:first-child span,.footer .foot>div:first-child a{display:none}

  #objects .subhero{min-height:0;padding:clamp(34px,4.5vh,54px) 0 14px}
  #objects .subhero h1{font-size:clamp(54px,4.6vw,78px);max-width:920px;margin-block:18px 20px}
  #objects .subhero p{max-width:900px;margin-bottom:0}
  #objects>.section{padding:16px 0 46px}
  #objects .role-filter{min-height:0;padding:20px 24px}
  #objects .photo-preview-layout{grid-template-columns:minmax(330px,410px) minmax(0,1fr);gap:clamp(34px,3vw,54px);align-items:stretch}
  #objects .photo-preview-layout>.object-list,
  #objects .object-photo-preview{position:sticky;top:112px;height:min(720px,calc(100svh - 132px));max-height:none;box-sizing:border-box}
  #objects .photo-preview-layout>.object-list{display:flex;flex-direction:column;overflow:hidden}
  #objects .photo-preview-layout .city-browser-scroll{flex:1;min-height:0;max-height:none;overflow-y:auto}
  #objects .object-photo-preview{display:flex;flex-direction:column}
  #objects .object-preview-media{flex:1;height:auto;min-height:0}
  #objects .object-preview-caption{min-height:116px}

  #standard .subhero,#company .subhero{padding-top:clamp(62px,7vh,90px)}
}

/* Im Portal reicht die zentrale Website-Fusszeile; keine zweite Linkleiste im Portal-Kasten. */
#portal .azcp-legal-links{display:none!important}

/* Ruhigere Abschlussflaeche ohne unnoetige Bildschirmhoehe. */
.contact-brand-closing{min-height:clamp(430px,52vw,640px)!important;margin-bottom:clamp(48px,7vw,88px)!important}
.contact-brand-copy h2{max-width:650px}

/* Bessere Balance auf mittelgrossen Bildschirmen. */
@media (min-width:701px) and (max-width:1100px){
  .wrap{width:min(100% - 48px,1080px)}
  #home .hero{gap:42px;padding-block:48px}
  #objects .photo-preview-layout>.object-list,#objects .object-photo-preview{position:relative;top:auto}
}

@media (max-width:700px){
  #home .hero{padding-top:28px;padding-bottom:42px}
  #home .hero-art{min-height:360px}
  #home .hero-art .art-status{
    top:auto!important;
    right:auto!important;
    bottom:14px!important;
    left:14px!important;
    width:auto!important;
    max-width:calc(100% - 104px)!important;
    min-height:0!important;
    padding:10px 13px!important;
    border-radius:14px!important;
  }
  #home .hero-art .art-status b{font-size:14px!important;line-height:1.3!important}
  #home .hero-art .art-status small{display:block;margin-top:2px;font-size:12px!important;line-height:1.3!important}
  #home .hero-art .carousel-arrow{width:46px!important;height:46px!important}
  .contact-brand-closing{min-height:520px!important}
}
/* Mobile header: the menu glyph comes only from the existing pseudo element. */
@media(max-width:1000px){
  .menu-btn{font-size:0!important}
}

/* Objektwelt-Vorschau: alle 16:9-Motive ohne wechselnden Hoch-/Tiefbeschnitt. */
#objects .object-photo-preview{height:auto!important}
#objects .object-preview-media{
  flex:none!important;
  width:100%;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16 / 9;
}
#objects .object-preview-image{background-position:center bottom!important}
@media(min-width:901px){
  #objects .photo-preview-layout{align-items:stretch}
  #objects .photo-preview-layout>.object-list{height:auto!important;align-self:stretch}
}

/* Sprach- und viewportfeste Layoutregeln: lange Begriffe duerfen keine Nachbarspalten schneiden. */
.page h1,.page h2,.page h3,.card,.object-preview-caption,.standard-statement>*{min-width:0}
.page h1,.page h2,.page h3{overflow-wrap:break-word;hyphens:auto}
.subhero-heading-line{display:block}
.actions{flex-wrap:wrap}
.standard-statement{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(32px,4vw,64px)}
.standard-statement h2{font-size:clamp(34px,3vw,48px);max-width:100%}
.standard-status>div{min-width:0}
.standard-status span{min-width:0;overflow-wrap:break-word}
.standard-minimal-closing{flex-wrap:wrap}
.standard-minimal-closing>h2{min-width:min(100%,420px)}
#company .subhero h1{max-width:1150px;font-size:clamp(50px,5.2vw,82px);line-height:1.04}
#company .subhero p{max-width:1050px}
.object-preview-caption{flex-wrap:wrap;gap:18px}
.object-preview-caption>div{min-width:min(100%,320px);flex:1 1 480px}
.object-preview-caption>button{flex:0 0 auto}
.footer .foot,.footer .legal-links{flex-wrap:wrap}

@media(max-width:1200px){
  .standard-statement{grid-template-columns:1fr;gap:28px;padding:clamp(28px,4vw,44px)}
  .standard-status{max-width:720px}
  .standard-minimal-closing{align-items:flex-start;flex-direction:column}
  .standard-minimal-closing .actions{width:100%}
}

@media(min-width:769px) and (max-width:1200px){
  #company .subhero h1{font-size:clamp(48px,6vw,68px)}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:768px){
  .standard-statement h2{font-size:clamp(34px,9vw,46px)}
  .standard-status>div{grid-template-columns:auto minmax(0,1fr) auto}
  #company .subhero h1{font-size:clamp(40px,11vw,56px)}
  .object-preview-caption>button{width:100%}
}

/* Objektwelten Desktop: Liste und Vorschau enden exakt auf derselben Grundlinie. */
@media(min-width:901px){
  #objects .photo-preview-layout{align-items:start}
  #objects .photo-preview-layout>.object-list,
  #objects .object-photo-preview{
    height:min(720px,calc(100svh - 132px))!important;
    max-height:min(720px,calc(100svh - 132px))!important;
    box-sizing:border-box;
    align-self:start;
  }
  #objects .photo-preview-layout>.object-list{
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  #objects .photo-preview-layout .city-browser-scroll{
    flex:1 1 auto;
    min-height:0;
    max-height:none!important;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  #objects .object-photo-preview{
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  #objects .object-preview-caption{flex:0 0 auto}
  #objects .object-preview-media{
    flex:1 1 auto!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
  }
}
