/* MR Beauty — shared design system. */
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-SemiBold.otf') format('opentype');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--accent:#c8cf04;--bg:#000;--surface:#101110;--ink:#fff;--muted:#b6b8af;--line:#2b2d27;--max:1220px;--gutter:clamp(20px,5vw,76px);--radius:24px;--nav-height:92px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.8 Montserrat,Arial,sans-serif;-webkit-text-size-adjust:100%}body.modalOpen{overflow:hidden}h1,h2,h3,p{margin:0}h1,h2{font-weight:500;line-height:1.1;letter-spacing:-.055em;text-wrap:balance}h1{font-size:clamp(46px,6.8vw,92px)}h2{font-size:clamp(32px,4.1vw,56px)}h3{font-size:19px;font-weight:500;line-height:1.4}p{color:var(--muted)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none}img{display:block;width:100%;height:auto}svg{display:block}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:#000}.wrap{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}section{padding-block:100px}section+section{border-top:1px solid #191b15}.eyebrow,.legalEyebrow{font-size:11px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.eyebrow::before{content:'';display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.scrollProgress{position:fixed;z-index:60;left:0;top:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.skipLink{position:fixed;top:-100px;left:20px;z-index:100;background:var(--accent);color:#000;padding:12px}.skipLink:focus{top:20px}
/* Navigation */
.nav{position:fixed;top:12px;left:var(--gutter);right:var(--gutter);z-index:30;border:1px solid var(--accent);border-radius:50px;background:#000;backdrop-filter:blur(18px);box-shadow:0 12px 35px #0005}.navin{display:flex;align-items:center;gap:24px;min-height:74px;padding:2px 10px 2px 22px;max-width:1400px;margin:auto}.brand{margin-right:auto;flex-shrink:0}.brand img{width:65px;height:65px;object-fit:contain}.links{display:flex;align-items:center;gap:22px;transform:translateX(-20px)}.links a{font-size:12px;position:relative;white-space:nowrap;padding-block:10px}.links a:after{content:'';position:absolute;height:1px;background:var(--accent);bottom:4px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}.links a:hover:after,.links a[aria-current]:after{transform:scaleX(1)}.hamb{display:none;border:1px solid var(--line);border-radius:50%;width:46px;height:46px;font-size:22px;line-height:1}.mobile{display:none}.btn{transition:background .25s,transform .25s,box-shadow .25s}.btn.primary:hover{background:#e0e742;box-shadow:0 5px 24px #c8cf0422;transform:translateY(-2px)}
/* Existing image-first opening, with shared content edges. */
.hero{padding-top:104px;padding-bottom:82px}.heroGrid{display:flex;flex-direction:column}.heroMedia{order:-1;position:relative;margin-bottom:48px}.mainPhoto{height:clamp(280px,31vw,465px);border-radius:0 0 0 120px;overflow:hidden;position:relative}.mainPhoto:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 65%);pointer-events:none}.mainPhoto img{height:100%;object-fit:cover;object-position:center calc(47% - 30px);animation:heroImage 1.5s ease-out both}.heroTextIntro{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.heroTextIntro .eyebrow{display:inline-block}.womenOnly{margin-left:18px;color:var(--muted);letter-spacing:.1em}.womenOnly:before{display:none}.hero h1 span:last-child{color:var(--accent)}.heroText{max-width:670px;margin-top:26px}.btn{display:inline-flex;gap:18px;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:40px;min-height:52px;padding:13px 24px;font-size:12px;font-weight:600;line-height:1.5}.btn.primary{background:var(--accent);border-color:var(--accent);color:#000}.btn span[aria-hidden]{font-size:20px}
/* About and treatments */
.split{display:grid;grid-template-columns:1fr 1.12fr;gap:64px;align-items:center}.portrait{border-radius:var(--radius);overflow:hidden;position:relative;background:#111}.portrait img{filter:grayscale(1);object-fit:cover}.lead{margin-top:26px}.aboutExtra{margin-top:16px}.miniGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.mini{border-top:1px solid var(--accent);padding-top:17px}.mini b{font-size:12px;font-weight:600}.mini p{font-size:11px;margin-top:8px;line-height:1.8}.serviceHead,.galleryIntro{margin-bottom:38px}.serviceHead>p,.galleryIntro>p{max-width:730px;margin-top:22px;line-height:1.75}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.serviceCard{position:relative;min-width:0;height:170px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#141610,#0b0c0a);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;transition:border-color .35s,background .35s,translate .35s}.serviceCard h3{margin-bottom:10px}.serviceCard p{font-size:13px}.serviceCard:hover{border-color:#737721;translate:0 -5px;background:#15180d}
/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.shot{border:0;padding:0;border-radius:20px;overflow:hidden;position:relative;aspect-ratio:4/5;cursor:crosshair}.shot::after{content:none!important;display:none!important}.shot img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .65s}.shot:hover img{transform:scale(1.045)}.gallerySocial{font-size:inherit;margin-top:26px;color:var(--muted)}.gallerySocial a{color:var(--accent);text-decoration:none}
/* Open prices, one source of truth. */
#preise{background:#000}.priceTabs{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.priceSide{display:grid;grid-template-rows:1fr 1fr;gap:22px;min-width:0}.priceCard{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#10110e;min-width:0;display:flex;flex-direction:column}.priceTabs>.priceCard,.priceSide>.priceCard{height:100%}.priceOpenHeader{height:76px;flex:0 0 76px;padding:0 26px;border-bottom:1px solid var(--line);display:flex;align-items:center}.priceOpenHeader h3{color:var(--accent);font-size:17px}.priceOpenHeader.apprenticeHeader>div{width:100%}.apprenticeNote{color:var(--muted);font-size:10px;line-height:1.35;margin-top:6px;white-space:nowrap}.priceOpenBody{padding:0 26px;display:flex;flex-direction:column;flex:1;min-height:0}.priceRow{display:flex;flex:1;min-height:0;gap:14px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6}.priceRow:last-child{border-bottom:0}.priceSplit{display:flex;gap:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.priceCurrency{color:var(--muted);font-size:10px}.priceAmount{min-width:40px;text-align:right}
/* Location, contact and footer */
.location{display:grid;grid-template-columns:1fr 1fr;gap:22px}.buildingPreview,.locCard{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0;padding:0;background:var(--surface)}.buildingPreview img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .65s}.buildingPreview:hover img{transform:scale(1.045)}.buildingPreview{position:relative;min-height:330px;cursor:crosshair}.mapOnly{display:flex;flex-direction:column}.pic{height:310px;overflow:hidden}.pic img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;transform:none!important;transition:none!important}.mapButtonOnly{padding:16px;text-align:center}.mapButtonOnly a{width:100%;color:var(--accent);font-size:10px;gap:5px}.mapButtonOnly a:hover{border-color:var(--accent)}.contactIntroHead{max-width:730px;margin-bottom:38px}.contactIntroHead p{margin-top:22px}footer{border-top:1px solid var(--line);padding:36px 0 90px}.footerInner{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footerLinks{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.footerLinks a{font-size:15px;line-height:1.35}.footerLinks a:hover{color:var(--accent)}.copyright{font-size:11px;margin-top:8px}.floatWhats{position:fixed;z-index:25;bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px;border-radius:40px;background:var(--accent);color:#000;padding:12px 20px;box-shadow:0 8px 30px #0007;transition:transform .3s,box-shadow .3s}.floatWhats svg{width:26px;height:29px;fill:currentColor}.floatWhats>span{font-size:12px;line-height:1.35;font-weight:600}.floatWhats small{display:block;font-size:9px;letter-spacing:.05em;font-weight:400;margin-top:2px}@media (hover:hover) and (pointer:fine) {
.floatWhats:hover{transform:translateY(-4px);box-shadow:0 8px 35px #c8cf0422}
}
/* Native modal focus management; full-size gallery. */
dialog{color:#fff;border:1px solid var(--line);border-radius:24px;background:#0b0c09;padding:40px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px)}dialog::backdrop{background:#000ed;backdrop-filter:blur(7px)}dialog[open]{animation:dialogIn .25s ease-out}.dialogClose{position:absolute;right:12px;top:10px;width:44px;height:44px;border:1px solid #555;border-radius:50%;font-size:27px;background:#000c;z-index:2;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.dialogClose:focus,.dialogClose:focus-visible{outline:none!important;outline-offset:0!important;box-shadow:none!important}.imageLightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);backdrop-filter:blur(7px);display:grid;place-items:center;padding:28px 44px;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.imageLightbox[hidden]{display:none}.imageLightbox.isOpen{opacity:1;visibility:visible}.imageLightbox figure{margin:0;text-align:center;width:min(1350px,100%)}.imageLightbox img{display:block;max-height:calc(100dvh - 180px);width:100%;object-fit:contain;cursor:crosshair;margin:auto}.imageLightbox figcaption{margin-top:14px;color:var(--accent);line-height:1.55}.imageCaptionText,.imageCaptionDetail{display:block}.imageCaptionText{font-size:13px;font-weight:600}.imageCaptionDetail{font-size:11px;margin-top:3px;opacity:.82}.imageLightbox figcaption small{display:block;font-size:10px;font-weight:400;letter-spacing:.03em;margin-top:6px;color:#a8aaa5;opacity:.78}.waDialog{width:440px;text-align:center;padding-top:58px}.waDialog h2{font-size:40px;margin-bottom:18px}.waDialog p{font-size:12px}.waDialog .eyebrow:before{display:none}.qr{width:210px;margin:24px auto;background:white;border-radius:14px;padding:10px}.qr svg{width:100%;height:auto}.waDialog .btn{width:100%}
/* Legal pages keep original text with matching navigation and type. */
.legalPage{padding:150px var(--gutter) 80px;min-height:75vh}.legalWrap{max-width:900px;margin:auto}.legalBack{display:inline-flex;gap:10px;align-items:center;font-size:11px;color:var(--accent);margin-bottom:32px}.backArrow svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}.legalPage h1{font-size:clamp(28px,5.2vw,60px);overflow-wrap:anywhere}.legalCard{padding:32px;margin-top:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.legalCard p{margin-bottom:20px}.legalCard h2{font-size:21px;letter-spacing:-.02em;margin:32px 0 15px}.legalCard strong{color:#fff}
/* Motion is optional: content is visible without JavaScript. */
.reveal.isPending{opacity:0;transform:translateY(22px)}.reveal{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}@keyframes heroImage{from{transform:scale(1.035);filter:brightness(.8)}to{transform:scale(1);filter:brightness(1)}}@keyframes dialogIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.nav{max-width:1400px;margin-inline:auto}}
@media(max-width:1100px){.links{gap:14px}.navin{gap:16px}.links a{font-size:10px}.split{gap:32px}.miniGrid{gap:10px}.serviceCard{height:160px;padding:22px}.priceOpenHeader,.priceOpenBody{padding-inline:20px}}
@media(max-width:920px){:root{--gutter:28px}.links{display:none;transform:none}.hamb{display:block}.navin{min-height:66px}.brand img{width:57px;height:57px}.nav{border-radius:36px}.mobile.isOpen{display:grid;grid-template-columns:1fr 1fr;padding:10px 24px 24px;gap:4px 20px;max-height:calc(100dvh - 100px);overflow:auto}.mobile a{font-size:13px;padding:10px;border-bottom:1px solid var(--line)}.hero{padding-top:94px}.mainPhoto{height:340px}.split{grid-template-columns:.85fr 1fr;gap:28px}.miniGrid{grid-template-columns:1fr}.mini{padding-top:10px}.mini p{margin-top:3px}.serviceGrid{grid-template-columns:repeat(2,1fr)}.gallery{gap:12px}.shot{border-radius:16px}.priceTabs{gap:16px}.priceSide{gap:16px}.priceRow{font-size:11px}.priceSplit{gap:7px}section{padding-block:74px}.buildingPreview{min-height:300px}}
@media(max-width:600px){:root{--gutter:20px}body{font-size:13px}.nav{left:14px;right:14px;top:10px}.navin{padding-left:18px;gap:12px}.hero{padding-bottom:58px}.heroMedia{margin-bottom:30px}.mainPhoto{height:285px;border-bottom-left-radius:80px}.heroTextIntro .eyebrow{font-size:11px;margin-bottom:15px}.heroTextIntro .eyebrow:first-child{margin-bottom:0}.heroTextIntro .womenOnly{display:block;margin-left:40px;line-height:1.25;letter-spacing:.02em}.hero h1{font-size:clamp(40px,10.4vw,62px)}.heroText{margin-top:22px}.btn{font-size:11px;padding-inline:22px}.split{grid-template-columns:1fr;gap:30px}.portrait{max-width:370px;margin-inline:auto}.portrait img{max-height:440px;object-fit:contain}.miniGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini b{font-size:10px}.mini p{font-size:10px}.serviceHead,.galleryIntro{margin-bottom:28px}.serviceHead>p,.galleryIntro>p{max-width:none;margin-top:18px}h2{font-size:34px}.serviceCard{height:170px;padding:18px}.serviceCard h3{font-size:16px;overflow-wrap:anywhere}.serviceCard p{font-size:11px}.serviceGrid{gap:12px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallerySocial{font-size:inherit}.priceTabs,.location{grid-template-columns:1fr}.priceSide{grid-template-rows:auto auto;gap:12px}.priceRow{font-size:11px;padding-block:14px}.priceOpenHeader h3{font-size:16px}.priceOpenHeader{height:68px;padding:0 20px}.priceSplit{gap:10px}.buildingPreview{min-height:0;aspect-ratio:1.4}.pic{height:280px}.contactIntroHead p{margin-top:18px}.floatWhats{padding:11px 16px;gap:9px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.floatWhats svg{width:23px;height:25px}.imageLightbox{padding:20px}.imageLightbox img{max-height:calc(100dvh - 205px)}.legalPage{padding-top:130px}.legalCard{padding:22px}.legalCard h2{font-size:19px}.waDialog{padding-inline:24px}section{padding-block:60px}}
@media(max-height:500px) and (orientation:landscape){.navin{min-height:54px}.brand img{width:46px;height:46px}.hamb{width:40px;height:40px}.hero{padding-top:80px}.mainPhoto{height:260px}.waDialog .qr{width:120px;margin:14px auto}.waDialog{padding:38px 24px 20px}.waDialog h2{font-size:26px}.waDialog .eyebrow{display:none}.waDialog p{font-size:11px}.imageLightbox img{max-height:calc(100dvh - 145px)}.imageLightbox{padding:16px 24px}.floatWhats{padding:9px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.isPending{opacity:1;transform:none}}

/* GOOGLE MAP FINAL – KEIN ZOOM
   Bildbreite immer exakt 100% des bestehenden Kartenfensters.
   Nur die vertikale Position wird verschoben. */
#standort .mapOnly{
  position:relative!important;
  overflow:hidden!important;
  background:var(--surface)!important;
}
#standort .mapOnly::before,
#standort .mapOnly::after{
  content:none!important;
  display:none!important;
}
#standort .mapOnly .pic{
  position:static!important;
  overflow:hidden!important;
}
#standort .mapOnly .pic img{
  position:absolute!important;
  left:0!important;
  top:0;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:initial!important;
  object-position:initial!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  z-index:0!important;
  pointer-events:none!important;
}
#standort .mapButtonOnly{
  position:relative!important;
  z-index:2!important;
}
#standort .mapButtonOnly a.maps-button-two-line{
  width:82%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  background:#fff!important;
  border:3px solid #fff!important;
  color:#000!important;
  box-sizing:border-box!important;
  font-size:12px!important;
}
#standort .mapButtonOnly a.maps-button-two-line .maps-line-1,
#standort .mapButtonOnly a.maps-button-two-line .maps-line-2{
  color:#000!important;
}
#standort .mapButtonOnly a.maps-button-two-line:hover{
  background:#fff!important;
  border-color:#c8cf04!important;
  color:#000!important;
  box-shadow:none!important;
}

/* STARTBILD-FENSTER – unten unverändert, nur nach oben bis zum oberen Rand vergrössert */
#home.hero{
  padding-top:0!important;
}
#home .heroMedia{
  margin-top:0!important;
}
#home .mainPhoto{
  height:calc(clamp(280px,31vw,465px) + 104px)!important;
}
/* Bildausschnitt aus Version 46 beibehalten: 30px nach oben */
#home .mainPhoto img{
  object-position:center calc(47% - 30px)!important;
}
@media(max-width:920px){
  #home.hero{
    padding-top:0!important;
  }
  #home .mainPhoto{
    height:calc(340px + 94px)!important;
  }
}
@media(max-width:600px){
  #home .mainPhoto{
    height:calc(285px + 94px)!important;
  }
}
@media(max-height:500px) and (orientation:landscape){
  #home .mainPhoto{
    height:calc(260px + 80px)!important;
  }
}

/* Alle Abschnittsbegleittexte stehen unter dem Titel wie beim Kontakt. */
.galleryTitleLine{white-space:nowrap}
.serviceHead>p br,.galleryIntro>p br,.contactIntroHead p br{display:none}
.contactIntroHead p{line-height:1.75}
@media(max-width:1100px){.galleryTitleLine{white-space:normal}}
/* Einzeilig, sobald die volle Titelbreite neben den Aussenrändern Platz hat. */
@media(min-width:601px){#standort .galleryIntro h2{white-space:nowrap}}

/* MOBILE MENU – 3 Linien animieren beim Öffnen zu einem X */
.hamb{
  position:relative;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  padding:0;
}
.hambLine{
  display:block;
  width:24px;
  height:2px;
  border-radius:2px;
  background:#fff;
  transform-origin:center;
  transition:
    transform .28s ease,
    opacity .20s ease,
    background-color .20s ease;
}
.hamb[aria-expanded="true"] .hambLine:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}
.hamb[aria-expanded="true"] .hambLine:nth-child(2){
  opacity:0;
}
.hamb[aria-expanded="true"] .hambLine:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}
.hamb[aria-expanded="true"] .hambLine{
  background:#fff;
}

@media(max-width:920px){
  .hamb{
    display:flex;
  }
}

/* GOOGLE MAPS BUTTON – horizontal + vertikal sauber zentriert */
#standort .mapButtonOnly a.maps-button-two-line{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.3!important;
}

/* Wenn genügend Platz vorhanden ist: genau eine Zeile */
@media(min-width:601px){
  #standort .mapButtonOnly a.maps-button-two-line{
    flex-direction:row!important;
    gap:.35em!important;
    white-space:nowrap!important;
  }
  #standort .maps-button-two-line .maps-line-1,
  #standort .maps-button-two-line .maps-line-2{
    display:inline!important;
    width:auto!important;
    white-space:nowrap!important;
  }
}

/* iPhone / schmale Ansicht: exakt zwei Zeilen */
@media(max-width:600px){
  #standort .mapButtonOnly a.maps-button-two-line{
    flex-direction:column!important;
    gap:0!important;
    min-height:64px!important;
    padding:10px 14px!important;
    white-space:normal!important;
  }
  #standort .maps-button-two-line .maps-line-1,
  #standort .maps-button-two-line .maps-line-2{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
}

/* IPHONE HOCHFORMAT
   Navigation bleibt 1:1 wie Onepage(52).
   Nur das Startbild-Fenster wird nach oben erweitert.
   Alte Unterkante bleibt an derselben Stelle. */
@media(max-width:600px) and (orientation:portrait){
  #home.hero{
    padding-top:0!important;
  }
  #home .mainPhoto{
    height:389px!important; /* 285px Originalhöhe + 104px ursprünglicher oberer Abstand */
  }
}

/* IPHONE QUERFORMAT
   Startbild + vertikale Menüposition exakt wie Onepage(52).
   Nur die Menüleiste horizontal etwas kürzer. */
@media(max-height:500px) and (orientation:landscape){
  .nav{
    left:60px!important;
    right:60px!important;
  }
}

/* IPHONE QUERFORMAT – gesamte Onepage exakt auf Menü-Aussenkanten ausrichten.
   Menü bleibt unverändert wie in Onepage(56). */
@media(max-height:500px) and (orientation:landscape){
  :root{
    --gutter:60px!important;
  }
}

/* Leistungen: alle drei Zeilen wachsen per CSS mit dem längsten Inhalt. */
@media(max-width:600px) and (orientation:portrait){
  #leistungen .serviceGrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:10px;align-items:stretch}
  #leistungen .serviceCard{height:auto;min-height:0;max-height:none;padding:14px;justify-content:flex-start;overflow:visible}
  #leistungen .serviceCard h3{margin:0 0 10px;min-height:0;font-size:15px;line-height:1.25;overflow-wrap:anywhere}
  #leistungen .serviceCard p{margin:0;font-size:10.5px;line-height:1.48;overflow-wrap:break-word}
}

/* Kontakt: eine Regelbasis für beide Karten */
#kontakt {
  --contact-padding:26px;
  --contact-row-padding:9px;
}
#kontakt .contactGrid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
@media (min-width:701px) {
  #kontakt .contactGrid { height:var(--contact-price-height,auto); }
}
#kontakt .contactBox,
#kontakt .hours {
  min-width:0;
  padding:var(--contact-padding) var(--contact-padding) 0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
}
#kontakt .contactBox h3,
#kontakt .hours h3 {
  color:var(--accent);
  margin:0 0 14px;
  font-size:17px;
  font-weight:500;
  line-height:1.25;
}
#kontakt .contactBox {
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
#kontakt .contactList {
  display:grid;
  grid-template-rows:repeat(7,minmax(0,1fr));
}
#kontakt .hours {
  display:grid;
  grid-template-rows:auto repeat(7,minmax(0,1fr));
}
#kontakt .contactList > a,
#kontakt .hoursRow {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:var(--contact-row-padding) 0;
  border-bottom:1px solid var(--line);
  font-size:12px;
  line-height:1.7;
}
#kontakt .contactList > a { transition:color .2s; }
#kontakt .contactList > a > span {
  color:var(--muted);
  text-align:right;
}
@media (hover:hover) and (pointer:fine) {
#kontakt .contactList > a:hover,
#kontakt .contactList > a:hover > span { color:var(--accent); }
}
#kontakt .contactList > a:last-child,
#kontakt .hoursRow:last-child { border-bottom-color:transparent; }
#kontakt .hoursRow b { color:var(--muted); font-weight:400; }
#kontakt .addressLine { display:block; }

/* Zwei Spalten: erste Adresszeile auf Höhe von Samstag,
   zweite unmittelbar darunter. */
@media (min-width:661px) {
  #kontakt .contactList > a.contactAddress {
    position:relative;
    grid-row:span 2;
    padding:0;
  }
  #kontakt .contactAddressLabel {
    position:absolute;
    left:0;
    top:25%;
    transform:translateY(-50%);
    color:#fff !important;
  }
  #kontakt .contactAddressValue {
    position:absolute;
    right:0;
    top:calc(25% - .675em);
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    line-height:1.35;
    white-space:nowrap;
  }
}

/* Eine Spalte: zwei Anschriftszeilen mit gleichem Innenabstand
   oben und unten; Adresse bleibt auf Höhe von Adlikerstrasse. */
@media (max-width:660px) {
  #kontakt { --contact-padding:20px; }
  #kontakt .contactGrid {
    grid-template-columns:1fr;
    align-items:start;
  }
  #kontakt .contactBox,
  #kontakt .hours { padding-bottom:0; }
  #kontakt .contactList { display:block; }
  #kontakt .contactList > a,
  #kontakt .hoursRow {
    min-height:48px;
    padding-top:0;
    padding-bottom:0;
    line-height:1.35;
  }
  #kontakt .contactList > a.contactAddress {
    display:grid;
    grid-template-columns:max-content minmax(0,1fr);
    column-gap:18px;
    align-items:start;
    min-height:0;
    padding:16px 0;
    line-height:1.35;
  }
  #kontakt .contactAddressLabel {
    color:#fff !important;
    text-align:left;
  }
  #kontakt .contactAddressValue {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-self:end;
    margin:0;
    line-height:1.35;
    text-align:right;
    white-space:nowrap;
  }
  #kontakt .hours { display:block; }
}
@media (max-width:920px) {
  #kontakt .contactBox h3,
  #kontakt .hours h3 { font-size:16px; }
}

/* Telefon-Fenster: Nummer und QR-Code */
.phoneDialog .phoneNumber{
  margin:12px 0 20px;
  color:#fff;
  font-size:18px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
.phoneDialog .qr svg{
  display:block;
  width:100%;
  height:auto;
}
/* Menü-Anker: Abschnittslinie direkt unter der festen Navigation */
/* Abschnittslinie an der tatsächlichen Unterkante der Menüleiste */
html { scroll-padding-top:var(--menu-anchor-offset,91px); }
main > section { scroll-margin-top:0; }

/* Auch zwischen Startseite (header) und Über uns (section) trennen */
#home + #ueber-uns { border-top:1px solid #191b15; }
/* Touch: nur bei Kontaktknopf und Logo die Link-Vorschau unterbinden */
@media (any-pointer:coarse) {
  .floatWhats, .floatWhats *, .brand, .brand * {
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    user-select:none;
    -webkit-user-drag:none;
  }
}
/* iPhone/iPad: ganze Kontaktzeile während des Drückens logogelb */
#kontakt .contactList > a.isTouchPressed,
#kontakt .contactList > a.isTouchPressed span,
#kontakt .contactList > a.isTouchPressed .contactAddressLabel,
#kontakt .contactList > a.isTouchPressed .contactAddressValue,
#kontakt .contactList > a.isTouchPressed .addressLine {
  color:var(--accent) !important;
  transition:none !important;
}

#kontakt .contactList > a {
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
}
/* iPhone/iPad: alle Links und Tasten ohne Vorschau */
html.appleTouch a,
html.appleTouch button {
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
}

html.appleTouch .isTouchPressed {
  transition:none !important;
}

/* Kontakt unten rechts: sichtbare Tasten-Rückmeldung */
html.appleTouch .floatWhats.isTouchPressed {
  background:#e0e742;
  transform:scale(.96);
  box-shadow:inset 0 0 0 2px #0002,0 4px 16px #0008;
}
/* Bild-Grossansicht: gleiches Fadenkreuz wie Galerie und Gebäude */
.imageLightbox img {
  cursor:crosshair;
}
/* Adresse beim Mauszeiger vollständig logogelb */
@media (hover:hover) and (pointer:fine) {
  #kontakt .contactList > a.contactAddress:hover .contactAddressLabel {
    color:var(--accent) !important;
  }
}
/* iPhone/iPad: Google-Maps-Rahmen nach Rückkehr zurücksetzen */
@media (hover:none) {
  #standort .mapButtonOnly a.maps-button-two-line:hover {
    background:#fff !important;
    border-color:#fff !important;
    color:#000 !important;
    box-shadow:none !important;
  }
}
/* Rechtliches gelb, Zur Startseite weiss */
.legalBack {
  color:#fff;
}
@media (hover:hover) and (pointer:fine) {
  .legalBack:hover {
    color:var(--accent);
  }
}

/* iPhone/iPad: Route-Button nur beim Drücken logogelb umranden */
html.appleTouch #standort .mapButtonOnly a.maps-button-two-line.isTouchPressed {
  background:#fff !important;
  border-color:var(--accent) !important;
  color:#000 !important;
  box-shadow:0 0 0 1px #c8cf0444 !important;
}
/* Scrollleistenplatz bleibt beim Öffnen eines Bildes erhalten */
html {
  scrollbar-gutter:stable;
}

/* Grossansicht: Bild und Beschreibung als Premium-Karte */
.imageLightbox figure {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:26px;
}

.imageLightbox img {
  width:auto;
  max-width:min(860px,100%);
  max-height:min(67dvh,760px);
  border-radius:28px;
}

.imageLightbox figcaption {
  width:min(1170px,100%);
  margin:0;
  padding:19px 34px 20px;
  border:1px solid var(--accent);
  border-radius:32px;
  text-align:center;
}

.imageLightbox .imageCaptionText {
  color:var(--accent);
  font-size:12px;
  font-weight:600;
  letter-spacing:.19em;
  line-height:1.45;
  text-transform:uppercase;
}

.imageLightbox .imageCaptionDetail {
  margin-top:9px;
  color:#fff;
  font-size:15px;
  font-weight:400;
  line-height:1.55;
  opacity:1;
}

.imageLightbox figcaption small {
  margin-top:13px;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.22em;
  opacity:1;
}

@media (max-width:600px) {
  .imageLightbox {
    padding:18px;
  }

  .imageLightbox figure {
    gap:18px;
  }

  .imageLightbox img {
    width:100%;
    max-height:calc(100dvh - 285px);
    border-radius:22px;
  }

  .imageLightbox figcaption {
    padding:16px 18px 17px;
    border-radius:24px;
  }

  .imageLightbox .imageCaptionText {
    font-size:10px;
    letter-spacing:.14em;
  }

  .imageLightbox .imageCaptionDetail {
    font-size:12px;
    margin-top:7px;
  }

  .imageLightbox figcaption small {
    font-size:8px;
    margin-top:11px;
    letter-spacing:.16em;
  }
}
/* Grossansicht: kompakte Beschreibung und gelber Titel */
@media (min-width:601px) {
  .imageLightbox figcaption {
    width:min(760px,100%);
  }
}

.imageLightbox .imageCaptionText {
  color:var(--accent) !important;
}

.imageLightbox .imageCaptionDetail {
  color:#fff !important;
}

/* iPhone/iPad: Menüpunkt beim Drücken kurz logogelb */
html.appleTouch .mobile a.isTouchPressed,
html.appleTouch .links a.isTouchPressed {
  color:var(--accent) !important;
}
/* Grossansicht: Titel und Beschreibung strikt trennen */
#imageCaptionText {
  display:block !important;
  color:var(--accent) !important;
}

#imageCaptionDetail {
  display:block !important;
  margin-top:10px !important;
  color:#fff !important;
}

#imageCaptionDetail[hidden] {
  display:none !important;
}
/* Rechtliche Zurueck-Taste beim Antippen logogelb */
@media (hover:none) {
  .legalBack:active,
  .legalBack:active .backArrow,
  .legalBack:active .backText {
    color:var(--accent) !important;
  }
}
/* Lightbox: begrenzte Hoehe im Touch-Querformat */
@media (orientation:landscape) and (max-height:500px) and (any-pointer:coarse) {
  .imageLightbox {
    height:100dvh;
    box-sizing:border-box;
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:max(10px,env(safe-area-inset-bottom));
    padding-left:max(18px,env(safe-area-inset-left));
    padding-right:max(18px,env(safe-area-inset-right));
    overflow:auto;
  }

  .imageLightbox figure {
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    justify-items:center;
    align-items:center;
    gap:10px;
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
  }

  .imageLightbox img {
    width:auto;
    height:auto;
    min-width:0;
    min-height:0;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    border-radius:16px;
  }

  .imageLightbox figcaption {
    width:min(600px,100%);
    margin:0;
    padding:10px 16px;
    border-radius:18px;
  }

  #imageCaptionText {
    display:block;
    color:var(--accent);
    font-size:11px;
    font-weight:600;
    line-height:1.35;
  }

  #imageCaptionDetail {
    margin-top:5px !important;
    color:#fff;
    font-size:12px;
    line-height:1.4;
  }

  .imageLightbox figcaption small {
    margin-top:6px;
    font-size:8px;
    line-height:1.3;
    letter-spacing:.12em;
  }
}
/* Touch-Querformat: Textrahmen passend zum Inhalt */
@media (orientation:landscape) and (max-height:500px) and (any-pointer:coarse) {
  .imageLightbox figcaption {
    width:fit-content;
    max-width:min(600px,100%);
    justify-self:center;
    padding-inline:18px;
  }
}
/* Bildhinweis unterhalb des gelben Beschreibungsrahmens */
.imageLightbox figcaption {
  border:0;
  padding:0;
}

.imageLightbox .imageCaptionCard {
  border:1px solid var(--accent);
  border-radius:32px;
  padding:19px 34px 20px;
}

.imageLightbox figcaption > small {
  display:block;
  margin-top:10px;
}

@media (max-width:600px) {
  .imageLightbox .imageCaptionCard {
    padding:16px 18px 17px;
    border-radius:24px;
  }
}

@media (orientation:landscape) and (max-height:500px) and (any-pointer:coarse) {
  .imageLightbox .imageCaptionCard {
    padding:10px 18px;
    border-radius:18px;
  }

  .imageLightbox figcaption > small {
    margin-top:6px;
  }
}
/* Google-Bewertung */
.googleReview {
  margin-top:clamp(32px,5vw,56px);
  text-align:center;
}

.googleReview h3 {
  margin:0;
  color:var(--ink);
  font-size:clamp(22px,2.5vw,32px);
  font-weight:500;
  line-height:1.25;
  letter-spacing:-.025em;
  text-wrap:balance;
}

.googleReview p {
  margin:12px 0 0;
  color:var(--muted);
  font-size:inherit;
  line-height:1.65;
  text-wrap:balance;
}

.googleReviewButton {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  max-width:100%;
  margin-top:20px;
  padding:11px 30px;
  border:1px solid var(--accent);
  border-radius:999px;
  background:#000;
  color:#fff;
  font-size:13px;
  font-weight:500;
  line-height:1.5;
  text-decoration:none;
  text-align:center;
  transition:background-color .2s,color .2s;
}

@media (hover:hover) and (pointer:fine) {
  .googleReviewButton:hover {
    background:var(--accent);
    color:#000;
  }
}

html.appleTouch .googleReviewButton:hover {
  background:#000;
  color:#fff;
}

.googleReviewButton:active,
html.appleTouch .googleReviewButton.isTouchPressed {
  background:var(--accent);
  color:#000;
  transition:none;
}

.googleReviewButton:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:5px;
}

@media (max-width:600px) {
  .googleReview p {
    margin-top:10px;
  }

  .googleReviewButton {
    margin-top:18px;
    padding-inline:26px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .googleReviewButton {
    transition:none;
  }
}
/* Dezentes Konturherz beim Bewertungsbereich */
.googleReviewHeart {
  display:block;
  width:30px;
  height:30px;
  margin:0 auto 16px;
  fill:none;
  stroke:var(--accent);
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* Galerie-Instagram: weiss, gelber Unterstrich und gelbe Interaktion */
.gallerySocial a,
.gallerySocial a:visited,
.gallerySocial a strong {
  color:#fff !important;
  text-decoration-color:var(--accent) !important;
  text-decoration-thickness:2px;
  text-underline-offset:5px;
}
@media (hover:hover) and (pointer:fine) {
  .gallerySocial a:hover,
  .gallerySocial a:hover strong {
    color:var(--accent) !important;
  }
}
html.appleTouch .gallerySocial a.isTouchPressed,
html.appleTouch .gallerySocial a.isTouchPressed strong {
  color:var(--accent) !important;
}
/* Standort: Zwischenformat und iPhone-Querformat */
@media (min-width:721px) and (max-width:1100px) {
  #standort .maps-button-two-line {
    white-space:normal !important;
    line-height:1.2;
    padding:15px 18px !important;
  }

  #standort .maps-line-1,
  #standort .maps-line-2 {
    display:block;
  }
}

@media (orientation:landscape) and (max-height:600px) and (any-pointer:coarse) {
  #standort .buildingPreview {
    background:#090a09;
  }

  #standort .buildingPreview img {
    object-fit:contain !important;
    object-position:center !important;
  }
}
/* Standort: kompakte gleich hohe Fenster im iPhone-Querformat */
@media (orientation:landscape) and (max-height:600px) and (any-pointer:coarse) {
  #standort .location {
    align-items:stretch;
  }

  #standort .buildingPreview,
  #standort .locCard.mapOnly {
    height:260px !important;
    min-height:0 !important;
  }

  #standort .buildingPreview img {
    width:100%;
    height:100%;
    object-fit:contain !important;
    object-position:center !important;
  }

  #standort .mapOnly .pic {
    height:auto !important;
    min-height:0;
    flex:1 1 auto;
  }

  #standort .mapButtonOnly {
    flex:0 0 auto;
    padding:10px 12px;
  }
}


/* Route-Button: einzeilig im Handy-Hochformat */
@media (max-width:600px) and (orientation:portrait) and (any-pointer:coarse) {
  #standort .mapButtonOnly a.maps-button-two-line {
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:.3em !important;
    width:92% !important;
    max-width:340px !important;
    height:44px !important;
    min-height:44px !important;
    padding:8px 10px !important;
    font-size:clamp(8px,2.5vw,11px) !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }

  #standort .mapButtonOnly a.maps-button-two-line .maps-line-1,
  #standort .mapButtonOnly a.maps-button-two-line .maps-line-2 {
    display:inline !important;
    width:auto !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }
}

/* Desktop-Menue: Schrift um 2px vergroessern */
@media (min-width:1101px) {
  .nav .links a {
    font-size:14px;
  }
}

@media (min-width:921px) and (max-width:1100px) {
  .nav .links a {
    font-size:12px;
  }
}

/* Startseitentext: gesamte Inhaltsbreite nutzen */
.heroTextIntro .heroText {
  width:100%;
  max-width:none;
}

/* Ruhige Textumbrüche */
p,
.heroText,
.lead,
.aboutExtra,
.serviceHead p,
.galleryIntro p,
.contactIntroHead p,
.legalCard p,
.googleReview p,
.imageCaptionCard {
  text-wrap: pretty;
}

/* Sichtbare, gezielte Textumbrüche */
.serviceHead > p br,
.galleryIntro > p br,
.contactIntroHead p br {
  display: inline !important;
}

/* Navigationsrahmen einheitlich */
.nav {
  border-width: 2px;
  background:#000!important;
  background-color:#000!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Stabile Navigationsrundung im mobilen Querformat */
@media (max-height: 500px) and (orientation: landscape) and (pointer: coarse) {
  .nav {
    border-radius: 29px;
  }
}

/* Stabile Hoehe im iPhone-Querformat */
@media (orientation:landscape) and (max-height:600px) and (any-pointer:coarse) {
  .mobile.isOpen {
    max-height:none;
  }
}

/* MR Beauty: Galerie Final 20260919 korrigiert */
.imageLightbox {
  background:#000;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:none !important;
  touch-action:manipulation;
}

.gallery,
.gallery *,
.buildingPreview,
.buildingPreview *,
.imageLightbox,
.imageLightbox * {
  -webkit-user-select:none !important;
  user-select:none !important;
}

.gallery img,
.buildingPreview img,
.imageLightbox img {
  -webkit-user-drag:none;
  -webkit-touch-callout:none;
  -webkit-tap-highlight-color:transparent;
}

.imageLightbox img {
  cursor:crosshair;
  touch-action:manipulation;
}

.imageLightbox .imageCaptionCard {
  border:1px solid var(--accent) !important;
  border-radius:32px;
  padding:19px 34px 20px !important;
  background:transparent;
}

.imageLightbox figcaption,
.imageLightbox .imageCaptionText,
#imageCaptionText {
  color:var(--accent) !important;
}

.imageLightbox .imageCaptionDetail,
#imageCaptionDetail {
  color:#fff !important;
}

.imageLightbox figcaption > small {
  color:var(--muted) !important;
}

@media (max-width:600px) {
  .imageLightbox .imageCaptionCard {
    border-radius:24px;
    padding:16px 18px 17px !important;
  }
}

/* MR Beauty: Bild selbst sauber und ohne Rahmen abrunden */
.imageLightbox img {
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  box-sizing:border-box;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  object-fit:contain;
  overflow:hidden;
  border-radius:28px;
  clip-path:inset(0 round 28px);
  -webkit-clip-path:inset(0 round 28px);
  transform:translateZ(0);
}

@media (max-width:600px) {
  .imageLightbox img {
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:calc(100dvh - 285px) !important;
    border-radius:22px;
    clip-path:inset(0 round 22px);
    -webkit-clip-path:inset(0 round 22px);
  }
}

@media (orientation:landscape) and (max-height:500px) and (any-pointer:coarse) {
  .imageLightbox img {
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100% !important;
    border-radius:16px;
    clip-path:inset(0 round 16px);
    -webkit-clip-path:inset(0 round 16px);
  }
}
/* MR Beauty: alle Bilder vor Auswahl schützen */
img {
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-user-drag:none;
  -webkit-touch-callout:none;
  -webkit-tap-highlight-color:transparent;
}
.portrait,
.portrait *,
.location .pic,
.location .pic * {
  -webkit-user-select:none !important;
  user-select:none !important;
}

/* MR Beauty: einheitliche Galerie- und Gebäuderundungen */
.shot picture,
.buildingPreview picture {
  display:block;
  width:100%;
  height:100%;
}

.shot,
.buildingPreview {
  border-radius:20px;
  overflow:hidden;
  isolation:isolate;
  transform:translateZ(0);
}

.shot img,
.buildingPreview img {
  border-radius:inherit;
  clip-path:inset(0 round 20px);
  -webkit-clip-path:inset(0 round 20px);
}

@media (max-width:920px) {
  .shot,
  .buildingPreview {
    border-radius:16px;
  }

  .shot img,
  .buildingPreview img {
    clip-path:inset(0 round 16px);
    -webkit-clip-path:inset(0 round 16px);
  }
}

/* MR Beauty: Standortbilder ohne Aussenrahmen */
#standort .buildingPreview,
#standort .locCard.mapOnly {
  border:1px solid rgba(200,207,4,.20) !important;
  border-radius:20px;
  overflow:hidden;
}

@media (max-width:920px) {
  #standort .buildingPreview,
  #standort .locCard.mapOnly {
    border-radius:16px;
  }
}
/* MR Beauty: dezente Logogelb-Rahmen für Inhaltskarten */
.serviceCard,
.priceCard,
#kontakt .contactBox,
#kontakt .hours,
.legalCard {
  border-color:rgba(200,207,4,.20) !important;
}

/* Nur auf Geräten mit Maus etwas stärker hervorheben */
@media (hover:hover) and (pointer:fine) {
  .serviceCard:hover {
    border-color:rgba(200,207,4,.48) !important;
  }
}

/* MR Beauty FINAL: Standort iPhone Hochformat */
@media (max-width:600px) and (orientation:portrait) {
  #standort .buildingPreview,
  html.appleTouch #standort .buildingPreview {
    aspect-ratio:1.5 !important;
    min-height:0 !important;
    height:auto !important;
  }

  #standort .buildingPreview img,
  html.appleTouch #standort .buildingPreview img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }
}

/* MR Beauty FINAL: Standort iPhone Querformat */
@media (orientation:landscape) and (max-height:600px) {
  #standort .location,
  html.appleTouch #standort .location {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:22px !important;
    align-items:stretch !important;
  }

  #standort .buildingPreview,
  html.appleTouch #standort .buildingPreview {
    aspect-ratio:1.5 !important;
    min-height:0 !important;
    height:auto !important;
    width:100% !important;
    overflow:hidden !important;
  }

  #standort .buildingPreview img,
  html.appleTouch #standort .buildingPreview img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }

  #standort .locCard.mapOnly,
  html.appleTouch #standort .locCard.mapOnly {
    position:relative !important;
    display:block !important;
    aspect-ratio:1.5 !important;
    min-height:0 !important;
    height:auto !important;
    width:100% !important;
    overflow:hidden !important;
    background:#000 !important;
  }

  #standort .locCard.mapOnly .pic,
  html.appleTouch #standort .locCard.mapOnly .pic {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  #standort .locCard.mapOnly .pic img,
  html.appleTouch #standort .locCard.mapOnly .pic img {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center 82% !important;
    display:block !important;
    transform:none !important;
  }

  #standort .locCard.mapOnly .mapButtonOnly,
  html.appleTouch #standort .locCard.mapOnly .mapButtonOnly {
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:14px !important;
    z-index:2 !important;
    padding:0 24px !important;
    background:transparent !important;
    text-align:center !important;
  }

  #standort .locCard.mapOnly .mapButtonOnly a,
  html.appleTouch #standort .locCard.mapOnly .mapButtonOnly a {
    width:82% !important;
    max-width:520px !important;
    min-height:46px !important;
    margin:0 auto !important;
    padding:10px 18px !important;
    font-size:10px !important;
    white-space:nowrap !important;
  }
}


/* MR Beauty: iPhone Gebaeudebild Zoom wie Galerie */
@media (hover:none) and (pointer:coarse) {
  html.appleTouch #standort .buildingPreview img {
    transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .65s !important;
    transform-origin:center center;
  }

  html.appleTouch #standort .buildingPreview.isTouchPressed img,
  html.appleTouch #standort .buildingPreview.isLightboxSourceActive img {
    transform:scale(1.045) !important;
  }
}
/* Ende iPhone Gebaeudebild Zoom */

/* iPhone Querformat: Startseiten-Kleintitel wie übrige Eyebrows */
@media (orientation:landscape) and (max-height:600px) and (any-pointer:coarse) {
  .heroTextIntro .eyebrow { font-size:11px; }
}
