@import url("https://fonts.cdnfonts.com/css/google-sans");
@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@200;300;400;500;800;900&display=swap");
:root{--brown-700:#2c111d;--brown-500:#402531;--brown-400:#543945;--cream-500:#faf8ef;--cream-700:#f0ebe2;--cream-800:#eae2d9;--yellow-400:#AFDAFC;--pink-400:#ffbbe4;--blue-500:#7acaff;--green-400:#69e691;--orange-400:#f96926;--purple-400:#d4b5f6;--radius:22px;--radius-media:16px;--radius-section:80px;--hero-beige:#faf7f2;--ink-hero:#0D151C;--hero-cta-bg:#0052B4;--hero-cta-hover:#0D151C;--partner-mix:#f4efe4;--partner-head:clamp(4.25rem,10svh,6.5rem);--hero-grad:linear-gradient(180deg, #CAE6FB 0%, #A8D9FC 50%, #AFDAFC 100%);--fr-border-soft:rgba(13,21,28,.1);--fr-text-muted:#0D151C;--hero-grad-top:#CAE6FB}
*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:96px}
html,body{margin:0;padding:0;font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;background:var(--hero-beige);color:var(--ink-hero)}
body{max-width:100%}
section{scroll-margin-top:96px}
/* Scroll-Radius: runde Unterkante wächst beim Scrollen */
.hero-landing__blue,
.cards-scroll__panel,
.fr-infopoint-landing__blue,
.how-slider__panel,
.section-stacking-cards,
.fr-bento__panel,
.fr-faq-section{
  --section-br:0px;
  --section-br-max:80px;
  border-bottom-left-radius:var(--section-br) !important;
  border-bottom-right-radius:var(--section-br) !important;
}
/* aussen beige: in den abgerundeten Ecken kein weisser Body, innen blauer Verlauf + Radius */
.hero-landing{
  position:relative;
  z-index:0;
  width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
  background:var(--hero-beige);
}
.hero-landing__blue{
  min-height:100dvh;
  min-height:100svh;
  min-height:max(100dvh,100svh,100lvh);
  display:flex;
  flex-direction:column;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:0;
  background:var(--hero-grad);
  background-attachment:fixed;
  border-radius:0 0 80px 80px;
  overflow:hidden;
  position:relative;
  z-index:0;
}
h1,h2,h3,h4,h5,h6{font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;font-style:normal;font-weight:500;color:var(--ink-hero)}
a{text-decoration:none;color:inherit}
.container{width:min(1240px,92vw);margin:0 auto}
.btn,.button{
  --accent-color:#111;
  --primary-color:#fff;
  --mx:50%;
  --my:50%;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.8rem 1.25rem;
  border:2px solid var(--accent-color);
  border-radius:999px;
  background:var(--primary-color);
  color:var(--accent-color);
  font-weight:700;
  line-height:1;
  text-decoration:none;
  overflow:hidden;
  cursor:pointer;
  isolation:isolate;
  transition:color .12s ease;
}
.btn::before,.button::before{
  content:"";
  position:absolute;
  left:var(--mx);
  top:var(--my);
  width:175%;
  aspect-ratio:1/1;
  border-radius:50%;
  background:var(--accent-color);
  transform:translate(-50%,-50%) scale(0);
  transform-origin:center;
  transition:transform .25s ease-in-out;
  pointer-events:none;
  z-index:0;
}
.btn > *, .button > *{position:relative;z-index:2}
.btn.is-hovered,.button.is-hovered{color:#fff}
.btn.is-hovered::before,.button.is-hovered::before{transform:translate(-50%,-50%) scale(1)}
.btn.alt{--primary-color:transparent;--accent-color:var(--brown-500)}
.tag{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.38rem .6rem;border-radius:999px;background:rgba(84,57,69,.1)}
@keyframes site-header-in{
  0%{transform:translate3d(0,-1.4rem,0);opacity:0}
  62%{transform:translate3d(0,0.2rem,0);opacity:1}
  82%{transform:translate3d(0,-0.15rem,0);opacity:1}
  100%{transform:translate3d(0,0,0);opacity:1}
}
section.site-header{
  position:relative;
  z-index:4;
  width:100%;
  background:transparent;
  flex:0 0 auto;
  margin:0;
  padding:0;
  align-self:stretch;
  animation:site-header-in 0.62s cubic-bezier(0.22,0.82,0.28,1) 0.16s both;
}
@media (prefers-reduced-motion:reduce){
  section.site-header{animation:none;transform:none;opacity:1}
  html{scroll-behavior:auto}
}
section.site-header .logo{color:#000}
.hero-stage{
  position:relative;
  z-index:1;
  width:100%;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  padding:0;
  box-sizing:border-box;
}
.nav-shell{width:100%;padding:10px 44px}
.nav-wrapper{width:min(1440px,100%);margin:0 auto}
.nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-height:82px;
  gap:clamp(0.4rem,2vw,1.25rem);
}
.logo{
  position:static;
  transform:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  justify-self:center;
  gap:.12rem;
  padding:10px 0;
  font-size:.78rem;
  font-weight:400;
  letter-spacing:0;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  transition:transform .22s ease,opacity .22s ease;
}
.logo:hover{transform:scale(1.04)}
.logo img{display:block;width:42px;height:auto}
.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}
.nav-links--left{justify-content:flex-start;justify-self:start}
.nav-links--right{justify-content:flex-end;justify-self:end}
/* Nav: UI-Sans */
.nav-links a,
.nav-drawer-link{
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
}
/* Navi: kein Rand im Default, solide Füllung im Hover (ohne Springen) */
section.site-header .nav-wrapper .nav-links a.header-nav-btn{
  --button-stroke:var(--ink-hero);
  --accent-color:var(--ink-hero);
  --primary-color:transparent;
  padding:0.65em 1.5em;
  min-height:0;
  font-size:16px;
  font-weight:500;
  line-height:1.2;
  border:0;
  border-radius:999px;
  color:var(--ink-hero);
  background:transparent;
  cursor:pointer;
  box-sizing:border-box;
  transition:color .2s ease,background-color .2s ease;
  box-shadow:none;
}
section.site-header .nav-wrapper .nav-links a.header-nav-btn::before{display:none;content:none}
section.site-header .nav-wrapper .nav-links a.header-nav-btn>span{white-space:nowrap}
section.site-header .nav-wrapper .nav-links a.header-nav-btn:hover,
section.site-header .nav-wrapper .nav-links a.header-nav-btn:focus-visible{
  color:#fff;
  background-color:var(--ink-hero);
  outline:0;
}
section.site-header .nav-wrapper .nav-links a.header-nav-btn:focus-visible{box-shadow:0 0 0 2px #CAE6FB,0 0 0 4px rgba(0,82,180,.4)}
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  position:relative;
  z-index:10060;
  flex-shrink:0;
}
.hamburger-line{
  width:24px;
  height:2px;
  background:var(--ink-hero);
  border-radius:0;
  transition:transform .25s ease,opacity .25s ease,background .25s ease;
}
.nav-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(13,21,28,.45);
  z-index:10040;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.nav-overlay.is-open{opacity:1;pointer-events:auto}
.nav-drawer{
  display:none;
  position:fixed;
  top:88px;
  right:20px;
  width:min(300px,calc(100% - 40px));
  max-height:min(70vh,calc(100dvh - 100px));
  z-index:10050;
  padding:0;
  background:#fff;
  border-radius:var(--radius);
  box-shadow:0 12px 40px rgba(0,0,0,.2);
  transform:translate3d(120%,0,0);
  opacity:0;
  transition:transform .3s ease,opacity .25s ease;
  /* overflow/scroll on .nav-drawer-links so × (outside right edge) is not clipped */
  overflow:visible;
  box-sizing:border-box;
  pointer-events:auto;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
}
.nav-drawer.is-open{transform:translate3d(0,0,0);opacity:1}
.nav-drawer-close{
  position:absolute;
  left:calc(100% + 8px);
  right:auto;
  top:0;
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  color:var(--ink-hero);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  opacity:.9;
  padding:0;
}
.nav-drawer-close:hover{opacity:1}
.nav-drawer-links{
  display:flex;
  flex-direction:column;
  margin:0;
  padding:0;
  gap:0;
  width:100%;
  max-height:min(70vh,calc(100dvh - 100px));
  overflow-y:auto;
  overflow-x:hidden;
}
.nav-drawer-link{
  color:var(--ink-hero);
  text-decoration:none;
  font-size:1rem;
  font-weight:400;
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:12px 16px;
  border-bottom:1px solid rgba(13,21,28,.06);
  transition:background .2s ease;
}
.nav-drawer-link:first-child{padding-top:16px}
.nav-drawer-link:last-child{
  border-bottom:0;
  padding-bottom:16px;
}
.nav-drawer-link:hover{background:rgba(0,0,0,.04)}
.nav-drawer-link--cta{
  font-weight:600;
  margin-top:0.35rem;
  border-top:1px solid rgba(13,21,28,.08);
  border-bottom:0;
  color:var(--hero-cta-bg);
}
.nav-drawer-link--cta:hover{background:rgba(0,82,180,.06)}
@media (max-width:768px){
  .nav-shell{padding:10px 20px}
  .nav{
    position:relative;
    display:flex;
    flex-direction:row;
    justify-content:flex-end;
    align-items:center;
    width:100%;
    min-height:64px;
    grid-template-columns:unset;
    grid-template-areas:unset;
    gap:0;
  }
  .nav .logo{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    z-index:1;
  }
  .nav .logo:hover{transform:translateX(-50%) scale(1.04)}
  .nav-links--left,
  .nav-links--right{display:none}
  .hamburger{display:flex}
  .nav-overlay,.nav-drawer{display:block}
}
.button{--primary-color:transparent;--accent-color:var(--button-stroke,#fff)}
.button__label{white-space:nowrap;font-size:1.2vw;font-weight:400}
.button--stroke{--primary-color:transparent;--accent-color:var(--button-stroke,#fff)}
.button--stroke.is-hovered{color:#fff}
.button--stroke:focus-visible{outline:2px solid #000;outline-offset:2px}
.hero{
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  padding:0;
  background:transparent;
  border-bottom-left-radius:24px;
  border-bottom-right-radius:24px;
  overflow:visible;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:stretch;
  color:#000;
  box-sizing:border-box;
  width:100%;
}
.hero::after{display:none}
.hero-inner{
  position:relative;
  z-index:1;
  flex:0 1 auto;
  align-self:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:min(1240px,92vw);
  max-width:100%;
  margin:0;
  padding:0 0 32px;
  box-sizing:border-box;
  pointer-events:none;
}
.hero-inner a,
.hero-inner button,
.hero-inner video,
.hero-inner .hero-video-block,
.hero-inner .hero-video-frame{pointer-events:auto}
.hero-inner .hero-video-row{pointer-events:none}
.hero-title{
  font-size:5vw;
  line-height:1.05;
  margin:0;
  max-width:100%;
  font-weight:500;
  color:#0b151d;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  letter-spacing:-.3vw;
  transition:transform .14s ease;
}
section.hero .hero-below{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  width:100%;
  max-width:640px;
  margin:0 auto 0;
  padding:0 20px 40px;
  box-sizing:border-box;
  gap:12px;
  flex-shrink:0;
  position:relative;
  z-index:1;
}
section.hero .hero-below .hero-title{
  font-size:78px;
  line-height:1.04;
  letter-spacing:-3px;
  max-width:100%;
}
section.hero .hero-below .hero-sub{
  font-size:20px;
  line-height:1.5;
  font-weight:300;
  color:#0b151d;
  max-width:100%;
  margin:0;
  padding:24px 0 0;
}
section.hero .hero-below .hero-cta,
section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta{
  box-sizing:border-box;
  min-height:56px;
  padding:18px 40px;
  font-size:18px;
  font-weight:600;
  border:0;
  --primary-color:var(--hero-cta-bg);
  --button-stroke:var(--hero-cta-bg);
  background:var(--hero-cta-bg);
  color:#fff;
  box-shadow:0 10px 32px rgba(0,0,0,.12);
  overflow:hidden;
  isolation:isolate;
}
section.hero .hero-below .hero-cta{
  margin-top:10px;
}
section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta{
  margin-top:20px;
}
section.hero .hero-below .hero-cta,
section.hero .hero-below .hero-cta .button__label,
section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta,
section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta .button__label{
  color:#fff;
}
section.hero .hero-below .hero-cta::before,
section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta::before{
  background:var(--hero-cta-hover);
}
section.hero .hero-below .hero-cta .button__label,
section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta .button__label{
  position:relative;
  z-index:2;
  font-size:18px;
  font-weight:400;
  white-space:nowrap;
}
section.hero .hero-below .hero-cta:focus-visible,
section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta:focus-visible{
  outline:0;
  box-shadow:0 0 0 2px #fff,0 0 0 4px var(--hero-cta-bg);
}
section.hero .hero-below .hero-title{margin:0}
.hero-deco-below{
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  width:100%;
  max-width:100%;
  z-index:0;
  pointer-events:none;
  box-sizing:border-box;
}
@media (min-width:601px){
  .hero-below{order:2}
  .hero-inner{row-gap:1rem}
  .hero-inner .hero-video-row{order:1;position:relative;z-index:1}
  .hero-deco-below{
    left:50%;
    right:auto;
    width:100vw;
    max-width:none;
    margin-left:-50vw;
  }
}
@media (max-width:768px){
  .hero-inner .hero-video-row{order:1}
  section.hero .hero-below{order:2;max-width:100%;width:100%;align-items:stretch}
  .hero-deco-below{display:none !important}
  section.hero .hero-below .hero-title{
    font-size:clamp(1.05rem,2.75vw,1.95rem);
    line-height:1.1;
    letter-spacing:normal;
    width:100%;
    max-width:100%;
    text-align:center;
    box-sizing:border-box;
  }
  section.hero .hero-below .hero-sub{font-size:16px}
  section.hero .hero-below{
    padding:0 12px 20px;
    margin-top:0;
  }
  .hero-inner{justify-content:flex-start}
  .hero-inner{padding-bottom:0}
  .hero-stage{justify-content:flex-start}
  section.hero .hero-below .hero-cta,
  section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta{
    margin-top:16px;
    padding:16px 28px;
    min-height:52px;
  }
  section.hero .hero-below .hero-cta .button__label,
  section.fr-infopoint-hero .fr-infopoint-hero__content .hero-cta .button__label{
    font-size:16px;
  }
  .hero-video-frame{border-radius:12px;border-width:3px}
}
.hero-video-row{width:100%;max-width:100%;margin:0;padding:0 0 6px;position:relative;z-index:1}
.hero-video-block{position:relative;display:block;width:min(28vw,560px);min-width:0;margin:0 auto;padding:0 .35rem;z-index:1}
/* Tablet: gleiche Seitenränder wie nav-shell, Video bündig (wie Mobile) */
@media (min-width:601px) and (max-width:1024px){
  .hero-inner{
    width:100%;
    max-width:min(1440px,100%);
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
  }
  .hero-video-block{width:100%;max-width:100%;padding:0}
}
@media (min-width:601px) and (max-width:768px){
  .hero-inner{padding:0 20px 32px}
}
@media (min-width:769px) and (max-width:1024px){
  .hero-inner{padding:0 44px 32px}
}
.hero-deco{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:0;
  pointer-events:none;
  line-height:0;
  display:flex;
  align-items:center;
  width:max-content;
  max-width:min(42vw,280px);
  cursor:default;
}
.hero-deco img{
  display:block;
  width:clamp(88px,20vw,240px);
  height:auto;
  filter:none;
  pointer-events:auto;
  will-change:transform;
  position:relative;
  z-index:0;
}
.hero-deco--map{left:0;margin:0;justify-content:flex-start}
.hero-deco--hand{right:0;margin:0;justify-content:flex-end}
.hero-video-frame{border-radius:var(--radius-media);border:4px solid #fff;overflow:hidden;background:#000;box-shadow:none}
.hero-video-frame video{display:block;width:100%;height:auto}
.hero-sub{max-width:none;margin:0 auto;color:#0b151d;line-height:1.45}
.hero-sub{font-size:1.2vw;font-weight:300;padding:0}
.the-preloader__button{margin-top:1rem;display:flex;justify-content:center}
.--button-reset{border:0;background:none;padding:0;margin:0;font:inherit}
.button-main{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.78rem 1.3rem;border-radius:999px;background:#111;color:#fff;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-weight:700;font-size:.86rem;line-height:1;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}
.button-main span{display:inline-block;transform:translateY(-.5px)}
.button-shadow{box-shadow:0 6px 0 #ffffff8c,0 10px 20px rgba(0,0,0,.2)}
.button-main:hover{transform:translateY(-1px);background:#000}
.button-main:active{transform:translateY(2px);box-shadow:0 3px 0 #ffffff70,0 7px 14px rgba(0,0,0,.18)}
/* cards-scroll: aeussere Hoehe = Scrollweg (v1: 220vh), innen sticky = 1 Viewport, sonst fehlt p 0->1-Animation */
.cards-scroll-wrapper{
  position:relative;
  width:100%;
  background:var(--hero-grad);
  background-attachment:fixed;
  overflow:visible;
}
/* Beige-Fläche; unten abgerundet – in den Ecken sichtet der blaue .cards-scroll-wrapper durch (Übergang zur folgenden Section) */
.cards-scroll__panel{
  position:relative;
  width:100%;
  background:var(--hero-beige);
  border-radius:0 0 80px 80px;
  overflow:visible;
}
.cards-scroll{
  box-sizing:border-box;
  position:relative;
  height:220vh;
  min-height:220vh;
  background:transparent;
  overflow:visible;
}
.cards-scroll__sticky{
  position:sticky;
  top:0;
  box-sizing:border-box;
  min-height:100svh;
  height:100svh;
  max-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.cards-scroll__wrap{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(8px,1.5vh,18px);
  padding:max(0.5rem, env(safe-area-inset-top)) 16px max(0.75rem, env(safe-area-inset-bottom));
}
.cards-scroll__stage{
  --stack-p:0;
  /* card-spread; 10% kleiner als 456-Variante */
  --card-spread:410px;
  position:relative;
  width:100%;
  flex:1 1 auto;
  min-height:0;
  height:min(56.16vh,562px);
  max-height:calc(100svh - 5.5rem);
}
.cards-scroll .process-card{
  position:absolute;
  top:50%;
  left:50%;
  box-sizing:border-box;
  width:min(410px,92vw);
  max-width:100%;
  min-height:0;
  border:1px solid var(--fr-border-soft);
  border-radius:var(--radius);
  --card-pad:22px;
  --card-img-inset:6px;
  padding:var(--card-pad);
  background:#fff;
  overflow:hidden;
  transform-origin:center center;
  box-shadow:none;
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  display:grid;
  align-content:start;
  gap:15.12px;
}
.cards-scroll .process-card__figure{
  /* Bild ~6px zur Kartenkante; Fließtext (h3) bleibt beim normalen --card-pad */
  --img-bleed:calc(var(--card-pad) - var(--card-img-inset));
  min-width:0;
  width:calc(100% + 2 * var(--img-bleed));
  max-width:none;
  margin:calc(-1 * var(--img-bleed)) calc(-1 * var(--img-bleed)) 0 calc(-1 * var(--img-bleed));
  border-radius:var(--radius-media);
  overflow:hidden;
  aspect-ratio:16/9;
  background:rgba(13,21,28,.04);
}
.cards-scroll .process-card__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.cards-scroll .process-card h3{
  margin:0;
  font-size:28px;
  line-height:1.1;
  color:var(--ink-hero);
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-weight:400;
  letter-spacing:-.02em;
  text-align:center;
}
.cards-scroll .card-a{
  background:#fff;
  z-index:1;
  transform:translate(calc(-50% + (calc(-1 * var(--card-spread)) * (1 - var(--stack-p)))),calc(-50% + 32px * (1 - var(--stack-p)))) rotate(calc(-9deg * (1 - var(--stack-p))));
}
.cards-scroll .card-b{
  background:#fff;
  z-index:3;
  transform:translate(-50%,-50%) rotate(calc(-1deg * (1 - var(--stack-p))));
}
.cards-scroll .card-c{
  background:#fff;
  z-index:2;
  transform:translate(calc(-50% + (var(--card-spread) * (1 - var(--stack-p)))),calc(-50% + 22px * (1 - var(--stack-p)))) rotate(calc(7deg * (1 - var(--stack-p))));
}
@media (max-width:980px){
  .cards-scroll{height:190vh;min-height:190vh}
  .cards-scroll__wrap{padding:max(0.4rem, env(safe-area-inset-top)) 12px max(0.5rem, env(safe-area-inset-bottom))}
  .cards-scroll__stage{height:min(47.5vh,475px);--card-spread:173px;max-height:calc(100svh - 4.5rem)}
  .cards-scroll .process-card{--card-pad:18px;padding:var(--card-pad)}
  .cards-scroll .card-a{transform:translate(calc(-50% + (calc(-1 * var(--card-spread)) * (1 - var(--stack-p)))),calc(-50% + 27px * (1 - var(--stack-p)))) rotate(calc(-8deg * (1 - var(--stack-p))))}
  .cards-scroll .card-c{transform:translate(calc(-50% + (var(--card-spread) * (1 - var(--stack-p)))),calc(-50% + 22px * (1 - var(--stack-p)))) rotate(calc(6deg * (1 - var(--stack-p))))}
}
/* Smartphone: drei Karten sichtbar, aber größer (mehr Viewport-Breite) */
@media (max-width:639px){
  .cards-scroll__wrap{
    gap:max(0px,calc(clamp(8px,1.5vh,18px) - 22px));
  }
  .cards-scroll__headline{
    margin-bottom:-8px;
  }
  .cards-scroll__stage{
    --card-spread:min(33vw,136px);
    height:min(42vh,360px);
    max-height:calc(100svh - 3.75rem);
  }
  .cards-scroll .process-card{
    width:min(30vw,142px);
    max-width:min(30vw,142px);
    --card-pad:12px;
    --card-img-inset:5px;
    padding:var(--card-pad);
  }
  .cards-scroll .process-card__figure{
    aspect-ratio:4/3;
  }
  .cards-scroll .card-b .process-card__figure{
    width:calc(100% + 2 * var(--img-bleed) - 4px);
    margin-right:calc(-1 * var(--img-bleed) + 4px);
  }
  .cards-scroll .process-card h3{
    font-size:clamp(0.78rem,3.6vw,1rem);
    line-height:1.15;
    letter-spacing:-0.01em;
  }
  .cards-scroll .card-a{
    transform:translate(calc(-50% + (calc(-1 * var(--card-spread)) * (1 - var(--stack-p)))),calc(-50% + 14px * (1 - var(--stack-p)))) rotate(calc(-4deg * (1 - var(--stack-p))));
  }
  .cards-scroll .card-b{
    transform:translate(-50%,-50%);
  }
  .cards-scroll .card-c{
    transform:translate(calc(-50% + (var(--card-spread) * (1 - var(--stack-p)))),calc(-50% + 11px * (1 - var(--stack-p)))) rotate(calc(4deg * (1 - var(--stack-p))));
  }
}

/* wie .hero-landing: aussen Beige, innen blauer Verlauf + untere Rundung */
.fr-infopoint-landing{
  position:relative;
  z-index:0;
  width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
  background:var(--hero-beige);
}
.fr-infopoint-landing__blue{
  min-height:100svh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:0;
  background:var(--hero-grad);
  background-attachment:fixed;
  border-radius:0 0 80px 80px;
  overflow:hidden;
  position:relative;
  z-index:0;
}
/* infopoint: zentrierte Typo, dekor-SVGs; Farbe/Radius sitzt im .fr-infopoint-landing__blue */
.fr-infopoint-hero{
  position:relative;
  min-height:100svh;
  flex:1 1 auto;
  background:transparent;
  padding:max(0.5rem, env(safe-area-inset-top)) 0 max(0.5rem, env(safe-area-inset-bottom));
}
.fr-infopoint-hero__container{
  position:relative;
  width:100%;
  z-index:3;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
}
.fr-infopoint-hero__content{
  text-align:center;
  position:relative;
  z-index:3;
  max-width:min(48rem,94%);
  padding:0 clamp(0.75rem,2.5vw,1.5rem);
  box-sizing:border-box;
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}
/* gleiche H2-Typo wie infopoint */
.fr-infopoint-hero__heading,
.cards-scroll__headline{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(0.2rem,0.8vh,0.5rem);
  color:var(--ink-hero);
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:clamp(1.85rem,5.1vw,4.1rem);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-0.02em;
  font-feature-settings:"ss01" 1;
  box-sizing:border-box;
  text-align:center;
  max-width:min(48rem,94%);
  width:100%;
}
.fr-infopoint-hero__line,
.fr-infopoint-hero__line--sub{
  display:block;
  font-size:80px;
  line-height:1;
  font-weight:inherit;
  letter-spacing:-4px;
}
.fr-infopoint-hero__line--sub{
  max-width:none;
  width:auto;
  font-style:normal;
}
.fr-infopoint-hero__shapes{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  z-index:1;
  pointer-events:none;
}
/* Parallax auf Wrapper — GSAP animiert nur .fr-infopoint-hero__shape (img), wuerde sonst transform/CSS vars ueberschreiben */
.fr-infopoint-hero__float{
  --fr-sx:0px;
  --fr-sy:0px;
  position:absolute;
  pointer-events:none;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  will-change:transform;
}
.fr-infopoint-hero__float.-shape-1{
  left:0;
  top:18%;
  width:clamp(12rem,28vw,22rem);
  transform:translate3d(var(--fr-sx),var(--fr-sy),0) rotate(-6deg);
}
.fr-infopoint-hero__float.-shape-2{
  right:0;
  top:16%;
  width:clamp(12rem,27vw,21.5rem);
  transform:translate3d(var(--fr-sx),var(--fr-sy),0) rotate(5deg);
}
.fr-infopoint-hero__shape{
  display:block;
  object-fit:contain;
  max-width:100%;
  width:100%;
  height:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  will-change:transform,opacity;
  pointer-events:none;
  user-select:none;
  vertical-align:top;
}
@media (min-width:768px){
  .fr-infopoint-hero{
    padding-top:max(0.5rem, env(safe-area-inset-top));
    padding-bottom:max(0.5rem, env(safe-area-inset-bottom));
  }
  .fr-infopoint-hero__float.-shape-1{
    left:2%;
    top:24%;
    width:clamp(13rem,19vw,20rem);
  }
  .fr-infopoint-hero__float.-shape-2{
    right:3%;
    top:10%;
    width:clamp(12.5rem,18vw,20rem);
  }
}
@media (max-width:767.98px){
  .fr-infopoint-hero__float.-shape-1,
  .fr-infopoint-hero__float.-shape-2{
    width:min(9.5rem,42vw);
  }
  .fr-infopoint-hero__float.-shape-1{top:26%;left:0;transform:translate3d(var(--fr-sx),var(--fr-sy),0) rotate(-5deg)}
  .fr-infopoint-hero__float.-shape-2{top:20%;right:0;transform:translate3d(var(--fr-sx),var(--fr-sy),0) rotate(4deg)}
}
@media (max-width:639px){
  .fr-infopoint-hero__float.-shape-1{top:58%}
  .fr-infopoint-hero__float.-shape-2{top:3%}
}

section.how-slider{
  position:relative;
  box-sizing:border-box;
  min-height:100svh;
  background:var(--hero-grad);
  background-attachment:fixed;
  display:flex;
  align-items:center;
  justify-content:center;
}
.how-slider__panel{
  position:absolute;
  inset:0;
  background:var(--hero-beige);
  box-sizing:border-box;
  pointer-events:none;
  z-index:0;
}
.how-slider__inner{
  position:relative;
  z-index:1;
  width:min(1240px,92vw);
  max-width:100%;
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
}
.how-slider__layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  gap:0;
  align-items:center;
  width:100%;
}
.how-slider__aside{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:clamp(0.75rem,1.5vh,1.25rem);
  max-width:min(48rem,100%);
  box-sizing:border-box;
}
.how-slider__head{
  max-width:100%;
  width:100%;
  align-items:flex-start;
  text-align:left;
}
.how-slider__aside .fr-infopoint-hero__heading,
.how-slider__aside .fr-infopoint-hero__line{
  text-align:left;
  width:100%;
  align-self:flex-start;
  align-items:flex-start;
  justify-content:flex-start;
  max-width:100%;
  margin:0;
}
.how-slider__title-line{
  text-align:left;
  display:block;
  width:100%;
  font-size:80px !important;
  line-height:1.08 !important;
  letter-spacing:-0.035em !important;
}
.how-slider__lead{
  margin:0;
  line-height:1.55;
  font-size:clamp(1.05rem,1.6vw,1.25rem);
  color:var(--ink-hero);
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-weight:400;
  letter-spacing:-0.01em;
  max-width:46ch;
  transition:opacity .2s ease;
}
.how-slider__lead strong,
.how-slider__lead b{
  font-weight:400;
  color:inherit;
}
.how-slider__controls{
  display:flex;
  gap:12px;
  margin-top:calc(0.25rem + 6px);
}
.how-slider__round{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid var(--fr-border-soft);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
  color:var(--ink-hero);
  flex-shrink:0;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
.how-slider__round:hover{background:var(--cream-700);border-color:rgba(44,17,29,.28);transform:translateY(-1px)}
.how-slider__round:active{transform:translateY(0)}
.how-slider__stage{
  position:relative;
  min-height:min(420px,50vh);
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}
.how-slider__view{
  position:relative;
  width:100%;
  max-width:min(420px,100%);
  margin:0;
  background:var(--hero-grad);
  border-radius:var(--radius);
  box-shadow:none;
  overflow:hidden;
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  margin-left:auto;
  margin-right:0;
}
.how-slider__img{
  width:88%;
  height:88%;
  object-fit:contain;
  object-position:center;
  display:block;
  will-change:transform,opacity;
}

/* Stacking cards — gleiche Sprache wie Hero: hell, Bricolage, Hero-Radien */
.section-stacking-cards{
  --stack-bg:var(--hero-grad);
  --stack-surface:#fff;
  --stack-border:var(--fr-border-soft);
  --stack-text:var(--ink-hero);
  --stack-muted:var(--fr-text-muted);
  --stack-accent:var(--hero-cta-bg);
  box-sizing:border-box;
  background:var(--stack-bg);
  background-attachment:fixed;
  color:var(--stack-text);
  border-radius:0 0 var(--radius-section) var(--radius-section);
}
.padding-global{
  padding-left:max(12px, env(safe-area-inset-left));
  padding-right:max(12px, env(safe-area-inset-right));
}
.section-padding-stacking{
  padding-top:clamp(4rem, 10vw, 10rem);
  padding-bottom:84px;
}
.stacking-cards__intro{
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(0, 0.88fr);
  align-items:end;
  margin-bottom:48px;
  max-width:none;
}
.stacking-cards__title-col{
  min-width:0;
}
.stacking-cards__lead-col{
  min-width:0;
  padding-bottom:0.2em;
}
.stacking-cards__title{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:clamp(0.15rem, 0.8vw, 0.45rem);
  text-align:left;
  font-weight:500;
}
.stacking-cards__title-line{
  display:block;
  width:100%;
}
.stacking-cards__title-line--sans{
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:clamp(2.85rem, 7.5vw, 6.25rem);
  line-height:0.98;
  letter-spacing:-0.045em;
  color:var(--stack-text);
  font-weight:500;
}
.stacking-cards__title-line--serif{
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(2.75rem, 7vw, 5.85rem);
  line-height:1.02;
  letter-spacing:-0.02em;
  color:var(--stack-accent);
}
.stacking-cards__lead{
  margin:0;
  font-size:clamp(1.05rem, 1.55vw, 1.28rem);
  line-height:1.65;
  color:var(--stack-muted);
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-weight:400;
  max-width:42ch;
}
.stacking-cards__effect{
  display:flex;
  flex-direction:column;
  gap:0;
}
.stacking-cards__slide{
  position:sticky;
  top:max(4vh, 48px);
  z-index:1;
  min-height:min(94vh, 1040px);
  padding-bottom:0;
  display:flex;
  align-items:flex-start;
  box-sizing:border-box;
}
.stacking-cards__slide:nth-child(2){
  top:max(6vh, 58px);
  z-index:2;
}
.stacking-cards__slide:nth-child(3){
  top:max(8vh, 68px);
  z-index:3;
}
.stacking-card{
  width:100%;
  min-height:min(72vh, 820px);
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:0;
  align-items:stretch;
  background:var(--stack-surface);
  border-radius:var(--radius);
  overflow:hidden;
  border:0;
  box-sizing:border-box;
  box-shadow:none;
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
}
.stacking-card__col--copy{
  padding:clamp(2.25rem, 5vw, 4rem) clamp(1.75rem, 3.5vw, 3rem);
  gap:clamp(2rem, 4vh, 3rem);
  box-sizing:border-box;
}
.stacking-card__number{
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-style:normal;
  font-weight:500;
  font-size:clamp(3rem, 6vw, 5rem);
  line-height:0.9;
  color:rgba(13,21,28,.18);
  letter-spacing:-0.03em;
}
.stacking-card__heading{
  margin: 0;
  padding: 20px 0px;
}
.stacking-card__heading-sans{
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:clamp(1.65rem, 3.2vw, 2.85rem);
  font-weight:600;
  line-height:1.05;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink-hero);
}
.stacking-card__heading-serif{
  font-family: "Bricolage Grotesque", "Google Sans", "Product Sans", Segoe UI, Arial, sans-serif;
  font-weight: 500;
  font-size: 64px;
  letter-spacing: -3px;
  color: var(--ink-hero);
}
.stacking-card__text{
  margin:0;
  font-size:clamp(1rem, 1.45vw, 1.14rem);
  line-height:1.62;
  color:var(--stack-muted);
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  max-width:38ch;
}
.stacking-card__video{
  position:relative;
  min-height:min(520px, 62vh);
  background:linear-gradient(165deg, #e8f4fc 0%, #d4e8f7 45%, #cfe4f5 100%);
}
.stacking-card__video-inner{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.stacking-card__video-el{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  pointer-events:none;
}
@media (prefers-reduced-motion:reduce){
  .stacking-cards__slide{
    position:relative;
    top:auto !important;
    min-height:0;
    padding-bottom:0;
    z-index:auto;
  }
  .stacking-card{
    min-height:0;
  }
  .stacking-card__video-inner{
    position:relative;
    inset:auto;
    min-height:min(300px, 45vh);
  }
  .stacking-card__video-el{
    position:relative;
    height:100%;
    min-height:min(300px, 45vh);
  }
}
@media (max-width:980px){
  .stacking-cards__intro{
    grid-template-columns:1fr;
    align-items:start;
    margin-bottom:48px;
  }
  .stacking-cards__lead-col{
    padding-bottom:0;
    max-width:42rem;
  }
}
@media (max-width:900px){
  .stacking-card{
    grid-template-columns:1fr;
    min-height:0;
  }
  .stacking-card__video{
    min-height:min(280px, 42vh);
    order:-1;
  }
  .stacking-card__text{
    max-width:100%;
  }
}

.w-layout-hflex{
  display:flex;
  flex-direction:row;
  align-items:center;
  flex-wrap:wrap;
}
.w-layout-blockcontainer.container.w-container{
  width:100%;
  max-width:min(1240px,92vw);
  margin-left:auto;
  margin-right:auto;
}
.fr-blog-section{
  position:relative;
  padding:clamp(3rem,6vw,5rem) 0;
  background:var(--hero-beige);
  color:var(--ink-hero);
}
.fr-blog-section__wrap{
  position:relative;
}
.fr-blog-section__top{
  display:block;
  margin-bottom:clamp(2rem,4vw,2.75rem);
}
.fr-blog-section__title{
  margin:0;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:clamp(2.5rem,6vw,80px);
  font-weight:500;
  line-height:1.05;
  color:var(--ink-hero);
  letter-spacing:-0.02em;
}
.fr-blog-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  max-width:min(920px,100%);
}
.fr-blog-card{
  margin:0;
}
.fr-blog-card__link{
  display:block;
  height:100%;
  text-decoration:none;
  color:inherit;
  border-radius:var(--radius);
}
.fr-blog-card__link:focus-visible{
  outline:2px solid var(--hero-cta-bg);
  outline-offset:4px;
  border-radius:var(--radius);
}
.fr-blog-card.arrow-animated-hoverable .fr-blog-card__thumb img{
  transition:transform .45s cubic-bezier(.25,.46,.45,.94);
}
.fr-blog-card.arrow-animated-hoverable:hover .fr-blog-card__thumb img{
  transform:scale(1.04);
}
.fr-blog-card.arrow-animated-hoverable .fr-blog-card__arrow svg{
  transition:transform .35s ease;
}
.fr-blog-card.arrow-animated-hoverable:hover .fr-blog-card__arrow svg{
  transform:translate(3px,-3px);
}
.fr-blog-card__thumb{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  aspect-ratio:16/10;
  background:rgba(13,21,28,.06);
}
.fr-blog-card__thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.fr-blog-card__arrow{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.12));
}
.fr-blog-card__body{
  padding:1.1rem 0 0;
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.fr-blog-card__meta{
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.fr-blog-card__pill{
  align-self:flex-start;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(0,82,180,.1);
  color:var(--hero-cta-bg);
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
}
.fr-blog-card__heading{
  margin:0;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:clamp(1.05rem,1.35vw,1.25rem);
  font-weight:500;
  line-height:1.35;
  color:var(--ink-hero);
  transition:color .2s ease;
}
.fr-blog-card__link:hover .fr-blog-card__heading{color:var(--hero-cta-bg)}
.fr-blog-card__date{
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:14px;
  font-weight:400;
  color:var(--fr-text-muted);
}

.hide{display:none}
.vloop{padding:90px 0;background:#f3f0ea}
.vloop__layout{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap}
.vloop__controls{display:flex;flex-direction:column;gap:.7rem}
.vloop__wrapper{width:min(360px,92vw);height:520px;border-top:1px solid rgba(44,17,29,.12);border-bottom:1px solid rgba(44,17,29,.12);display:flex;flex-direction:column;align-items:center;overflow:hidden;border-radius:12px}
.vloop__box{display:flex;align-items:center;justify-content:center;padding:.55rem;flex-shrink:0;height:20%;min-height:95px;width:84%;cursor:pointer}
.vloop__inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:3px solid #2c111d;border-radius:12px;background:#fff}
.vloop__inner p{font-size:clamp(1.05rem,2.8vw,1.8rem);font-weight:700}
.vloop__box.active .vloop__inner{background:#AFDAFC}
.subnav{margin-top:1rem;position:sticky;top:16px;z-index:20}
.subnav-inner{background:#fff;border-radius:12px;padding:.45rem;display:flex;gap:.4rem;overflow:auto}
.subnav a{padding:.75rem 1rem;border-radius:8px;font-weight:600}
.subnav a:hover{background:var(--cream-700)}
.subnav a.active{background:var(--brown-500);color:#fff}
h2{font-size:clamp(1.7rem,4vw,3.2rem);line-height:1.06;margin:0 0 1.3rem}
.kicker{font-size:1.2rem;font-weight:700;margin-bottom:.35rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tile{background:var(--cream-700);border-radius:18px;padding:.75rem .75rem 1.15rem;transition:.25s ease}
.tile:hover{background:var(--cream-800);transform:translateY(-2px)}
.ph{height:190px;border-radius:14px;margin-bottom:1rem;background:linear-gradient(135deg,#d7d2c8,#f5f2ea)}
.tile h3{margin:.2rem 0 .6rem;font-size:1.35rem}
.tile p{margin:0;line-height:1.45}
.rooms-wrap{display:grid;grid-template-columns:340px 1fr;gap:1.2rem}
.rooms-nav{display:flex;flex-direction:column;gap:.6rem;position:sticky;top:148px;height:max-content}
.rooms-nav button{text-align:left;border:0;border-radius:14px;background:var(--cream-700);padding:1rem 1.2rem;color:var(--brown-500);font-weight:700;cursor:pointer}
.rooms-nav button.active{background:var(--brown-500);color:#fff}
.room-card{background:var(--cream-700);border-radius:18px;padding:1rem}
.room-main{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}
.gallery{height:400px;border-radius:14px;background:linear-gradient(135deg,#cbc5b8,#f7f3eb)}
.room-copy h3{margin:.2rem 0 .8rem;font-size:2rem}
.room-copy p{line-height:1.52}
.features{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}
.features li{font-size:.95rem}
.room-actions{display:flex;gap:.7rem;margin-top:1rem;flex-wrap:wrap}
.services{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
/* Nur Demo-/Unterseiten-Details, nicht die Startseiten-FAQ (.fr-faq__item) */
details:not(.fr-faq__item){background:var(--purple-400);border-radius:12px;padding:0;overflow:hidden}
details:not(.fr-faq__item):nth-child(2){background:var(--yellow-400)}
details:not(.fr-faq__item) summary{list-style:none;cursor:pointer;padding:1rem 1.2rem;font-size:1.2rem;font-weight:700}
details:not(.fr-faq__item) summary::-webkit-details-marker{display:none}
details:not(.fr-faq__item) div{padding:0 1.2rem 1rem}
details:not(.fr-faq__item) ul{margin:0;padding-left:1rem}
.bars{margin:1.2rem 0 2rem;display:grid;gap:.55rem}
.bar{height:54px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;font-weight:600}
.bar b{font-size:1.25rem}
.map-card{background:var(--yellow-400);border-radius:18px;padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.map-box{min-height:260px;border-radius:12px;background:linear-gradient(120deg,#9bcdf1,#daf0ff)}
.faq{display:grid;gap:.55rem}
.faq details{background:var(--cream-800)}
.apply{background:var(--yellow-400);border-radius:24px;padding:2rem}
.apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.35rem}
.field input,.field select,.field textarea{border:1px solid var(--brown-400);border-radius:10px;background:transparent;padding:.72rem .85rem;color:var(--brown-500)}
.field textarea{min-height:118px;resize:vertical}
footer{padding:56px 0 28px}
.foot{background:var(--cream-700);border-radius:18px;padding:1.1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.foot h4{margin:.15rem 0 .55rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.copy{margin-top:1rem;font-size:.85rem;opacity:.8}

/* Footer (Referenz: Gluwz light-blue) */
.fr-footer.section.light-blue.footer{
  --fr-navy:#23265c;
  --fr-purple:#3e498b;
  --fr-purple-muted:#7a84b2;
  --fr-blue:#255ddd;
  --fr-blue-sky:#73c5ff;
  --fr-orange:#ff9300;
  --fr-yellow:#fece00;
  --fr-footer-bg:#def1fe;
  --fr-border:#aedbfe;
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
  max-width:100vw;
  margin:0;
  padding:clamp(2.5rem,5vw,4rem) clamp(1.25rem,4vw,2.5rem) calc(2rem + 10px + env(safe-area-inset-bottom,0px));
  background:var(--fr-footer-bg);
  color:var(--fr-navy);
}
.fr-footer .fr-footer__container{
  position:relative;
  z-index:2;
}
.fr-footer .footer-container{
  margin-top:clamp(2rem,6vw,5rem);
  margin-bottom:clamp(1.5rem,3vw,2.5rem);
}
.fr-footer .footer-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:clamp(3rem,8vw,8rem);
}
.fr-footer .footer-header--left{
  display:flex;
  flex-direction:column;
  gap:clamp(1.25rem,3vw,2.5rem);
  align-items:flex-start;
  max-width:100%;
}
.fr-footer .footer-header--heading{
  margin:0;
  max-width:48rem;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:clamp(2rem,5vw,4rem);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--fr-navy);
}
.fr-footer .footer-header--heading--highlighted{
  color:var(--fr-blue);
}
.fr-footer .footer--button-wrapper{
  gap:0.75rem;
}
.fr-footer .btn-fr-footer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:1rem 1.25rem;
  border-radius:0.5rem;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:0.875rem;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  transition:background-color 0.25s ease,color 0.25s ease;
  white-space:nowrap;
}
.fr-footer .btn-fr-footer--light{
  background:#fff;
  color:var(--fr-navy);
  border:1px solid transparent;
}
.fr-footer .btn-fr-footer--light:hover{
  background:var(--fr-navy);
  color:#fff;
}
.fr-footer .btn-fr-footer--blue{
  background:var(--fr-blue);
  color:#fff;
}
.fr-footer .btn-fr-footer--blue:hover{
  background:var(--fr-navy);
}
.fr-footer .footer-body{
  display:grid;
  grid-template-columns:4fr 2.5fr 2.5fr 2.5fr;
  gap:clamp(1.25rem,3vw,2rem);
  padding-top:clamp(3rem,6vw,5.5rem);
  margin-bottom:clamp(4rem,10vw,12.5rem);
  border-top:1px solid var(--fr-border);
}
.fr-footer .footer-text-wrapper{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  align-items:flex-start;
  max-width:80%;
}
.fr-footer .footer-body--title{
  margin:0;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:clamp(1.35rem,2.5vw,2rem);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-0.06em;
  text-transform:uppercase;
  color:var(--fr-navy);
}
.fr-footer .footer-body--description{
  margin:0;
  color:var(--fr-purple);
  font-size:clamp(1rem,1.35vw,1.125rem);
  line-height:1.55;
  font-weight:400;
}
.fr-footer .footer--location-wrapper{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  align-items:flex-start;
}
.fr-footer .footer--location-name{
  margin:0 0 0.25rem;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:1.125em;
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--fr-navy);
}
.fr-footer .footer--location-link{
  color:var(--fr-purple);
  font-weight:500;
  letter-spacing:-0.015em;
  line-height:1.45;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color 0.2s ease,color 0.2s ease;
}
.fr-footer .footer--location-link:hover{
  color:var(--fr-navy);
  border-bottom-color:rgba(35,38,92,0.35);
}
.fr-footer .footer-bottom{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:1rem;
  align-items:center;
}
.fr-footer .footer--copyright{
  margin:0;
  justify-self:start;
}
.fr-footer .footer--legal-link.footer--copyright{
  color:var(--fr-purple-muted);
  font-size:0.9375rem;
  letter-spacing:-0.02em;
  line-height:1.45;
}
.fr-footer .footer--socials-wrapper{
  justify-content:center;
  gap:0.5rem;
  justify-self:center;
}
.fr-footer .footer--social-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:0.25rem;
  background:#fff;
  color:var(--fr-navy);
  transition:background-color 0.25s ease,color 0.25s ease;
}
.fr-footer .footer--social-link:hover{
  background:var(--fr-blue);
  color:#fff;
}
.fr-footer .footer--legal-wrapper{
  justify-content:flex-end;
  gap:clamp(1rem,3vw,2rem);
  flex-wrap:wrap;
  justify-self:end;
}
.fr-footer .footer--legal-wrapper .footer--legal-link{
  color:var(--fr-purple-muted);
  font-size:0.9375rem;
  text-decoration:none;
  letter-spacing:-0.02em;
}
.fr-footer .footer--legal-wrapper .footer--legal-link:hover{
  color:var(--fr-navy);
}
.fr-footer .footer--gluwz-color-banner{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  height:10px;
  z-index:3;
}
.fr-footer .footer--gluwz-color{
  width:20%;
  height:100%;
  background:var(--fr-navy);
}
.fr-footer .footer--gluwz-color.second{background:var(--fr-blue)}
.fr-footer .footer--gluwz-color.third{background:var(--fr-blue-sky)}
.fr-footer .footer--gluwz-color.fourth{background:var(--fr-orange)}
.fr-footer .footer--gluwz-color.fifth{background:var(--fr-yellow)}
.fr-footer .fr-footer__fab-mail{
  position:fixed;
  z-index:9999;
  right:max(1rem,env(safe-area-inset-right));
  bottom:max(1.25rem,env(safe-area-inset-bottom));
  display:flex;
  align-items:center;
  justify-content:center;
  width:3.5rem;
  height:3.5rem;
  border-radius:50%;
  background:var(--hero-cta-bg,#0052b4);
  color:#fff;
  text-decoration:none;
  box-shadow:0 4px 16px rgba(13,21,28,0.22);
  transition:transform 0.2s ease,background-color 0.2s ease;
}
.fr-footer .fr-footer__fab-mail:hover{
  transform:scale(1.06);
  background:var(--hero-cta-hover,#0d151c);
}
.fr-footer .fr-footer__fab-mail-inner{
  display:flex;
  align-items:center;
  justify-content:center;
}
@media (max-width:991px){
  .fr-footer .footer-header{
    flex-direction:column-reverse;
    gap:2rem;
  }
  .fr-footer .footer-body{
    grid-template-columns:1fr;
    gap:clamp(2rem,5vw,3rem);
  }
  .fr-footer .footer-text-wrapper{
    max-width:100%;
  }
  .fr-footer .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1.25rem;
  }
  .fr-footer .footer--socials-wrapper{
    align-self:flex-end;
    order:2;
  }
  .fr-footer .footer--legal-wrapper{
    align-self:stretch;
    order:3;
    justify-content:flex-start;
  }
}
@media (max-width:767px){
  .fr-footer .footer-bottom .footer--socials-wrapper{
    order:3;
    margin-top:0.5rem;
    justify-self:start;
  }
  .fr-footer .footer--legal-wrapper{
    grid-column:1/-1;
    flex-direction:column;
    align-items:flex-start;
    gap:0.75rem;
  }
}
@media (max-width:479px){
  .fr-footer.section.light-blue.footer{
    background:#e2f2ff;
    padding-left:1rem;
    padding-right:1rem;
  }
  .fr-footer .footer-container{
    margin-top:3rem;
  }
  .fr-footer .footer-header--heading{
    font-size:2.25rem;
  }
  .fr-footer .footer-body--title,
  .fr-footer .footer--location-name{
    font-size:1.125rem;
  }
}
/* Startseite: schmaler Footer nur mit Sprungmarken + Rechtliches (ohne Impressum) */
.fr-footer--minimal{
  background:var(--hero-beige);
  color:var(--ink-hero);
  padding:clamp(2rem,5vw,3.25rem) max(1rem,env(safe-area-inset-left)) clamp(2.25rem,5vw,3.5rem) max(1rem,env(safe-area-inset-right));
  border-top:1px solid var(--fr-border-soft);
  box-sizing:border-box;
}
.fr-footer--minimal__inner{
  width:min(1240px,92vw);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(1rem,2vw,1.35rem);
  text-align:center;
}
.fr-footer--minimal__nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0.65rem 1.15rem;
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:0.9375rem;
  font-weight:400;
}
.fr-footer--minimal__nav a{
  color:var(--ink-hero);
  text-decoration:none;
}
.fr-footer--minimal__nav a:hover{
  color:var(--hero-cta-bg);
  text-decoration:underline;
}
.fr-footer--minimal__meta{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0.65rem;
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:0.875rem;
  color:var(--fr-text-muted);
}
.fr-footer--minimal__copy{
  margin:0;
}
.fr-footer--minimal__legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0.5rem 1.25rem;
}
.fr-footer--minimal__legal a{
  color:var(--fr-text-muted);
  text-decoration:underline;
  text-underline-offset:0.15em;
}
.fr-footer--minimal__legal a:hover{
  color:var(--hero-cta-bg);
}
@media (max-width:980px){
  .how-slider__inner{
    width:100%;
    max-width:100%;
    margin:0 auto;
    padding-left:max(12px,env(safe-area-inset-left,0px));
    padding-right:max(12px,env(safe-area-inset-right,0px));
  }
  .how-slider__layout{grid-template-columns:1fr;gap:0;row-gap:clamp(1rem,3vh,1.5rem)}
  .how-slider__stage{min-height:min(280px,46vh);order:-1;justify-content:center}
  .how-slider__view{max-width:min(100%,400px);margin:0 auto}
  .how-slider__aside{
    align-items:center;
    text-align:center;
    max-width:100%;
    margin:0 auto;
  }
  .how-slider__aside .fr-infopoint-hero__heading,
  .how-slider__aside .fr-infopoint-hero__line{
    text-align:center;
    align-items:center;
    align-self:center;
    justify-content:center;
  }
  .how-slider__head,
  .how-slider__title-line{
    align-items:center;
    text-align:center;
    align-self:center;
  }
  .how-slider__lead{max-width:100%}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .rooms-wrap,.apply-grid,.services,.map-card,.foot,.room-main{grid-template-columns:1fr}
  .rooms-nav{position:static}
  .gallery{height:260px}
}

@media (max-width:768px){
  .how-slider__title-line{
    font-size:clamp(2.35rem,10.5vw,3.15rem) !important;
  }
  .fr-faq-section__title{
    font-size:clamp(2.35rem,10.5vw,3.15rem);
    letter-spacing:-0.04em;
  }
  .fr-blog-section__title{
    font-size:clamp(2.35rem,10.5vw,3.15rem);
    letter-spacing:-0.04em;
  }
  .fr-bento-heading{
    font-size:clamp(2.35rem,10.5vw,3.15rem);
    letter-spacing:-0.04em;
  }
}
@media (max-width:639px){
  h2{
    font-size:clamp(2rem,10.8vw,64px);
    line-height:1.08;
    letter-spacing:-0.03em;
  }
  .fr-infopoint-hero__heading,
  .cards-scroll__headline{
    font-size:clamp(2rem,10.8vw,64px);
    letter-spacing:-0.03em;
  }
  .fr-infopoint-hero__line,
  .fr-infopoint-hero__line--sub{
    font-size:clamp(2rem,10.8vw,64px);
    letter-spacing:-0.03em;
  }
  section.hero .hero-below .hero-title{
    font-size:clamp(2rem,10.8vw,64px);
    line-height:1;
    letter-spacing:-0.03em;
  }
  .how-slider__title-line{
    font-size:clamp(2rem,10.8vw,64px) !important;
    line-height:1.08 !important;
    letter-spacing:-0.03em !important;
  }
  section.how-slider{
    padding-top:clamp(1.25rem,4.5vh,2rem);
    padding-bottom:clamp(1.25rem,4.5vh,2.25rem);
  }
  .how-slider__inner{
    padding-top:clamp(0.5rem,2vh,1rem);
    padding-left:max(6px,env(safe-area-inset-left,0px));
    padding-right:max(6px,env(safe-area-inset-right,0px));
  }
  .how-slider__layout{row-gap:clamp(2rem,6vh,3rem)}
  .how-slider__view{
    max-width:100%;
    padding:clamp(14px,3.5vw,22px) clamp(18px,5vw,28px);
  }
  .how-slider__img{width:86%;height:86%}
  .how-slider__controls{margin-bottom:clamp(1rem,3.5vh,1.75rem)}
  .stacking-cards__title-line--sans,
  .stacking-cards__title-line--serif{
    font-size:clamp(2rem,10.8vw,64px);
    letter-spacing:-0.03em;
  }
  .fr-blog-section__title{
    font-size:clamp(2rem,10.8vw,64px);
    letter-spacing:-0.03em;
  }
}
@media (max-width:580px){
  .grid-4{grid-template-columns:1fr}
  .hero-inner{padding-top:0}
  .hero-video-block{width:min(92vw,100%)}
}

/* ——— Blog-Artikelseite (Referenz-Layout, scoped) ——— */
@font-face{
  font-family:"Sentient Variable";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("https://artea-audit.com/wp-content/uploads/2025/05/Sentient-Regular.woff2") format("woff2");
}
@font-face{
  font-family:"Sentient Variable";
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url("https://artea-audit.com/wp-content/uploads/2025/05/Sentient-Italic.woff2") format("woff2");
}

body.fr-article-page{
  background:#fff;
  --e-global-color-primary:#242443;
  --e-global-color-secondary:#A7AEF2;
  --e-global-color-text:#626272;
  --e-global-color-accent:#FFBA87;
  --e-global-color-29647e6:#F8F5F0;
  --e-global-typography-primary-font-family:"Sentient Variable";
  --e-global-typography-primary-font-size:3rem;
  --e-global-typography-primary-font-weight:400;
  --e-global-typography-primary-line-height:3rem;
  --e-global-typography-secondary-font-family:"Sentient Variable";
  --e-global-typography-secondary-font-size:1.625rem;
  --e-global-typography-secondary-font-weight:400;
  --e-global-typography-secondary-line-height:1.673rem;
  --e-global-typography-text-font-family:"Public Sans";
  --e-global-typography-text-font-size:1.125rem;
  --e-global-typography-text-font-weight:400;
  --e-global-typography-text-line-height:1.375rem;
  --e-global-typography-4802e33-font-family:"Sentient Variable";
  --e-global-typography-4802e33-font-size:3.5rem;
  --e-global-typography-4802e33-font-weight:400;
  --e-global-typography-4802e33-line-height:4rem;
  color:var(--e-global-color-text);
  font-family:var(--e-global-typography-text-font-family),system-ui,sans-serif;
  font-size:var(--e-global-typography-text-font-size);
  font-weight:var(--e-global-typography-text-font-weight);
  line-height:var(--e-global-typography-text-line-height);
  background:#fff;
}

.fr-article-skip{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.fr-article-skip:focus{
  position:fixed;
  left:1rem;
  top:1rem;
  z-index:10000;
  width:auto;
  height:auto;
  padding:.75rem 1rem;
  background:#242443;
  color:#fff;
  border-radius:8px;
}

.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.fr-article-header-bar{
  background:#fff;
  border-bottom:1px solid rgba(36,36,67,.08);
  position:sticky;
  top:0;
  z-index:50;
}

.fr-article-hero{
  padding:clamp(2rem,5vw,4rem) 0 2rem;
  background:linear-gradient(180deg,var(--e-global-color-29647e6) 0%,#fff 55%);
}

.fr-article-hero__inner{
  width:min(1320px,92vw);
  margin:0 auto;
}

.fr-article-breadcrumbs{
  margin:0 0 1rem;
  font-size:1rem;
  line-height:1.25rem;
  color:var(--e-global-color-text);
}
.fr-article-breadcrumbs a{color:var(--e-global-color-primary);text-decoration:underline;text-underline-offset:.15em}
.fr-article-breadcrumbs__sep{margin:0 .35rem;opacity:.45}
.fr-article-breadcrumbs__current{font-weight:500;color:var(--e-global-color-primary)}

.fr-article-page .fr-article-title{
  margin:0 0 1.25rem;
  color:var(--e-global-color-primary);
  font-family:var(--e-global-typography-4802e33-font-family),serif;
  font-size:var(--e-global-typography-4802e33-font-size);
  font-weight:var(--e-global-typography-4802e33-font-weight);
  line-height:var(--e-global-typography-4802e33-line-height);
  max-width:min(100%,42rem);
}

.fr-article-page .unstyled-list{
  list-style:none;margin:0;padding:0;
}

.fr-article-page .fr-article-categories{margin:0 0 .75rem}

.fr-article-page .category-pill{
  display:inline-block;
  padding:.35rem .65rem;
  border-radius:999px;
  font-size:.875rem;
  font-weight:500;
  background:#faf0e7;
  color:var(--e-global-color-primary);
}

.fr-article-page .article_details{
  display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;
  list-style:none;margin:0 0 2rem;padding:0;
  font-size:1rem;
  color:var(--e-global-color-text);
}
.fr-article-page .article_details .author{font-weight:500;color:var(--e-global-color-primary)}
.fr-article-page .article_details .time{opacity:.85}

.fr-article-featured.thumbnail{
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 48px rgba(36,36,67,.12);
}
.fr-article-featured img{
  display:block;width:100%;height:auto;
}

.fr-article-section{padding:clamp(2rem,4vw,3.5rem) 0 4rem}

.fr-article-layout{
  width:min(1320px,92vw);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(240px,320px) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3rem);
  align-items:start;
}

.fr-article-sidebar{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

@media (min-width:981px){
  .fr-article-sidebar{
    position:sticky;
    top:120px;
    align-self:start;
    max-width:350px;
  }
}

.fr-article-toc{
  border:1px solid rgba(36,36,67,.12);
  border-radius:24px;
  padding:1.25rem 1.25rem 1rem;
  background:#fff;
}
.fr-article-toc__header{
  font-family:var(--e-global-typography-secondary-font-family),serif;
  font-size:1.125rem;
  font-weight:600;
  color:var(--e-global-color-primary);
  margin-bottom:.75rem;
}
.fr-article-toc__list{
  list-style:none;margin:0;padding:0;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.fr-article-toc__list a{
  display:block;
  padding:.35rem 0;
  color:var(--e-global-color-primary);
  font-size:1rem;
  line-height:1.35;
  border-bottom:1px solid transparent;
  transition:border-color .15s ease,color .15s ease;
}
.fr-article-toc__list a:hover{border-color:var(--e-global-color-accent)}

.fr-article-share{
  padding-top:.5rem;
}
.fr-article-share__label{
  display:block;
  font-weight:500;
  margin-bottom:.5rem;
  color:var(--e-global-color-primary);
}
.fr-article-share__btns{display:flex;gap:.5rem;flex-wrap:wrap}
.fr-article-share__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.5rem 1rem;
  border-radius:999px;
  border:1px solid var(--e-global-color-primary);
  background:#fff;
  color:var(--e-global-color-primary);
  font-size:.875rem;
  font-weight:600;
  transition:background .15s ease,color .15s ease;
}
.fr-article-share__btn:hover{background:var(--e-global-color-primary);color:#fff}

.fr-article-column{display:flex;flex-direction:column;gap:2rem}

.fr-article-content.article-content{
  max-width:720px;
}

.fr-article-content p{
  margin:0 0 1.25rem;
}

.fr-article-content .wp-block-heading{
  margin:2.5rem 0 1rem;
  scroll-margin-top:100px;
}

.fr-article-page .fr-article-content h2.wp-block-heading,
.fr-article-page .fr-article-content h2{
  color:var(--e-global-color-primary);
  font-family:var(--e-global-typography-primary-font-family),serif;
  font-size:var(--e-global-typography-primary-font-size);
  font-weight:var(--e-global-typography-primary-font-weight);
  line-height:var(--e-global-typography-primary-line-height);
}

.fr-article-page .fr-article-content h3.wp-block-heading{
  color:var(--e-global-color-primary);
  font-family:var(--e-global-typography-secondary-font-family),serif;
  font-size:var(--e-global-typography-secondary-font-size);
  font-weight:var(--e-global-typography-secondary-font-weight);
  line-height:var(--e-global-typography-secondary-line-height);
  margin-top:1.75rem;
}

.fr-article-content .wp-block-list{
  margin:0 0 1.25rem;
  padding-left:1.25rem;
}
.fr-article-content .wp-block-list li{margin-bottom:.5rem}

.fr-article-faq-q{text-decoration:underline;text-underline-offset:.2em}

/* Notice blocks (pattern from Artea's wa-block) */
.fr-article-page .wa-block.notice-block{
  display:flex;
  gap:1rem;
  padding:1.25rem 1.25rem;
  border-radius:16px;
  margin:1.5rem 0;
}
.fr-article-page .wa-block.notice-info{
  background:rgba(167,174,242,.15);
  border:1px solid rgba(167,174,242,.45);
  color:var(--e-global-color-primary);
}
.fr-article-page .wa-block.notice-danger{
  background:rgba(255,186,135,.2);
  border:1px solid rgba(255,186,135,.55);
  color:var(--e-global-color-primary);
}
.fr-article-page .wa-block .notice-icon{
  flex-shrink:0;
  color:var(--e-global-color-primary);
  opacity:.85;
}
.fr-article-page .wa-block .body-wrapper p{margin:0;font-size:1rem;line-height:1.45}

.fr-article-newsletter{margin:2.5rem 0}
.fr-article-newsletter__card{
  border-radius:20px;
  padding:clamp(1.25rem,3vw,2rem);
  background:var(--e-global-color-primary);
  color:#fff;
}
.fr-article-newsletter__title{
  margin:0 0 1rem;
  font-family:var(--e-global-typography-secondary-font-family),serif;
  font-size:1.375rem;
  font-weight:500;
  line-height:1.3;
}
.fr-article-newsletter__form{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:stretch;
}
.fr-article-newsletter__form input[type="email"]{
  flex:1 1 200px;
  min-height:48px;
  padding:0 1rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:1rem;
}
.fr-article-newsletter__form input::placeholder{color:rgba(255,255,255,.65)}
.fr-article-newsletter__submit{
  padding:.75rem 1.5rem;
  border-radius:999px;
  border:none;
  background:var(--e-global-color-accent);
  color:var(--e-global-color-primary);
  font-weight:700;
  cursor:pointer;
  font-size:1rem;
}
.fr-article-newsletter__fine{
  margin:1rem 0 0;
  font-size:.875rem;
  line-height:1.4;
  opacity:.9;
}
.fr-article-newsletter__fine a{color:#fff;text-decoration:underline}

.fr-article-page .author-box{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1.5rem;
  border-radius:20px;
  border:1px solid rgba(36,36,67,.1);
  background:var(--e-global-color-29647e6);
  max-width:720px;
}
.fr-article-page .author-box__avatar{
  border-radius:50%;
  flex-shrink:0;
  object-fit:cover;
}
.fr-article-page .author-box__head{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .75rem;
  align-items:baseline;
  margin-bottom:.35rem;
}
.fr-article-page .author-name{font-weight:600;color:var(--e-global-color-primary)}
.fr-article-page .author-job{font-size:.875rem;color:var(--e-global-color-text)}
.fr-article-page .author-box .biography{margin:0;font-size:1rem;line-height:1.45;color:var(--e-global-color-text)}

.fr-article-related.fr-blog-section{
  padding-top:2rem;
  border-top:1px solid var(--fr-border-soft);
  background:var(--cream-500,#faf8ef);
  border-radius:0;
}

@media (max-width:1024px){
  body.fr-article-page{
    font-size:var(--e-global-typography-text-font-size);
    line-height:var(--e-global-typography-text-line-height);
  }
  .fr-article-page .fr-article-title{
    font-size:var(--e-global-typography-4802e33-font-size);
    line-height:var(--e-global-typography-4802e33-line-height);
    max-width:none;
  }
}

@media (max-width:980px){
  .fr-article-layout{
    grid-template-columns:1fr;
  }
  .fr-article-sidebar{
    position:static;
    max-width:none;
    order:2;
  }
  .fr-article-column{order:1}
}

@media (max-width:767px){
  body.fr-article-page{
    --e-global-typography-primary-font-size:2.125rem;
    --e-global-typography-primary-line-height:2.18rem;
    --e-global-typography-secondary-font-size:1.5rem;
    --e-global-typography-4802e33-font-size:2.93rem;
    --e-global-typography-4802e33-line-height:2.93rem;
  }
  .fr-article-page .fr-article-title{
    font-size:var(--e-global-typography-4802e33-font-size);
    line-height:var(--e-global-typography-4802e33-line-height);
  }
  .fr-article-page .fr-article-content h2.wp-block-heading{
    font-size:var(--e-global-typography-primary-font-size);
    line-height:var(--e-global-typography-primary-line-height);
  }
  .fr-article-page .fr-article-content h3.wp-block-heading{
    font-size:var(--e-global-typography-secondary-font-size);
    line-height:var(--e-global-typography-secondary-line-height);
  }
}

/* --------------------------------------------------------------------------
   Footer-Bereich „Canary Care“-Stil (Startseite: section.fr-footer-cc-section)
   -------------------------------------------------------------------------- */
.fr-footer-cc-section{display:block}

.fr-footer-cc{
  position:relative;
  z-index:1;
  background:var(--cream-500,#faf8ef);
  color:var(--brown-700,#2c111d);
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
}
.fr-footer-cc a{color:inherit}
.fr-footer-cc__inner{
  position:relative;
  overflow:hidden;
  padding:clamp(2.5rem,6vw,4rem) 0 clamp(2rem,4vw,3rem);
}
.fr-footer-cc__container{
  width:min(1240px,92vw);
  margin:0 auto;
  position:relative;
  z-index:2;
}
.fr-footer-cc__container--full{width:min(1320px,94vw)}

.fr-footer-cc__row--grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1.5rem,4vw,3rem);
  align-items:start;
  margin-bottom:clamp(2rem,5vw,3.5rem);
}

.fr-footer-cc__title{
  margin:0;
  font-size:.9375rem;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--brown-700,#2c111d);
}

.fr-footer-cc__toggle{
  display:none;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.35rem 0;
  border:none;
  background:transparent;
  cursor:pointer;
  text-align:left;
  font:inherit;
  color:inherit;
}
.fr-footer-cc__arrow{
  flex-shrink:0;
  display:flex;
  transition:transform .2s ease;
}
.fr-footer-cc__col--open .fr-footer-cc__arrow{transform:rotate(180deg)}

.fr-footer-cc__menu{
  list-style:none;
  margin:.75rem 0 0;
  padding:0;
}
.fr-footer-cc__menu li + li{margin-top:.5rem}
.fr-footer-cc__link{
  font-size:.9375rem;
  font-weight:400;
  color:var(--brown-500,#402531);
  text-decoration:none;
  transition:opacity .15s ease,color .15s ease;
}
.fr-footer-cc__link:hover{color:var(--brown-700,#2c111d);opacity:.92}

.fr-footer-cc__cta-label{
  margin:0 0 .75rem;
  font-size:.9375rem;
  font-weight:700;
  color:var(--brown-700,#2c111d);
}
.fr-footer-cc__badges{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  max-width:280px;
}
.fr-footer-cc__badge{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.55rem .85rem;
  border-radius:var(--radius-media);
  background:var(--ink-hero);
  color:#fff;
  text-decoration:none;
  min-height:46px;
  transition:opacity .15s ease,transform .12s ease;
}
.fr-footer-cc__badge:hover{opacity:.94;transform:translateY(-1px)}
.fr-footer-cc__badge-icon{display:flex;flex-shrink:0}
.fr-footer-cc__badge-text{display:flex;flex-direction:column;gap:.1rem;line-height:1.15}
.fr-footer-cc__badge-small{font-size:.68rem;opacity:.85;font-weight:500}
.fr-footer-cc__badge-strong{font-size:.78rem;font-weight:700}

.fr-footer-cc__row--social{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:1.5rem;
  padding-bottom:1.75rem;
  border-bottom:1px solid rgba(44,17,29,.12);
  margin-bottom:1.25rem;
}

.fr-footer-cc__logo-link{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  text-decoration:none;
  color:var(--brown-700,#2c111d);
}
.fr-footer-cc__logo-img{display:block;width:40px;height:auto}
.fr-footer-cc__logo-text{
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:-.02em;
}

.fr-footer-cc__socials{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  align-items:center;
}
.fr-footer-cc__social-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background:#FFE319;
  color:#111;
  transition:opacity .15s ease,transform .12s ease;
}
.fr-footer-cc__social-link:hover{opacity:.92;transform:translateY(-1px)}
.fr-footer-cc__social-link svg{width:18px;height:18px}

.fr-footer-cc__submenu{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem 1.25rem;
  margin-bottom:1rem;
}
.fr-footer-cc__legal-list{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1.25rem;
  list-style:none;
  margin:0;
  padding:0;
}
.fr-footer-cc__legal-link{
  font-size:.8125rem;
  color:var(--brown-500,#402531);
  text-decoration:none;
}
.fr-footer-cc__legal-link:hover{text-decoration:underline}
.fr-footer-cc__cookie-btn{
  font-size:.8125rem;
  padding:0;
  border:none;
  background:none;
  cursor:pointer;
  color:var(--brown-500,#402531);
  font-family:inherit;
  text-decoration:underline;
  text-underline-offset:.15em;
}

.fr-footer-cc__disclaimer{
  margin:0;
  font-size:.8125rem;
  color:rgba(44,17,29,.75);
}

.fr-footer-cc__shape{
  position:absolute;
  right:-8%;
  bottom:-15%;
  width:min(52vw,480px);
  height:auto;
  pointer-events:none;
  z-index:0;
  opacity:.95;
}

@media (min-width:768px){
  .fr-footer-cc__toggle{display:none}
  .fr-footer-cc__menu-wrapper{display:block !important}
  .fr-footer-cc__menu-wrapper[hidden]{display:block !important}
}

@media (max-width:767px){
  .fr-footer-cc__row--grid{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:2rem;
  }
  .fr-footer-cc__toggle{display:flex}
  .fr-footer-cc__col{
    border-bottom:1px solid rgba(44,17,29,.1);
    padding:.65rem 0;
  }
  .fr-footer-cc__col--cta{
    border-bottom:none;
    padding-top:1rem;
  }
  .fr-footer-cc__badges{max-width:none}
  .fr-footer-cc__row--social{
    flex-direction:column;
    align-items:flex-start;
  }
  .fr-footer-cc__social-wrap{width:100%}
  .fr-footer-cc__socials{padding:.25rem 0}
  .fr-footer-cc__shape{
    right:-20%;
    bottom:-25%;
    width:min(85vw,380px);
    opacity:.85;
  }
}

/* Bento-Grid Kennzahlen: nur für .fr-bento, auf das Nötige reduziert */
.fr-bento .section{
  padding:0 0 88px 0;
}
.fr-bento .grid-homepage{
  grid-column-gap:clamp(16px, calc(1rem + ((1vw - 3.6px) * 1.4815)), 32px);
  grid-row-gap:clamp(16px, calc(1rem + ((1vw - 3.6px) * 1.4815)), 32px);
  grid-template-rows:auto auto auto auto auto auto;
  grid-template-columns:1fr 1fr 1fr;
  grid-auto-columns:1fr;
  grid-auto-flow:column;
  display:grid;
}
.fr-bento .card-header{
  grid-column-gap:6px;
  grid-row-gap:6px;
  flex-flow:row;
  justify-content:flex-start!important;
  align-items:flex-start;
  margin-bottom:24px;
  display:flex;
}
.fr-bento .margin-top{
  margin-top:clamp(24px, 1.5rem + 1.4815vw - 5.3334px, 40px);
}
.fr-bento .card-graph-group{
  justify-content:flex-start;
  align-items:flex-end;
  display:flex;
}
.fr-bento .stretch{
  flex:1;
}
.fr-bento .statistic-label{
  font-size: 18px;
  font-weight: 400;
}
.fr-bento .paragraph{
  letter-spacing:-0.022em;
  font-size:clamp(1.125rem, 0.3704vw + 1.04166rem, 1.375rem);
  font-weight:300;
  line-height:1.27;
}
#w-node-b30e24a4-b895-eae8-6ff1-a44701abf920-6255b2ce{
  grid-area:span 2 / span 1 / span 2 / span 1;
}
#w-node-_567fd34d-799b-7a0a-ab6d-054233f32519-6255b2ce,
#w-node-_7c76c540-ab4e-b01d-861f-2382c08392a7-6255b2ce{
  grid-area:span 4 / span 1 / span 4 / span 1;
}
#w-node-_9ac8ac1a-a0ed-2c1b-3536-651e75ba01f5-6255b2ce{
  grid-area:span 2 / span 1 / span 2 / span 1;
}
#w-node-_5aa72351-4a52-6336-5627-f7bbc1eeff81-6255b2ce,
#w-node-_8fc69f5e-8f04-1fd6-6e1b-f100762e7e9e-6255b2ce{
  grid-area:span 3 / span 1 / span 3 / span 1;
}
@media screen and (max-width:991px){
  .fr-bento .grid-homepage{
    grid-template-rows:auto auto auto auto auto auto auto auto;
    grid-template-columns:1fr 1fr;
  }
  #w-node-_567fd34d-799b-7a0a-ab6d-054233f32519-6255b2ce,
  #w-node-_9ac8ac1a-a0ed-2c1b-3536-651e75ba01f5-6255b2ce{
    grid-row:span 2 / span 2;
  }
  #w-node-_5aa72351-4a52-6336-5627-f7bbc1eeff81-6255b2ce,
  #w-node-_8fc69f5e-8f04-1fd6-6e1b-f100762e7e9e-6255b2ce{
    grid-row:span 3 / span 3;
  }
}
@media screen and (max-width:767px){
  .fr-bento .grid-homepage{
    grid-template-rows:auto auto auto auto auto auto;
    grid-template-columns:1fr;
  }
  #w-node-b30e24a4-b895-eae8-6ff1-a44701abf920-6255b2ce,
  #w-node-_567fd34d-799b-7a0a-ab6d-054233f32519-6255b2ce,
  #w-node-_7c76c540-ab4e-b01d-861f-2382c08392a7-6255b2ce,
  #w-node-_9ac8ac1a-a0ed-2c1b-3536-651e75ba01f5-6255b2ce,
  #w-node-_5aa72351-4a52-6336-5627-f7bbc1eeff81-6255b2ce,
  #w-node-_8fc69f5e-8f04-1fd6-6e1b-f100762e7e9e-6255b2ce{
    grid-row:span 1 / span 1;
  }
}

/* Verlauf wie FAQ/Stacking über viewport fixiert → gleiche Blautöne in Ecken und Naht */
.fr-bento{
  background:var(--hero-grad);
  background-attachment:fixed;
  color:var(--ink-hero);
  margin:0;
  padding:0;
  display:block;
  box-sizing:border-box;
}
/* Oben keine Rundung; unten --section-br (Scroll-Effekt wie andere Sektionen) */
.fr-bento__panel{
  background:var(--hero-beige);
  border-top-left-radius:0;
  border-top-right-radius:0;
  overflow:hidden;
  width:100%;
  max-width:none;
  margin:0;
  box-sizing:border-box;
  padding-top:clamp(3.25rem,7vw,5.5rem);
}
/* Gleiche Content-Breite wie übrige Seite (92vw / 1240px), kein extra vw-Padding */
.fr-bento .container{
  text-align:left;
  width:min(1240px,92vw);
  max-width:none;
  margin-left:auto;
  margin-right:auto;
  padding:0;
  display:block;
}
/* Bento-Kacheln: Typo und Radii an Hero angleichen */
.fr-bento :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3){
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif!important;
  color:var(--ink-hero)!important;
}
.fr-bento :is(.paragraph,.paragraph-small,.statistic-label){
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif!important;
}
.fr-bento .card :is(p,.paragraph):not(.scale-text){
  color:var(--ink-hero)!important;
}
.fr-bento .card{
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif!important;
  border-radius:var(--radius)!important;
  border:0!important;
  box-shadow:none!important;
  display:flex;
  flex-flow:column;
  justify-content:space-between;
  align-items:stretch;
  min-height:100%;
  padding:calc(1rem + 0.7407vw - 2.66652px);
  overflow:hidden;
}
/* Kacheln abwechselnd weiß / exakt derselbe Verlauf wie .fr-faq-section (kein separates Flächenblau) */
.fr-bento .grid-homepage > div:nth-child(odd) .card{
  background:#fff!important;
}
.fr-bento .grid-homepage > div:nth-child(even) .card{
  background:var(--hero-grad)!important;
  background-attachment:fixed!important;
}
.fr-bento .grid-homepage > div:nth-child(4) .card{
  background:#fff!important;
}
.fr-bento .grid-homepage > div:nth-child(odd):has(> img.card-image){
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
}
.fr-bento .grid-homepage > div:nth-child(even):has(> img.card-image){
  background:var(--hero-grad);
  background-attachment:fixed;
  border-radius:var(--radius);
  overflow:hidden;
}
.fr-bento .card-header .circle{
  display:none!important;
}
.fr-bento .card-header .label{
  width:fit-content!important;
  max-width:100%;
}
.fr-bento .fit-text{
  padding-right:0!important;
  container-type:inline-size;
  width:100%;
  min-width:0;
}
.fr-bento .scale-text{
  padding-top:0!important;
  line-height:1!important;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif!important;
  font-weight:500!important;
  letter-spacing:-0.02em!important;
  /* KPI-Zahl: skaliert mit Kartenbreite (früher cqw im externen Bundle; ohne font-size = body-Klein) */
  font-size:clamp(2.6rem, 1.25rem + 20cqi, 5rem);
}
.fr-bento .scale-text,
.fr-bento .scale-text span{
  color:var(--ink-hero)!important;
}
.fr-bento .scale-text span{
  font-family:inherit!important;
}
.fr-bento .scale-text .scale-text__suffix{
  font-size:0.48em;
  font-weight:500;
  margin-left:0;
  letter-spacing:0;
  vertical-align:0.1em;
}
.fr-bento .card svg,
.fr-bento .card .circular-chart,
.fr-bento .card .animated-path{
  color:var(--ink-hero);
  stroke:currentColor;
}
.fr-bento .card-image{
  border-radius:var(--radius)!important;
}
/* Foto-Kachel (happy.jpg): niedriger als Standard-Grid-Spalte, Bild mit cover */
.fr-bento #w-node-_7c76c540-ab4e-b01d-861f-2382c08392a7-6255b2ce{
  position:relative;
  width:100%;
  height:clamp(200px,28vw,320px);
  overflow:hidden;
  border-radius:var(--radius);
  align-self:start;
}
.fr-bento #w-node-_7c76c540-ab4e-b01d-861f-2382c08392a7-6255b2ce .card-image{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:var(--radius)!important;
}
.fr-bento .label{
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  width:fit-content!important;
  min-height:36px;
  padding:8px 16px;
  border-radius:999px!important;
  box-shadow:inset 0 0 0 1px var(--fr-border-soft);
}

.fr-bento-heading{
  margin:0 auto clamp(1.25rem,3vw,2.25rem);
  max-width:min(1240px,92vw);
  box-sizing:border-box;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:80px;
  font-weight:500;
  line-height:1.05;
  letter-spacing:-0.02em;
  color:var(--ink-hero);
  text-align:left;
}

/* Vereinheitlichung: Überschriften Bricolage, Fließtext UI-Sans, schwarz */
:where(p,li,a,button,input,textarea,summary,td,th,time){
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  color:var(--ink-hero);
}
:where(h1,h2,h3,h4,h5,h6){
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  color:var(--ink-hero);
}
:where(h1,h2,h3,h4,h5,h6) :where(span,em,strong,b,i,u,small){
  font-family:inherit;
}
/* FAQ (Startseite) */
.fr-faq-section{
  box-sizing:border-box;
  background:var(--hero-grad);
  background-attachment:fixed;
  color:var(--ink-hero);
  padding:clamp(4.75rem,11vw,8.5rem) 0 clamp(5.25rem,12.5vw,10rem);
  border-top:0;
}
.fr-faq-section__inner{
  max-width:min(920px,92vw);
  margin:0 auto;
  box-sizing:border-box;
}
.fr-faq-section__title{
  margin:0;
  padding-bottom:40px;
  font-family:"Bricolage Grotesque","Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-size:clamp(2.5rem,6vw,80px);
  font-weight:500;
  letter-spacing:-0.02em;
  line-height:1.05;
  color:var(--ink-hero);
}
@media (max-width:639px){
  .fr-bento-heading,
  .fr-faq-section__title{
    font-size:clamp(2rem,10.8vw,64px);
    letter-spacing:-0.03em;
  }
}
.fr-faq{display:flex;flex-direction:column;gap:.65rem}
.fr-faq__item{
  border:0;
  border-radius:var(--radius);
  background:#fff;
  margin-bottom:0;
  overflow:hidden;
  box-shadow:none;
  interpolate-size:allow-keywords;
}
/* Sanftes Auf-/Zuklappen (Chrome 131+ u.a.; ältere Browser: sofortiges Toggle) */
@supports selector(::details-content){
  .fr-faq__item::details-content{
    transition:height .48s cubic-bezier(0.22,1,0.36,1),
      content-visibility .48s allow-discrete;
    overflow:hidden;
  }
  .fr-faq__item:not([open])::details-content{
    height:0;
  }
}
.fr-faq__summary{
  list-style:none;
  cursor:pointer;
  padding:clamp(1rem,2vw,1.35rem) clamp(1.2rem,2.2vw,1.5rem);
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-weight:400;
  font-size:clamp(1.125rem,2.35vw,1.4rem);
  line-height:1.35;
  letter-spacing:0.01em;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:var(--ink-hero);
  background:#fff;
  border-bottom:1px solid transparent;
  transition:border-color .28s ease;
}
.fr-faq__item[open] .fr-faq__summary{
  background:#fff;
  border-bottom-color:var(--fr-border-soft);
}
.fr-faq__summary::-webkit-details-marker{display:none}
.fr-faq__summary::after{
  content:"";
  flex-shrink:0;
  width:.55rem;
  height:.55rem;
  border-right:2px solid var(--ink-hero);
  border-bottom:2px solid var(--ink-hero);
  transform:rotate(45deg);
  transition:transform .38s cubic-bezier(0.22,1,0.36,1);
  margin-top:-.2rem;
  opacity:.75;
}
.fr-faq__item[open] .fr-faq__summary::after{transform:rotate(-135deg);margin-top:.15rem}
.fr-faq__summary:hover{color:var(--ink-hero)}
.fr-faq__item[open] .fr-faq__summary{color:var(--ink-hero)}
.fr-faq__summary:focus-visible{
  outline:2px solid var(--hero-cta-bg);
  outline-offset:2px;
  border-radius:4px;
  color:var(--ink-hero);
}
.fr-faq__panel{
  padding:clamp(.75rem,1.5vw,1rem) clamp(1.2rem,2.2vw,1.5rem) clamp(.95rem,1.6vw,1.2rem);
  background:#fff;
}
.fr-faq__panel p{
  margin:0;
  font-size:clamp(.9rem,1.2vw,1.08rem);
  line-height:1.6;
  color:var(--fr-text-muted);
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  font-weight:400;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .32s ease .06s,transform .32s cubic-bezier(0.22,1,0.36,1) .06s;
}
.fr-faq__item[open] .fr-faq__panel p{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion:reduce){
  .fr-faq__item::details-content{transition:none!important}
  .fr-faq__summary::after{transition:none!important}
  .fr-faq__panel p{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

.fr-float-cta{
  position:fixed;
  right:max(1rem, env(safe-area-inset-right));
  bottom:max(1rem, env(safe-area-inset-bottom));
  z-index:90;
  position:fixed;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-height:56px;
  padding:18px 40px;
  border-radius:999px;
  font-weight:600;
  font-size:18px;
  line-height:1;
  text-decoration:none;
  font-family:"Google Sans","Product Sans",Segoe UI,Arial,sans-serif;
  color:#fff;
  background:var(--hero-cta-bg);
  border:0;
  box-shadow:0 10px 32px rgba(0,0,0,.12);
  overflow:hidden;
  isolation:isolate;
  cursor:pointer;
  transition:opacity .18s ease, transform .18s ease;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
}
.fr-float-cta::before{
  content:"";
  position:absolute;
  left:var(--mx,50%);
  top:var(--my,50%);
  width:175%;
  aspect-ratio:1/1;
  border-radius:50%;
  background:var(--hero-cta-hover);
  transform:translate(-50%,-50%) scale(0);
  transform-origin:center;
  transition:transform .25s ease-in-out;
  pointer-events:none;
  z-index:0;
}
.fr-float-cta > *{position:relative;z-index:2}
.fr-float-cta.is-hovered::before{transform:translate(-50%,-50%) scale(1)}
.fr-float-cta:hover{transform:translateY(-1px)}
.has-float-cta .fr-float-cta{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.fr-float-cta:focus-visible{
  outline:3px solid var(--yellow-400);
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  .fr-float-cta{transition:none}
}
