html{scroll-behavior:smooth;background:#fbfafb;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}

:root{
  --surface:#ffffff;
  --surface-soft:rgba(255,255,255,.88);
  --surface-strong:rgba(255,255,255,.96);
  --text:#171717;
  --text-soft:#4d4d4d;
  --line:rgba(17,17,17,.08);
  --line-strong:rgba(17,17,17,.14);
  --accent-soft:rgba(213,8,79,.08);
  --accent-mid:rgba(213,8,79,.16);
  --shadow-sm:0 12px 30px rgba(17,17,17,.06);
  --shadow-md:0 20px 50px rgba(17,17,17,.09);
  --shadow-lg:0 28px 80px rgba(17,17,17,.14);
  --card-radius:20px;
}

body{
  position:relative;
  background:
    radial-gradient(circle at top left, rgba(213,8,79,.06), transparent 28%),
    radial-gradient(circle at top right, rgba(166,160,198,.14), transparent 34%),
    linear-gradient(180deg, #fff 0%, #fbfafb 100%);
  color:var(--text);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 18%),
    radial-gradient(circle at 12% 18%, rgba(213,8,79,.04), transparent 16%),
    radial-gradient(circle at 84% 20%, rgba(166,160,198,.08), transparent 18%);
  z-index:-1;
}

main section[id], footer[id], [id="top"]{scroll-margin-top:calc(var(--header-h) + 24px);}
main > section, footer{content-visibility:auto;contain-intrinsic-size:1px 760px;}
.brand-banner,.hero,.header{content-visibility:visible;}

.wrap{
  max-width:min(1180px, calc(100vw - 32px));
  margin:0 auto;
  padding:0 20px;
}
section{padding:72px 0;}

.header{
  background:#fff !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom:1px solid rgba(17,17,17,.08) !important;
  box-shadow:0 10px 26px rgba(17,17,17,.04);
  transition:height 220ms ease, background-color 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
body.is-scrolled .header{
  background:#fff !important;
  box-shadow:0 14px 34px rgba(17,17,17,.07);
  border-bottom-color:rgba(17,17,17,.10) !important;
}
.brand img{filter:drop-shadow(0 4px 8px rgba(213,8,79,.08));}
.actions{gap:10px;}
.icon-btn{
  border-color:rgba(17,17,17,.08) !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 8px 18px rgba(17,17,17,.05);
}
.icon-btn:hover,.icon-btn:focus-visible{box-shadow:0 12px 28px rgba(17,17,17,.1);}

.skip-link{
  box-shadow:var(--shadow-sm);
}

#offcanvas{z-index:12000 !important;}
.offcanvas__backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.offcanvas__panel{
  padding:18px;
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  border-left:1px solid rgba(17,17,17,.08);
  box-shadow:-18px 0 40px rgba(17,17,17,.12);
}
.offcanvas__panel .nav{gap:10px;}
.nav__link{
  display:flex;
  align-items:center;
  min-height:52px;
  border-radius:14px !important;
  border-color:rgba(17,17,17,.08) !important;
  background:rgba(255,255,255,.85) !important;
  box-shadow:0 8px 20px rgba(17,17,17,.04);
}
.nav__link:hover{transform:translateX(2px) !important;}
.nav__link.is-current,
.nav__link[aria-current="location"]{
  background:linear-gradient(90deg, rgba(213,8,79,.10), rgba(166,160,198,.12)) !important;
  border-color:rgba(213,8,79,.18) !important;
  box-shadow:0 14px 28px rgba(17,17,17,.05);
}

.hero{
  padding:0;
  margin:0;
}
.hero__viewport{
  aspect-ratio:auto;
  min-height:0;
  background:#111;
  border-radius:0 0 28px 28px;
  overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.hero__viewport::before{
  background:
    linear-gradient(180deg, rgba(17,17,17,.18) 0%, rgba(17,17,17,.05) 36%, rgba(17,17,17,.55) 100%) !important;
  z-index:1 !important;
}
.hero__slide,
.hero__slide img{height:auto !important;}
.hero__slide img{
  width:100%;
  height:auto !important;
  object-fit:initial;
  filter:contrast(1.03) saturate(1.04) !important;
  transform:none;
}
.hero__overlay{
  inset:auto 0 6% 0 !important;
  padding:0 20px !important;
}
.hero__title{
  max-width:min(17ch, 92vw);
  padding:24px 26px;
  border-radius:24px;
  background:rgba(17,17,17,.26);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
  font-size:clamp(30px, 5vw, 68px) !important;
  letter-spacing:-.02em;
}
.hero__subtitle{display:block;font-size:clamp(18px, 2vw, 28px);font-weight:500;opacity:.96;margin-top:10px;}

.brand-banner{
  background:transparent !important;
  padding:0 20px !important;
  margin-top:-36px;
  position:relative;
  z-index:5;
}
.brand-banner__inner{
  max-width:1180px;
  margin:0 auto;
  border-radius:24px;
  padding:22px 26px !important;
  background:linear-gradient(120deg, #d5084f 0%, #c4457b 34%, #a6a0c6 100%) !important;
  box-shadow:0 24px 60px rgba(17,17,17,.14);
  border:1px solid rgba(255,255,255,.22);
  position:relative;
  overflow:hidden;
}
.brand-banner__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(255,255,255,.18), transparent 36%, rgba(255,255,255,.08) 72%, transparent);
  pointer-events:none;
}

.section__wrap,
.location,
.acc,
.people-card__media,
.offcanvas__panel,
.contact-block{
  box-shadow:var(--shadow-sm);
}
.section__wrap{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.88));
  border:1px solid var(--line) !important;
  border-radius:24px !important;
  padding:28px !important;
  overflow:hidden;
}
.section__wrap::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, #d5084f, rgba(166,160,198,.7));
  opacity:.5;
}
.section__title{
  margin:0 0 10px;
  font-size:clamp(28px, 3.4vw, 40px);
  letter-spacing:-.02em;
  line-height:1.15;
}
.subhead{
  font-size:1.08rem;
  line-height:1.35;
}
.section__wrap > p,
.acc__panel p,
.people-card__body p,
.location p,
.contact-block p,
.es-form p,
#consent-banner p,
main li{color:var(--text-soft);}

#arbeitnehmer .section__wrap,
#betriebsraete .section__wrap,
#kontakt .section__wrap{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  align-items:start;
}
#arbeitnehmer .section__title,
#betriebsraete .section__title,
#kontakt .section__title,
#koepfe .section__title,
#standorte .section__title,
#ersteinschaetzung .section__title{
  grid-column:1 / -1;
}

.acc{
  margin:0 !important;
  border-radius:18px !important;
  border:1px solid rgba(17,17,17,.08) !important;
  background:rgba(255,255,255,.84) !important;
  overflow:hidden;
  transition:transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background-color 180ms ease;
}
.acc:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(17,17,17,.08);}
.acc[open]{
  border-color:rgba(213,8,79,.18) !important;
  box-shadow:0 18px 36px rgba(17,17,17,.08) !important;
  background:#fff !important;
}
.acc__summary{
  align-items:flex-start !important;
  min-height:88px;
  padding:18px 20px !important;
}
.acc__summary .subhead{padding-right:12px;}
.acc__panel{
  height:0;
  overflow:hidden;
  opacity:0;
  padding:0 20px !important;
  transition:height 420ms ease, opacity 260ms ease;
}
.acc[open] .acc__panel{opacity:1;}
.acc__panel-inner{padding:0 0 20px;}
.acc__chev{
  width:16px !important;
  height:16px !important;
  margin-top:6px;
  border-color:var(--red) !important;
}

#koepfe .section__wrap{padding-bottom:24px !important;}
.people-slider{
  position:relative;
  isolation:isolate;
}
.people-slider__viewport{
  min-height:clamp(460px, 54vw, 620px) !important;
  padding:18px 72px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(17,17,17,.06);
}
.people-slider__slide{padding:0 !important;}
.people-card{
  grid-template-columns:minmax(260px, 360px) 1fr;
  align-items:center;
  gap:28px;
  max-width:960px !important;
  width:100%;
}
.people-card__media{
  border:1px solid rgba(17,17,17,.08) !important;
  border-radius:22px !important;
  background:#fff;
  box-shadow:0 20px 38px rgba(17,17,17,.08) !important;
}
.people-card__media img{aspect-ratio:1 / 1;object-fit:cover;}
.people-card__body{
  padding:24px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(17,17,17,.06);
  box-shadow:0 18px 32px rgba(17,17,17,.05);
}
.people-card__body p{margin-top:4px;font-size:1rem;}
.people-card__title h3{margin:0;font-size:clamp(26px, 3vw, 34px);}
.people-slider__btn{
  width:58px;
  height:58px;
  min-width:58px !important;
  min-height:58px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(17,17,17,.08) !important;
  font-size:38px !important;
  display:grid;
  place-items:center;
  box-shadow:0 14px 28px rgba(17,17,17,.12);
}
.people-slider__btn:hover,.people-slider__btn:focus-visible{transform:translateY(-50%) scale(1.06) !important;}
.people-slider__dots{margin-top:18px !important;gap:8px !important;}
.people-slider__dot{
  width:12px !important;
  height:12px !important;
  border-color:rgba(213,8,79,.35) !important;
  background:rgba(255,255,255,.86) !important;
}
.people-slider__dot[aria-current="true"]{
  width:34px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, #d5084f, #a6a0c6) !important;
  border-color:transparent !important;
}

.locations{
  gap:20px !important;
}
.location,
.contact-block{
  position:relative;
  margin:0 !important;
  border:1px solid rgba(17,17,17,.08) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.86);
  padding:22px !important;
}
.location::after,
.contact-block::after{
  content:"";
  position:absolute;
  inset:auto 22px 0 22px;
  height:2px;
  background:linear-gradient(90deg, rgba(213,8,79,.7), rgba(166,160,198,.35));
}
.location .route-btn{
  min-width:180px;
  text-align:center;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 24px rgba(17,17,17,.06);
}
#kontakt .section__wrap{gap:16px;}
.contact-block a{font-weight:600;}

#ersteinschaetzung .section__wrap{padding-bottom:30px !important;}
#es-hint{
  margin:0 0 4px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(213,8,79,.12);
  background:linear-gradient(135deg, rgba(213,8,79,.05), rgba(166,160,198,.06));
}
.es-form{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 20px !important;
}
.es-form > p,
.es-form > details,
.es-actions,
.es-status{grid-column:1 / -1;}
.es-fieldset{
  border-radius:18px !important;
  border-color:rgba(17,17,17,.08) !important;
  background:rgba(255,255,255,.82);
  padding:16px !important;
}
.es-checks,
.es-radios{gap:12px !important;}
.es-check,
.es-radio{
  min-height:44px;
  padding:10px 14px !important;
  border-radius:999px !important;
  border-color:rgba(17,17,17,.08) !important;
  background:rgba(255,255,255,.92);
  transition:transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease;
}
.es-check:hover,
.es-radio:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(17,17,17,.06);}
.es-check:has(input:checked),
.es-radio:has(input:checked){
  background:linear-gradient(90deg, rgba(213,8,79,.08), rgba(166,160,198,.08));
  border-color:rgba(213,8,79,.18) !important;
}
.es-group{
  display:grid;
  gap:8px;
}
.es-group--full{grid-column:1 / -1;}
.es-group input,
.es-group select,
.es-group textarea{
  min-height:52px;
  border-radius:14px !important;
  border:1px solid rgba(17,17,17,.12) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 8px 18px rgba(17,17,17,.03);
}
.es-group textarea{
  min-height:180px !important;
  padding-top:14px !important;
}
.es-group input:focus-visible,
.es-group select:focus-visible,
.es-group textarea:focus-visible{
  box-shadow:0 0 0 4px rgba(213,8,79,.10), 0 16px 30px rgba(17,17,17,.06) !important;
}
.field-error{font-size:13px !important;}
.es-status{
  border-radius:16px !important;
  padding:14px 16px !important;
}
.es-actions{display:flex;justify-content:flex-start;}
.btn-primary{
  min-height:52px;
  padding:12px 20px !important;
  border-radius:14px !important;
  background:linear-gradient(90deg, #d5084f, #bf3e76) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 18px 32px rgba(213,8,79,.22);
}
.btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-1px) scale(1.01) !important;box-shadow:0 20px 34px rgba(213,8,79,.26) !important;}

footer{
  position:relative;
  padding:32px 0 !important;
  background:rgba(255,255,255,.82);
  border-top:1px solid rgba(17,17,17,.08) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, rgba(213,8,79,.5), rgba(166,160,198,.35), rgba(213,8,79,.5));
}
.footer__wrap{
  gap:16px !important;
  justify-content:space-between !important;
  padding:0 20px !important;
  max-width:min(1180px, calc(100vw - 32px));
  margin:0 auto;
}
.footer__legal{gap:16px !important;}
.footer__legal a,
.cb-link{text-underline-offset:3px;}
.footer__socials{gap:12px !important;align-items:center;}
.social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.social-link img{
  height:32px !important;
  width:auto !important;
  transition:transform var(--speed) ease, box-shadow var(--speed) ease;
}
.social-link:hover img,
.social-link:focus-visible img{
  transform:scale(1.08);
  box-shadow:0 4px 10px rgba(0,0,0,.1);
  outline:none;
}

#consent-banner{
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-top:1px solid rgba(17,17,17,.08) !important;
  box-shadow:0 -18px 44px rgba(17,17,17,.10) !important;
}
#consent-banner .wrap{
  max-width:min(1180px, calc(100vw - 32px));
}
.cb-btn{
  min-height:44px;
  border-radius:12px !important;
  box-shadow:0 8px 18px rgba(17,17,17,.05);
}
.cb-btn--primary{box-shadow:0 14px 24px rgba(213,8,79,.18);}

.icon-btn:focus-visible,
.nav__link:focus-visible,
.route-btn:focus-visible,
.btn-primary:focus-visible,
.people-slider__btn:focus-visible,
.social-link:focus-visible,
.people-li:focus-visible,
.cb-btn:focus-visible,
.acc__summary:focus-visible{
  outline:2px solid var(--red);
  outline-offset:3px;
}

.no-js-note{display:none;padding:12px 14px;margin:16px 0;border:1px solid rgba(213,8,79,.25);border-radius:10px;background:rgba(213,8,79,.04);}
noscript .no-js-note{display:block;}

.reveal-on-scroll{
  opacity:0;
  transform:translateY(18px);
  transition:opacity 520ms ease, transform 520ms ease;
  will-change:opacity, transform;
}
.reveal-on-scroll.is-revealed{
  opacity:1;
  transform:none;
}

@media (max-width: 1100px){
  .hero__title{max-width:min(18ch, 94vw);}
  .people-card{grid-template-columns:minmax(240px, 320px) 1fr;}
}

@media (max-width: 900px){
  section{padding:60px 0;}
  #arbeitnehmer .section__wrap,
  #betriebsraete .section__wrap,
  #kontakt .section__wrap,
  .es-form{
    grid-template-columns:1fr;
  }
  .hero__viewport,
  .hero__slide,
  .hero__slide img{height:auto !important;min-height:0;}
  .people-slider__viewport{padding:18px 24px 72px !important;}
  .people-card{grid-template-columns:1fr;max-width:560px !important;gap:18px;}
  .people-card__body{padding:20px;}
  .people-slider__btn{top:auto !important;bottom:16px;transform:none !important;}
  .people-slider__btn--prev{left:calc(50% - 68px) !important;}
  .people-slider__btn--next{right:calc(50% - 68px) !important;}
  .people-slider__btn:hover,.people-slider__btn:focus-visible{transform:scale(1.05) !important;}
}

@media (max-width: 640px){
  .wrap{max-width:calc(100vw - 20px);padding:0 12px;}
  body{padding-top:var(--header-h);}
  .header{padding:0 12px !important;}
  .hero__viewport,
  .hero__slide,
  .hero__slide img{min-height:0;height:auto !important;}
  .hero__overlay{inset:auto 0 4.5% 0 !important;}
  .hero__title{
    padding:18px 18px 20px;
    border-radius:18px;
    font-size:clamp(26px, 9vw, 40px) !important;
  }
  .hero__subtitle{font-size:clamp(16px, 4.6vw, 20px);}
  .brand-banner{padding:0 12px !important;margin-top:-24px;}
  .brand-banner__inner{padding:16px 18px !important;border-radius:18px;font-size:1.28rem !important;line-height:1.5 !important;}
  .section__wrap{padding:20px !important;border-radius:18px !important;}
  .section__title{font-size:clamp(24px, 8vw, 32px);}
  .acc__summary{min-height:72px;padding:16px !important;}
  .acc__panel{padding:0 16px !important;}
  .people-slider__viewport{padding:14px 14px 78px !important;min-height:0 !important;}
  .people-card__body{padding:16px;}
  .people-slider__btn{width:52px;height:52px;min-width:52px !important;min-height:52px !important;font-size:32px !important;}
  .people-slider__dots{margin-top:14px !important;}
  .locations{grid-template-columns:1fr !important;}
  .location,
  .contact-block{padding:18px !important;border-radius:16px !important;}
  .es-fieldset{padding:14px !important;}
  .es-check,
  .es-radio{width:100%;justify-content:flex-start;}
  .es-group input,
  .es-group select,
  .es-group textarea{min-height:50px;}
  .footer__wrap{justify-content:center !important;text-align:center;gap:14px !important;}
}

@media (prefers-reduced-motion: reduce){
  .reveal-on-scroll{opacity:1 !important;transform:none !important;transition:none !important;}
  *{animation:none !important;transition:none !important;}
}


/* 2026-03-14: hero box widened, people slider switched to direct transitions and richer bios */
.hero__title{
  max-width:min(28ch, 96vw) !important;
}
.hero__subtitle{
  display:block;
}

.people-slider__viewport{
  min-height:clamp(500px, 56vw, 660px) !important;
}
.people-slider__slide{
  display:none !important;
  position:relative !important;
  inset:auto !important;
  opacity:1 !important;
  transition:none !important;
  animation:none !important;
  pointer-events:none !important;
}
.people-slider__slide.is-active{
  display:grid !important;
  pointer-events:auto !important;
}
.people-card{
  grid-template-columns:minmax(290px, 360px) 1fr;
  align-items:start;
  gap:30px;
  max-width:1020px !important;
}
.people-card__side{
  display:grid;
  gap:12px;
}
.people-card__media img{
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center top;
}
.people-card__caption{
  margin:0;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(17,17,17,.08);
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 22px rgba(17,17,17,.05);
  font-weight:700;
  color:var(--red);
  text-align:center;
}
.people-card__body{
  min-height:100%;
}
.people-card__title{
  margin-bottom:14px;
}
.people-card__title h3{
  margin:0;
}
.people-card__body p{
  margin:0;
  font-size:1.02rem;
  line-height:1.75;
}
.people-card--staff .people-card__body p{
  max-width:62ch;
}

@media (max-width: 1100px){
  .hero__title{max-width:min(30ch, 96vw) !important;}
}

@media (max-width: 900px){
  .people-slider__viewport{min-height:0 !important;padding:18px 24px 72px !important;}
  .people-card{
    grid-template-columns:1fr;
    max-width:620px !important;
    gap:18px;
  }
  .people-card__side{
    max-width:360px;
    margin:0 auto;
    width:100%;
  }
  .people-card__body{
    padding:20px !important;
  }
}

@media (max-width: 640px){
  .hero__title{
    max-width:min(24ch, 96vw) !important;
  }
  .hero__subtitle{
    margin-top:8px;
  }
  .people-slider__viewport{
    padding:14px 14px 78px !important;
  }
  .people-card__caption{
    padding:10px 12px;
    border-radius:14px;
    font-size:.96rem;
  }
  .people-card__body p{
    font-size:.98rem;
    line-height:1.68;
  }
}

@media (prefers-reduced-motion: reduce){
  .acc__panel{transition:none !important;}
}

/* 2026-03-14b: mobile hardening and accordion fallback */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:hidden;
}
body{
  min-width:320px;
  overflow-x:clip;
}
main > section,
footer{
  content-visibility:visible;
  contain-intrinsic-size:auto;
}
.header{
  padding-left:max(12px, env(safe-area-inset-left)) !important;
  padding-right:max(12px, env(safe-area-inset-right)) !important;
}
.offcanvas__panel{
  padding-bottom:max(24px, env(safe-area-inset-bottom));
}
.offcanvas__backdrop,
.offcanvas__panel,
.hero__title,
.brand-banner__inner,
.people-card__caption,
.location,
.contact-block,
.acc,
.section__wrap{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
img{
  height:auto;
}
a,
button,
summary,
input,
select,
textarea,
label{
  touch-action:manipulation;
}
.es-check.is-checked,
.es-radio.is-checked{
  border-color:rgba(213,8,79,.42) !important;
  background:rgba(213,8,79,.06) !important;
}
#ersteinschaetzung .acc__panel{
  display:block;
}
#ersteinschaetzung .acc[open] .acc__panel{
  height:auto;
  opacity:1;
}
.people-slider__btn,
.people-slider__dot,
.icon-btn,
.route-btn,
.btn-primary{
  min-width:44px;
  min-height:44px;
}
@supports not selector(:has(*)){
  .es-check input:checked + span,
  .es-radio input:checked + span{
    font-weight:700;
  }
}
@media (max-width: 900px){
  input,
  select,
  textarea,
  button{
    font-size:16px !important;
  }
  .people-slider__btn{
    padding:16px 22px;
    font-size:40px;
  }
}
@media (max-width: 640px){
  body{padding-top:var(--header-h);}
  .wrap{padding:0 16px !important;}
  .section__wrap,
  .location,
  .contact-block,
  .people-card__body,
  .es-fieldset{
    border-radius:16px !important;
  }
  .people-slider__viewport{
    overflow:visible;
  }
  .hero__overlay{
    padding-left:max(16px, env(safe-area-inset-left));
    padding-right:max(16px, env(safe-area-inset-right));
  }
}


/* 2026-03-14c: header band and action buttons aligned to pure white */
.header{
  background:#ffffff !important;
  background-image:none !important;
  opacity:1 !important;
}
body.is-scrolled .header{
  background:#ffffff !important;
  background-image:none !important;
  opacity:1 !important;
}
.icon-btn{
  background:#ffffff !important;
  background-image:none !important;
  opacity:1 !important;
}
.brand,
.brand img{
  background:#ffffff !important;
}


/* 2026-03-14d: uniform pure-white header band matching logo background */
.header,
body.is-scrolled .header{
  background:#ffffff !important;
  border-bottom-color:transparent !important;
  box-shadow:none !important;
}
.icon-btn{
  background:#ffffff !important;
}
.icon-btn:hover,
.icon-btn:focus-visible{
  box-shadow:0 6px 18px rgba(17,17,17,.06) !important;
}
.brand,
.brand img{
  background:#ffffff !important;
}

/* 2026-03-14e: header optically merged with logo background like original */
.header,
body.is-scrolled .header{
  background:#ffffff !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background-image:none !important;
}
.header::before,
.header::after{
  content:none !important;
  display:none !important;
}
.brand,
.brand img{
  background:#ffffff !important;
  filter:none !important;
  box-shadow:none !important;
}
.brand img{
  display:block;
}
.actions{
  gap:12px !important;
}
.icon-btn{
  background:#ffffff !important;
  background-image:none !important;
  border:1px solid #ececec !important;
  box-shadow:none !important;
}
.icon-btn:hover,
.icon-btn:focus-visible{
  box-shadow:none !important;
}

/* 2026-03-14f: header matched back to original header optics */
html,
body{
  background:#ffffff !important;
}
.header,
body.is-scrolled .header{
  background:#ffffff !important;
  background-image:none !important;
  border-bottom:1px solid #eeeeee !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:1 !important;
}
.header::before,
.header::after,
body.is-scrolled .header::before,
body.is-scrolled .header::after{
  content:none !important;
  display:none !important;
}
.brand,
.actions{
  background:transparent !important;
}
.brand img{
  display:block !important;
  background:transparent !important;
  filter:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.icon-btn{
  width:44px !important;
  height:44px !important;
  background:#ffffff !important;
  background-image:none !important;
  border:1px solid #eeeeee !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.icon-btn:hover,
.icon-btn:focus-visible{
  box-shadow:0 6px 18px rgba(0,0,0,.08) !important;
}


/* 2026-03-14g: deployment hardening, mobile image safety, no cropped heads */
.hero__viewport{
  background:#ffffff !important;
}
.hero__slide{
  display:grid;
  place-items:stretch;
}
.hero__slide img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.people-slider__viewport{
  min-height:0 !important;
  transition:min-height 180ms ease;
  overflow:hidden;
}
.people-slider__slide{
  align-items:start !important;
}
.people-card{
  width:100%;
  align-items:start !important;
}
.people-card__side{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-self:start;
}
.people-card__media{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
  background:#ffffff !important;
}
.people-card__media img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
}
.people-card__body{
  min-width:0;
}
.people-card__body p{
  overflow-wrap:anywhere;
}
@media (max-width: 900px){
  .people-slider__viewport{
    padding:16px 16px 84px !important;
  }
  .people-card{
    grid-template-columns:1fr !important;
    max-width:640px !important;
    gap:18px !important;
  }
  .people-card__side{
    width:100%;
    max-width:min(380px, 100%);
    margin:0 auto;
  }
}
@media (max-width: 640px){
  .hero__viewport{
    border-radius:0 0 18px 18px !important;
  }
  .hero__overlay{
    inset:auto 0 4% 0 !important;
  }
  .hero__title{
    max-width:min(24ch, calc(100vw - 32px)) !important;
  }
  .people-slider__viewport{
    padding:14px 12px 82px !important;
  }
  .people-card__side{
    max-width:min(340px, 100%);
  }
  .people-card__media{
    border-radius:18px !important;
  }
  .people-card__body{
    padding:18px !important;
  }
  .people-card__body p{
    font-size:.96rem !important;
    line-height:1.62 !important;
  }
}
