/* Physiotec — final shared polish layer */
:root{
  --polish-shadow-sm:0 8px 28px rgba(0,33,71,.07);
  --polish-shadow-md:0 18px 48px rgba(0,33,71,.11);
  --mobile-nav-height:72px;
  --subpage-hero-height:clamp(540px,58svh,580px);
}
html{
  width:100%;max-width:100%;scroll-padding-top:112px;
  overflow-x:hidden;overflow-x:clip;
}
html.pt-overlay-open{overscroll-behavior:none;}
body{
  width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
::selection{background:rgba(91,191,255,.3);color:var(--navy);}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:3px solid rgba(91,191,255,.62);outline-offset:3px;
}
:is(.section-title,.page-hero-title,.hero-h1,.cta-title,.fpz-title-light){text-wrap:balance;}
:is(.section-sub,.page-hero-sub,.hero-sub){text-wrap:pretty;}

#nav{
  border-bottom:1px solid transparent;
  -webkit-backdrop-filter:saturate(125%) blur(16px);backdrop-filter:saturate(125%) blur(16px);
}
#nav.solid,#nav.scrolled{border-bottom-color:rgba(255,255,255,.085);}
.nav-logo img{transition:height .35s var(--ease-out),transform .35s var(--ease-out);}
.nav-logo:hover img{transform:translateY(-1px) scale(1.025);}
#nav.scrolled .nav-logo img{height:60px;}
.nav-links a{position:relative;}
.nav-links a::after{
  content:'';position:absolute;left:.8rem;right:.8rem;bottom:.18rem;height:1px;
  background:var(--sky);transform:scaleX(0);transform-origin:center;transition:transform .22s var(--ease-out);
}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}

.btn{isolation:isolate;box-shadow:0 0 0 rgba(0,0,0,0);}
.btn:active{transform:translateY(0) scale(.985)!important;}
.page-hero-bg img{transform:scale(1.025);}
.page-hero-inner{animation:polishHeroIn .7s var(--ease-out) both;}
.page-hero,#jobs-hero{
  height:var(--subpage-hero-height);min-height:var(--subpage-hero-height);max-height:var(--subpage-hero-height);
}
#jobs-hero{
  padding:80px 0 0;display:flex;align-items:flex-end;
}
#jobs-hero>.container{width:100%;padding-bottom:3.5rem;}
@keyframes polishHeroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

:is(.method-card,.diag-card,.natur-small-card,.natur-big-card,.job-card,.info-card,.partner-card,.team-card){
  box-shadow:0 2px 10px rgba(0,33,71,.035);
}
:is(.method-card,.diag-card,.natur-small-card,.job-card,.info-card,.partner-card):hover{
  border-color:rgba(26,127,212,.18)!important;box-shadow:var(--polish-shadow-md)!important;
}
:is(.method-card-icon,.diag-card-icon,.natur-small-card-icon,.info-card-icon){
  transition:transform .28s var(--ease-out),background .28s,color .28s;
}
:is(.method-card,.diag-card,.natur-small-card,.info-card):hover
  :is(.method-card-icon,.diag-card-icon,.natur-small-card-icon,.info-card-icon){transform:translateY(-2px) scale(1.04);}
.sub-nav,.filter-bar{
  background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;isolation:isolate;
}
.sub-nav-link{position:relative;}
.fpz-programme-card h4,.fpz-programme-card p{position:relative;z-index:1;}
@media (min-width:601px){
  .sub-nav::before,.filter-bar::before{
    content:'';position:absolute;z-index:0;left:0;right:0;bottom:100%;height:24px;
    background:#fff;box-shadow:0 -1px 0 #fff;pointer-events:none;
  }
  .sub-nav>.container,.filter-bar>.container{position:relative;z-index:1;}
}

/* Jobs: großzügige Copy links, klare Aktionen rechts. */
.jobs-hero-inner{max-width:none!important;}
.jobs-hero-copy{min-width:0;max-width:760px;}
@media (min-width:701px){
  .jobs-hero-inner{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,292px);
    align-items:center;gap:clamp(2.5rem,6vw,6rem);
  }
  .jobs-hero-sub{margin-bottom:0!important;}
  .jobs-hero-cta{
    display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin:0!important;
    padding-left:clamp(1.5rem,3vw,2.75rem);border-left:1px solid rgba(125,211,252,.28);
  }
  .jobs-hero-cta :is(.btn-jobs-primary,.btn-jobs-ghost){
    width:100%;min-height:50px;justify-content:center;text-align:center;
  }
}
.team-overlay-bd,.wc-overlay-bd{
  background:
    radial-gradient(circle at 50% -15%,rgba(91,191,255,.22),transparent 42%),
    rgba(0,18,42,.84)!important;
}
.team-overlay-box,.wc-overlay-box{
  border:1px solid rgba(255,255,255,.17);
  box-shadow:0 40px 110px rgba(0,10,28,.55),0 1px 0 rgba(255,255,255,.15) inset;
}

.cta-section::after{
  content:'';position:absolute;right:-9rem;bottom:-13rem;width:34rem;height:34rem;border-radius:50%;
  background:radial-gradient(circle,rgba(91,191,255,.13),transparent 66%);pointer-events:none;
}
.cta-section-btns{position:relative;z-index:2;}
.footer-col a{display:inline-block;}
.footer-col a:hover{transform:translateX(2px);}
.footer-social a:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.18);}
.mobile-menu{background:radial-gradient(circle at 50% 0%,#0b4179 0%,var(--navy) 52%,#00172f 100%);}
.mobile-menu{width:100%;max-width:100%;overflow-x:hidden;}
.mobile-menu a{position:relative;}
.mobile-menu a::after{content:'';position:absolute;left:0;right:0;bottom:-.3rem;height:1px;background:var(--sky);transform:scaleX(0);transition:transform .2s;}
.mobile-menu a:hover::after,.mobile-menu a:focus-visible::after{transform:scaleX(1);}

/* Startseite: editorial services — Bild plus eigenständige Markenfläche */
.services-editorial{align-items:stretch;}
.services-editorial>*{min-width:0;}
.service-ed{
  display:grid;grid-template-rows:clamp(235px,23vw,310px) minmax(0,1fr);
  background:linear-gradient(145deg,#0b4179 0%,var(--navy) 100%);
  box-shadow:0 18px 46px rgba(0,33,71,.15);isolation:isolate;
}
.service-ed-img{height:100%;aspect-ratio:auto;}
.service-ed-overlay{
  background:linear-gradient(180deg,rgba(0,18,42,.02) 38%,rgba(0,33,71,.56) 100%);
}
.service-ed-content{
  position:relative;bottom:auto;left:auto;right:auto;padding:1.55rem 1.65rem 1.7rem;
  background:
    radial-gradient(circle at 100% 0%,rgba(91,191,255,.14),transparent 38%),
    linear-gradient(145deg,#0b4179 0%,var(--navy) 100%);
}
.service-ed-content::before{
  content:'';position:absolute;left:1.65rem;top:0;width:54px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--sky),rgba(91,191,255,0));
}
.service-ed-content .tag{margin-bottom:.65rem;}
.service-ed-title{font-size:1.55rem;line-height:1.18;margin-bottom:.6rem;text-shadow:none;}
.service-ed-desc{font-size:.92rem;line-height:1.65;margin-bottom:1rem;text-shadow:none;}
.service-ed-list{gap:.42rem;align-content:flex-start;}
.service-ed-list li{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);}
.service-ed-arrow{
  background:rgba(0,33,71,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.service-ed:hover{box-shadow:0 24px 58px rgba(0,33,71,.22);}

@media (max-width:700px){
  .reveal-left,.reveal-right{transform:translateY(20px);}

  .service-ed{
    display:grid;grid-template-rows:clamp(190px,56vw,275px) auto;
    background:linear-gradient(145deg,#0b4179 0%,var(--navy) 100%);
    box-shadow:0 18px 42px rgba(0,33,71,.16);
  }
  .service-ed-img{height:100%;aspect-ratio:auto;}
  .service-ed-overlay{
    background:linear-gradient(180deg,rgba(0,18,42,.03) 42%,rgba(0,33,71,.54) 100%);
  }
  .service-ed-content{
    position:relative;bottom:auto;left:auto;right:auto;padding:1.15rem 1.15rem 1.3rem;
  }
  .service-ed-content::before{left:1.15rem;}
  .service-ed-content .tag{margin-bottom:.6rem;}
  .service-ed-title{font-size:1.42rem;line-height:1.18;margin-bottom:.55rem;text-shadow:none;}
  .service-ed-desc{font-size:.9rem;line-height:1.58;margin-bottom:.85rem;text-shadow:none;}
  .service-ed-list{gap:.38rem;}
  .service-ed-list li{font-size:.73rem;background:rgba(255,255,255,.1);}
  .service-ed-arrow{top:1rem;right:1rem;background:rgba(0,33,71,.72);box-shadow:0 5px 16px rgba(0,0,0,.2);}

  .team-overlay-bd{
    --overlay-top-gap:max(12px,env(safe-area-inset-top,0px));
    height:var(--pt-visible-vh,100dvh);min-height:0;
    padding:var(--overlay-top-gap) .55rem 0!important;align-items:stretch!important;
    overscroll-behavior:none;overflow:hidden;
  }
  .team-overlay-box{
    width:100%;max-width:none;height:100%;min-height:0;max-height:none!important;
    border-radius:1.35rem 1.35rem 0 0!important;display:grid!important;grid-template-columns:1fr!important;
    grid-template-rows:clamp(260px,43%,390px) minmax(0,1fr);
    box-shadow:0 -8px 45px rgba(0,10,28,.34);transform:translateY(18px)!important;
  }
  .team-overlay-box::after{
    content:'';position:absolute;z-index:12;top:8px;left:50%;width:38px;height:4px;
    border-radius:5px;background:rgba(255,255,255,.68);transform:translateX(-50%);
    box-shadow:0 1px 4px rgba(0,0,0,.18);pointer-events:none;
  }
  .team-overlay-bd.open .team-overlay-box{transform:none!important;}
  .tov-photo{
    min-height:0!important;max-height:none!important;height:auto;isolation:isolate;
    background:linear-gradient(145deg,#082c55,var(--navy));overflow:hidden;
  }
  .tov-photo::before{
    content:'';position:absolute;z-index:0;inset:-1.25rem;
    background-image:linear-gradient(rgba(0,33,71,.2),rgba(0,33,71,.45)),var(--tov-photo-bg);
    background-position:center 20%;background-size:cover;filter:blur(16px);opacity:.7;transform:scale(1.08);
  }
  .tov-photo img{
    position:relative;z-index:1;width:100%;height:100%;object-fit:contain!important;
    object-position:center top!important;filter:drop-shadow(0 12px 26px rgba(0,0,0,.18));
  }
  .tov-photo-grad{
    z-index:2;background:linear-gradient(to bottom,rgba(0,18,42,.04) 32%,rgba(0,18,42,.2) 62%,rgba(0,18,42,.94) 100%);
  }
  .tov-photo-info{
    z-index:3;padding:1.25rem 1.15rem 1rem;
  }
  .tov-name{font-size:1.45rem;margin-bottom:.18rem;}
  .tov-role{font-size:.68rem;letter-spacing:.1em;}
  .tov-close{
    position:absolute;top:.75rem;right:.75rem;z-index:20;
    width:42px;height:42px;background:rgba(0,18,42,.72);border:1px solid rgba(255,255,255,.2);
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 7px 20px rgba(0,0,0,.24);
  }
  .tov-body{
    min-height:0;max-height:none!important;overflow:hidden!important;padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom,0px));
    display:flex;flex-direction:column;gap:.62rem;background:#fff;
  }
  .tov-section{margin:0!important;min-height:0;}
  .tov-label{font-size:.62rem;letter-spacing:.11em;margin-bottom:.34rem;}
  .tov-tags,.tov-hobbies{gap:.25rem;max-height:3.45rem;overflow:hidden;}
  .tov-tag{font-size:.69rem;padding:.17rem .48rem;line-height:1.4;}
  .tov-hobby{font-size:.71rem;padding:.2rem .52rem;line-height:1.4;}
  .tov-story{
    flex:1;min-height:0;overflow:hidden;margin:0;padding-top:.62rem;font-size:.79rem;line-height:1.48;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;
  }
}
@media (max-width:700px) and (max-height:720px){
  .team-overlay-box{grid-template-rows:36% minmax(0,1fr);}
  .tov-body{gap:.45rem;padding-top:.7rem;padding-bottom:.65rem;}
  .tov-tags,.tov-hobbies{max-height:2.9rem;}
  .tov-story{-webkit-line-clamp:3;font-size:.75rem;}
}
@media (max-width:700px) and (orientation:landscape){
  .team-overlay-box{grid-template-columns:42vw minmax(0,1fr)!important;grid-template-rows:1fr!important;}
  .tov-photo{height:100%;}
  .tov-photo-info{padding:1rem;}
  .tov-body{padding:1rem 1.1rem;}
}

@media (max-width:600px){
  :root{--subpage-hero-height:560px;}
  #hero,.hero-left{
    height:var(--pt-visible-vh,100dvh)!important;
    min-height:var(--pt-visible-vh,100dvh)!important;
  }
  .hero-left{
    justify-content:flex-end!important;
    padding:calc(var(--mobile-nav-height) + .85rem) 1.25rem clamp(7.5rem,15dvh,9rem)!important;
  }
  body:has(#ptCookieBanner) .hero-left{padding-bottom:12rem!important;}
  #ptCookieBanner{
    padding:.8rem 1rem!important;gap:.65rem 1rem!important;justify-content:space-between!important;
  }
  #ptCookieBanner p{font-size:.77rem!important;line-height:1.45!important;}
  #ptCookieBanner .pt-actions{margin-left:auto!important;}
  #ptCookieBanner button{padding:.58rem .95rem!important;font-size:.8rem!important;}
  .hero-eyebrow{margin-bottom:.75rem!important;font-size:.72rem!important;}
  .hero-h1{
    margin-bottom:.9rem!important;font-size:clamp(1.85rem,8.6vw,2.1rem)!important;line-height:1.04!important;
  }
  .hero-sub{margin-bottom:1.1rem!important;font-size:.91rem!important;line-height:1.52!important;}
  .hero-cta{gap:.55rem!important;}
  .btn-hero-primary,.btn-hero-ghost{min-height:44px;padding:.7rem .95rem!important;}
  html{scroll-padding-top:calc(var(--mobile-nav-height) + 18px);}
  #nav,#nav.solid,#nav.scrolled{
    position:fixed!important;top:0!important;left:0;right:0;
    height:calc(var(--mobile-nav-height) + env(safe-area-inset-top,0px));
    min-height:calc(var(--mobile-nav-height) + env(safe-area-inset-top,0px));
    padding:env(safe-area-inset-top,0px) 0 0!important;
    transform:translateZ(0);overflow:visible;
    transition:background-color .28s,box-shadow .28s,border-color .28s!important;
  }
  #nav .container{width:100%;}
  #nav .nav-inner{height:var(--mobile-nav-height);min-height:var(--mobile-nav-height);gap:.75rem;}
  .nav-logo{height:100%;min-width:0;}
  .nav-logo img,#nav.scrolled .nav-logo img{
    width:auto;height:54px!important;max-height:54px;transform:none!important;transition:none!important;
  }
  .nav-actions{height:44px;min-width:44px;justify-content:flex-end;}
  .hamburger{
    flex:0 0 42px;width:42px;height:42px;margin:0;padding:.55rem;
    position:relative;inset:auto;transform:none;touch-action:manipulation;
  }
  .nav-actions .btn-wa,.nav-actions .btn-fpz-nav{display:none!important;}
  .sub-nav{
    top:calc(var(--mobile-nav-height) + env(safe-area-inset-top,0px));padding:.5rem 0;border-bottom-color:rgba(11,65,121,.08);
    box-shadow:0 8px 24px rgba(0,33,71,.08);
  }
  .sub-nav .container{max-width:none;padding:0;}
  .sub-nav::after,.filter-bar::after{
    content:'';position:absolute;z-index:2;right:0;top:0;bottom:0;width:2rem;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.96));pointer-events:none;
  }
  .sub-nav-inner{
    gap:.5rem!important;padding:.12rem 1rem .2rem;scroll-snap-type:x proximity;scroll-padding-inline:1rem;
    overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;
  }
  .sub-nav-inner::after{content:'';flex:0 0 .6rem;}
  .sub-nav-link{
    min-height:38px;padding:.56rem .82rem!important;border:1px solid rgba(11,65,121,.1)!important;
    border-radius:2rem;background:#fff;color:var(--navy-light);font-size:.77rem!important;font-weight:700;
    box-shadow:0 3px 10px rgba(0,33,71,.055);scroll-snap-align:center;
  }
  .sub-nav-link:hover{border-color:rgba(11,65,121,.2)!important;background:var(--cream);}
  .sub-nav-link.active{
    background:var(--navy-light);border-color:var(--navy-light)!important;color:#fff;
    box-shadow:0 7px 18px rgba(11,65,121,.2);
  }
  .sub-nav-link::after{display:none;}
  .sub-nav-icon{display:flex;align-items:center;justify-content:center;}
  .sub-nav-icon .lc-icon{width:1rem;height:1rem;}
  .filter-bar{
    top:calc(var(--mobile-nav-height) + env(safe-area-inset-top,0px))!important;padding:.5rem 0!important;position:sticky;
    background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  .filter-bar .container{max-width:none;padding:0;}
  .filter-bar-inner{
    flex-wrap:nowrap!important;overflow-x:auto;gap:.5rem!important;padding:.12rem 1rem .2rem;
    scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:1rem;
    overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;
  }
  .filter-bar-inner::-webkit-scrollbar{display:none;}
  .filter-bar-inner::after{content:'';flex:0 0 .6rem;}
  .filter-btn{
    flex:0 0 auto;min-height:38px;padding:.56rem .85rem!important;border-width:1px!important;
    background:#fff!important;box-shadow:0 3px 10px rgba(0,33,71,.055);scroll-snap-align:center;
  }
  .filter-btn.active{
    background:var(--navy-light)!important;color:#fff!important;
    box-shadow:0 7px 18px rgba(11,65,121,.2);
  }
  .filter-count{display:none!important;}
  .mobile-menu{gap:1.15rem;padding:5rem 1.5rem 2rem;}
  .mobile-menu a{font-size:1.35rem;}
  .page-hero{padding-top:var(--mobile-nav-height);}
  .page-hero-inner{padding:2.5rem 0 2.75rem;}
  #jobs-hero{padding-top:var(--mobile-nav-height);}
  #jobs-hero>.container{padding-bottom:2.75rem;}
  .jobs-hero-title{font-size:2.35rem;}
  .jobs-hero-sub{font-size:1rem;line-height:1.65;margin-bottom:1.5rem;}
  .jobs-hero-cta{gap:.7rem;}
  .jobs-hero-cta :is(.btn-jobs-primary,.btn-jobs-ghost){padding:.8rem 1.25rem;}
  .fpz-widget-wrap{left:.75rem;right:.75rem;bottom:.75rem;}
  .fpz-widget-wrap iframe{width:100%;height:min(560px,78vh);}
  .cta-section{padding:5rem 1.25rem;}
  .cta-section-btns{align-items:stretch;}
  .cta-section-btns .btn{justify-content:center;width:100%;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
