/* Fachinstitut v1.4.1 — mobile-first design refinement, additive and scoped.
   Own page templates only, does not style ordinary Enfold pages. */
@media (max-width:1250px) {
  body.fis-relaunch-page .fis-relaunch .desktop-nav,
  body.fis-relaunch-page .fis-relaunch .header__cta { display:none; }
  body.fis-relaunch-page .fis-relaunch .menu-toggle { display:flex; margin-left:auto; border:1px solid #ddd2c1; width:48px; height:46px; background:#fff; flex-flow:column; align-items:center; justify-content:center; gap:5px; padding:0; }
  body.fis-relaunch-page .fis-relaunch .menu-toggle span {display:block;width:21px;height:2px;background:#2c2b27;border-radius:4px;transform-origin:center;transition:transform .18s,opacity .18s;}
  body.fis-relaunch-page .fis-relaunch .mobile-nav:not([hidden]) {display:flex;flex-direction:column;align-items:stretch;background:#faf8f4;border-top:1px solid #eae3d8;box-shadow:0 16px 30px #1f1b1316;padding:12px max(28px,calc((100% - 700px)/2)) 25px;max-height: min(76vh,720px);max-height: min(76dvh,720px);overflow-y:auto; overscroll-behavior:contain;}
  body.fis-relaunch-page .fis-relaunch .mobile-nav[hidden] {display:none!important;}
  body.fis-relaunch-page .fis-relaunch .mobile-nav a {font-size:15px;padding:11px 5px;line-height:1.35;}
  body.fis-relaunch-page .fis-relaunch .mobile-nav .mobile-nav__cta {background:#2d2c29;color:#fff;text-align:center;margin-top:13px;padding:13px;font-weight:700;}
  body.fis-relaunch-page .fis-relaunch .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.fis-relaunch-page .fis-relaunch .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  body.fis-relaunch-page .fis-relaunch .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
/* Between narrow desktop and tablet widths, a two-column hero squeezes copy.
   Force a calm one-column flow before switching to the desktop composition. */
@media (min-width:811px) and (max-width:1220px) {
  body.fis-relaunch-page .fis-relaunch .hero__inner {grid-template-columns:minmax(0,1fr);gap:24px;width:min(860px,calc(100% - 70px));margin-inline:auto;padding-top:43px;padding-bottom:64px;}
  body.fis-relaunch-page .fis-relaunch .hero__content {width:100%;padding:0;}
  body.fis-relaunch-page .fis-relaunch .hero h1 {font-size:clamp(50px,6vw,71px);max-width:750px;line-height:1.12;}
  body.fis-relaunch-page .fis-relaunch .hero__visual {width:100%;padding:0;}
  body.fis-relaunch-page .fis-relaunch .hero__photo-frame {height:auto;aspect-ratio:1.65;border-radius:130px 4px 4px 4px;}
  body.fis-relaunch-page .fis-relaunch .hero__floating {left:18px;bottom:-18px;}
  body.fis-relaunch-page .fis-relaunch .hero__side-caption {display:none;}
  body.fis-relaunch-page .fis-relaunch .hero__trust {margin-top:22px;}
}
@media (max-width:810px) {
  body.fis-relaunch-page .fis-relaunch .hero__inner {gap:24px;}
  body.fis-relaunch-page .fis-relaunch .hero h1 {font-size:clamp(44px,7.4vw,63px);line-height:1.09;}
  body.fis-relaunch-page .fis-relaunch .hero__lead {line-height:1.65;}
  body.fis-relaunch-page .fis-relaunch .hero__photo-frame {aspect-ratio:1.6;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__inner {padding-block:32px 47px;gap:22px;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero h1 {line-height:1.1;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__visual {aspect-ratio:1.7;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__visual img {object-position:50% 43%;}
  body.fis-relaunch-page .fis-relaunch .fis-subcta__inner {gap:22px;}
  body.fis-relaunch-page .fis-relaunch .fis-subcta .btn {max-width:100%;}
}
@media (max-width:600px) {
  /* Remove second desktop-style notification line to make room for the team photo. */
  body.fis-relaunch-page .fis-relaunch .eyeline {display:none;}
  body.fis-relaunch-page .fis-relaunch .header {position:sticky;top:0;z-index:250;}
  body.admin-bar.fis-relaunch-page .fis-relaunch .header {top:0;}
  body.fis-relaunch-page .fis-relaunch .header__inner {min-height:70px;gap:12px;}
  body.fis-relaunch-page .fis-relaunch .brand,
  body.fis-relaunch-page .fis-relaunch .brand img {width:144px;height:67px;max-width:144px;object-fit:contain;}
  body.fis-relaunch-page .fis-relaunch .menu-toggle {width:46px;height:43px;flex:0 0 46px;}
  body.fis-relaunch-page .fis-relaunch .mobile-nav:not([hidden]) {padding:10px 20px 22px;max-height:calc(100dvh - 74px);}
  body.fis-relaunch-page .fis-relaunch .container {width:calc(100% - 40px);max-width:100%;}
  body.fis-relaunch-page .fis-relaunch .section {padding-block:53px;}
  body.fis-relaunch-page .fis-relaunch .section-heading--center {margin-bottom:27px;}
  body.fis-relaunch-page .fis-relaunch h2 {font-size:clamp(32px,8.4vw,41px);line-height:1.14;overflow-wrap:break-word;}
  body.fis-relaunch-page .fis-relaunch p {overflow-wrap:break-word;}
  /* The hero is now an editorial composition with the photo under the title. */
  body.fis-relaunch-page .fis-relaunch .hero {min-height:0;}
  body.fis-relaunch-page .fis-relaunch .hero__inner {display:flex;flex-direction:column;align-items:stretch;gap:0;width:calc(100% - 40px);margin-inline:auto;padding:29px 0 41px;}
  body.fis-relaunch-page .fis-relaunch .hero__content {display:contents;}
  body.fis-relaunch-page .fis-relaunch .hero .eyebrow {order:1;margin:0 0 13px;font-size:9px;line-height:1.4;letter-spacing:.115em;min-height:17px;}
  body.fis-relaunch-page .fis-relaunch .hero h1 {order:2;font-size:clamp(39px,10.4vw,48px);line-height:1.055;letter-spacing:-.052em;max-width:100%;margin:0;}
  body.fis-relaunch-page .fis-relaunch .hero__visual {order:3;width:100%;max-width:100%;padding:0;margin:19px 0 0;}
  body.fis-relaunch-page .fis-relaunch .hero__photo-frame {height:auto;aspect-ratio:1.55;width:100%;border-radius:73px 5px 5px 5px;box-shadow:0 12px 30px #2b24171a;}
  body.fis-relaunch-page .fis-relaunch .hero__photo-frame img {object-fit:cover;object-position:center 43%;width:100%;height:100%;}
  body.fis-relaunch-page .fis-relaunch .hero__floating,
  body.fis-relaunch-page .fis-relaunch .hero__side-caption {display:none;}
  body.fis-relaunch-page .fis-relaunch .hero__lead {order:4;font-size:15px;line-height:1.58;margin-top:21px;max-width:100%;color:#383632;}
  body.fis-relaunch-page .fis-relaunch .hero__note {order:5;font-size:13px;line-height:1.6;margin-top:8px;max-width:100%;color:#777169;}
  body.fis-relaunch-page .fis-relaunch .hero__actions {order:6;display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:19px 0 0;width:100%;}
  body.fis-relaunch-page .fis-relaunch .hero__actions .btn {min-height:51px;max-width:100%;width:100%;padding:12px 18px;white-space:normal;justify-content:center;gap:13px;font-size:12px;}
  body.fis-relaunch-page .fis-relaunch .hero__actions .btn--text {border:1px solid #cbb994;background:transparent;min-height:48px;padding:10px 12px;}
  body.fis-relaunch-page .fis-relaunch .hero__trust {order:7;font-size:12px;line-height:1.5;margin:16px 0 0;gap:8px;}
  body.fis-relaunch-page .fis-relaunch .hero__trust-symbol {font-size:19px;}
  /* Subpages: stop using the oversized desktop cover treatment on a phone. */
  body.fis-relaunch-page .fis-relaunch .fis-subhero__inner {padding:23px 0 41px;gap:16px;}
  body.fis-relaunch-page .fis-relaunch .fis-breadcrumb {margin:0 0 15px;font-size:10px;gap:8px;flex-wrap:wrap;line-height:1.4;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero h1 {font-size:clamp(33px,9.1vw,44px);line-height:1.07;letter-spacing:-.045em;margin-bottom:13px;overflow-wrap:break-word;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__copy {padding:0;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__copy>p {font-size:15px;line-height:1.55;margin-bottom:17px;max-width:100%;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__buttons {gap:9px;display:flex;flex-wrap:wrap;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__buttons .btn {font-size:11px;min-height:45px;flex:1 1 auto;padding:10px 12px;justify-content:center;line-height:1.25;max-width:100%;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__visual {aspect-ratio:1.48;height:auto;min-height:0;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__visual img {border-radius:70px 4px 4px 4px;}
  body.fis-relaunch-page .fis-relaunch .fis-team-intro__layout>div:first-child img {height:auto;aspect-ratio:1.45;object-fit:cover;}
  body.fis-relaunch-page .fis-relaunch .fis-people__grid {display:grid;grid-template-columns:1fr;gap:14px;}
  body.fis-relaunch-page .fis-relaunch .fis-person>img {aspect-ratio:1.4;object-fit:cover;object-position:50% 28%;}
  body.fis-relaunch-page .fis-relaunch .fis-person__caption {padding:19px 20px 23px;min-height:0;}
  body.fis-relaunch-page .fis-relaunch .fis-person h3 {font-size:24px;margin:8px 0 6px;}
  body.fis-relaunch-page .fis-relaunch .fis-person__role {font-size:13px;}
  body.fis-relaunch-page .fis-relaunch .fis-person__bio {font-size:14px;line-height:1.65;}
  body.fis-relaunch-page .fis-relaunch .fis-price-group {padding:20px 18px;}
  body.fis-relaunch-page .fis-relaunch .fis-price-group h3 {font-size:24px;}
  body.fis-relaunch-page .fis-relaunch .fis-price-row {align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;}
  body.fis-relaunch-page .fis-relaunch .fis-price-row>*:first-child {flex:1 1 auto;min-width:0;}
  body.fis-relaunch-page .fis-relaunch .fis-price-row strong {flex:0 0 auto;max-width:46%;white-space:normal;}
  body.fis-relaunch-page .fis-relaunch .treatment-tile>img {height:210px;}
  body.fis-relaunch-page .fis-relaunch .treatment-tile__bottom {min-height:0;padding:18px 20px;}
  body.fis-relaunch-page .fis-relaunch .treatment-tile__bottom strong {font-size:21px;}
  body.fis-relaunch-page .fis-relaunch .fis-service-card__body {padding:20px;}
  body.fis-relaunch-page .fis-relaunch .fis-service-card__body h3 {font-size:24px;}
  body.fis-relaunch-page .fis-relaunch .fis-news-card__copy {padding:20px;}
  body.fis-relaunch-page .fis-relaunch .fis-legal__content {font-size:15px;line-height:1.68;}
  body.fis-relaunch-page .fis-relaunch .fis-legal__content :is(h1,h2) {font-size:28px;line-height:1.2;overflow-wrap:anywhere;}
  body.fis-relaunch-page .fis-relaunch .fis-legal__content :is(table,iframe,figure,pre) {max-width:100%;}
  body.fis-relaunch-page .fis-relaunch .fis-legal__content table {display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  body.fis-relaunch-page .fis-relaunch .fis-legal__content img {height:auto;max-width:100%;}
  body.fis-relaunch-page .fis-relaunch .fis-original__body {padding:17px;overflow-wrap:anywhere;}
  body.fis-relaunch-page .fis-relaunch .fis-footer,body.fis-relaunch-page .fis-relaunch .footer {overflow-wrap:break-word;}
  body.fis-relaunch-page .fis-relaunch .footer__top {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 15px;}
  body.fis-relaunch-page .fis-relaunch .footer__top>div:first-child {grid-column:1/-1;}
  body.fis-relaunch-page .fis-relaunch .footer__bottom {font-size:11px;line-height:1.7;}
  body.fis-relaunch-page .fis-relaunch .footer__bottom>div {gap:8px 15px;}
  /* Inline iFrames and tables must not force a wider viewport. */
  body.fis-relaunch-page .fis-relaunch .fis-tour-stage {height:min(60vh,410px);height:min(60dvh,410px);min-height:290px;}
  body.fis-relaunch-page .fis-relaunch :is(.fis-ipl-table-wrap,.fis-legal__content,.fis-original__body) {max-width:100%;}
}
@media (max-width:350px) {
  body.fis-relaunch-page .fis-relaunch .hero h1 {font-size:38px;}
  body.fis-relaunch-page .fis-relaunch .hero__inner,
  body.fis-relaunch-page .fis-relaunch .container {width:calc(100% - 30px);}
  body.fis-relaunch-page .fis-relaunch .fis-subhero h1 {font-size:32px;}
  body.fis-relaunch-page .fis-relaunch .fis-subhero__buttons .btn {flex-basis:100%;}
}
