@font-face {
  font-family: Montserrat;
  src: url("/assets/f9f931d4cae3168c.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("/assets/f804c6019c35796c.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("/assets/d59b081cc22ee1c7.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Cinzel;
  src: url("/assets/807e830699ab7a98.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("/assets/b2dd8af98829026a.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --rg-content-max: clamp(1220px, 62vw, 1540px);
  --client-plum: #2c233a;
  --client-forest: #382849;
  --client-mint: #e6daf0;
  --client-lilac: #ead9f5;
  --client-text: #2c2634;
  --client-muted: #534a5d;
  --client-radius: clamp(20px, 3vw, 34px);
  --client-shadow: 0 16px 46px #3327421c;
  --client-green: #244537;
  --client-purple: #493257;
  --client-dark-gradient: linear-gradient(100deg, var(--client-purple), #303d42 52%, var(--client-green));
  --client-panel: #fbfaf8;
  --client-panel-glass: #fdfcfb80;
  --client-panel-inset: #f4f2ee;
  --client-panel-edge: #e3ded7;
  --client-ui-font: Montserrat, var(--rg-sans);
  --client-button-weight: 700;
  --client-button-ease: cubic-bezier(.25,.75,.25,1);
  --client-frost: linear-gradient(145deg, #f3fff539, #edf7f01d 44%, #d2f3db3d);
  --client-button-shadow: inset 0 1px 0 #ffffff80, 0 3px 15px #438e6600, 0 5px 16px #281a3822;
  --client-button-glow: inset 0 1px 0 #ffffff80, 0 4px 24px 4px #438e6666, 0 6px 18px #1c372426;
  --client-button-glow-dark: inset 0 1px 0 #ffffff80, 0 4px 24px 4px #78c69b80, 0 6px 18px #132c204d;
}
body {
  isolation: isolate;
  margin: 0;
  background-color: #f5f2f6;
  color: var(--client-text);
}
body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  background-image:
    radial-gradient(ellipse 52% 57% at 36% 40%, #eadff2b8, #efe7f28c 45%, #efe7f200 100%),
    radial-gradient(ellipse 51% 56% at 68% 56%, #d9e1d9a6, #e4e9e3a1 48%, #e4e9e300 100%);
  background-size: 150% 150%;
  background-repeat: no-repeat;
  background-position: 85% 45%, 20% 55%;
}
@media (prefers-reduced-motion: no-preference) {
  body::before { animation: rg-pastel-drift 24s ease-in-out infinite; }
}
@keyframes rg-pastel-drift {
  0%, 100% { background-position: 85% 45%, 20% 55%; }
  25% { background-position: 55% 95%, 58% 15%; }
  50% { background-position: 15% 55%, 95% 50%; }
  75% { background-position: 50% 5%, 55% 92%; }
}
:is(.rg-masthead, .rg-client-footer, .rg-booking),
:is(.rg-masthead, .rg-client-footer, .rg-booking) * {
  box-sizing: border-box;
}
.rg-home { color: var(--client-text); font: 450 16px/1.65 var(--rg-sans); }
#rg-inhalt.rg-home { position: relative; }
.rg-home img { display: block; width: 100%; }
.rg-home :is(h1,h2,h3), .rg-client-footer :is(h2,h3) {
  margin: 0;
  font-weight: 400;
  line-height: 1.07;
  text-wrap: balance;
}
.rg-home h1 { font-size: clamp(2.55rem, 5.05vw, 5.45rem); }
.rg-home h2, .rg-client-footer h2 { font-size: clamp(1.8rem, 3.3vw, 3.4rem); }
.rg-home h3, .rg-client-footer h3 { font-size: clamp(1.06rem, 1.5vw, 1.46rem); line-height: 1.23; }
.rg-home p, .rg-client-footer p { font-weight: 450; line-height: 1.65; letter-spacing: normal; }
.rg-home-wrap { width: min(var(--rg-content-max), calc(100% - clamp(36px, 10vw, 140px))); margin-inline: auto; }
.rg-home-section { margin-block: clamp(44px, 8vw, 105px); scroll-margin-top: 110px; }
.rg-label { display: flex; align-items: center; gap: 9px; margin: 0 0 16px; font-size: .7rem; letter-spacing: .105em !important; }
.rg-home p.rg-label, .rg-client-footer p.rg-label, .rg-addon p.eyebrow {
  font-family: var(--client-ui-font) !important;
  font-weight: 400;
}
.rg-label i { display: none; }
.rg-client-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 24px; }
.rg-client-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 49px;
  padding: 11px clamp(17px, 2.25vw, 30px);
  border: 1px solid var(--client-button-edge, #a897b786);
  border-radius: 16px;
  background-color: var(--client-button-base, #eef3ed78);
  background-image: var(--client-button-gradient, linear-gradient(135deg, #fff9, #e6ede483 49%, #d3e8d69c));
  color: var(--client-button-text, #302140);
  text-decoration: none;
  text-align: center;
  font: var(--client-button-weight) .88rem/1.35 var(--client-ui-font);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
  box-shadow: var(--client-button-shadow);
  transition: box-shadow .55s var(--client-button-ease), background-color .45s ease, border-color .45s ease;
}
.rg-client-button--glass {
  --client-button-gradient: var(--client-frost);
  --client-button-base: #24203180;
  --client-button-edge: #f3e7ff8a;
  --client-button-text: #fff9ff;
  --client-button-active-shadow: var(--client-button-glow-dark);
  --client-button-active-bg: #27543fd9;
}
.rg-client-button--secondary {
  --client-button-gradient: linear-gradient(145deg, #fffc, #eff3eda8 55%, #e7f1e8b8);
  --client-button-text: #38284c;
}
.rg-client-button:not(:disabled):is(:hover,:focus-visible,:active) {
  background-color: var(--client-button-active-bg, #fff);
  border-color: #81aa91;
  color: var(--client-button-text, var(--client-green));
  opacity: 1;
  box-shadow: var(--client-button-active-shadow, var(--client-button-glow));
}
.rg-client-button:not(:disabled):active { translate: 0 1px; }
.rg-button-label { display: inline-block; text-shadow: none; }
.rg-section-intro { display: grid; grid-template-columns: 1fr minmax(0,33ch); gap: 25px; align-items: end; margin-bottom: 24px; }
.rg-section-intro > p { margin: 0; color: var(--client-muted); }
.rg-service-grid, .rg-journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(12px, 2vw, 24px); align-items: start; }
.rg-service-card, .rg-story { overflow: hidden; border: 1px solid var(--client-panel-edge); border-radius: var(--client-radius); background: var(--client-panel); box-shadow: var(--client-shadow); }
.rg-service-card img, .rg-story summary img { width: 100%; height: clamp(145px,17vw,240px); object-fit: cover; }
.rg-story summary img { height: clamp(220px, 23vw, 325px); }
.rg-journal-grid .rg-story summary img {
  height: auto;
  aspect-ratio: 1;
}
.rg-service-card > div, .rg-service-preview-link > div, .rg-story summary > div, .rg-story-text { padding: clamp(15px,2.3vw,28px); }
.rg-service-card h3 { overflow-wrap: anywhere; }
.rg-service-card p, .rg-story p { margin: 9px 0 0; color: var(--client-muted); }
.rg-service-preview-link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.rg-service-preview-link:is(:hover,:focus-visible,:active) { color: inherit; opacity: 1; }
.rg-service-card .rg-service-preview-link:focus-visible { outline-offset: -4px; }
.rg-service-preview-link > div {
  display: grid;
  flex: 1;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 14px;
  align-content: start;
}
.rg-service-preview-link :is(h2, p) { grid-column: 1; }
.rg-home .rg-service-preview-link h2 {
  grid-column: 1 / -1;
  color: #392847;
  font-size: clamp(1.3rem, 1.9vw, 1.8rem);
  line-height: 1.23;
}
.rg-service-preview-plus {
  display: grid;
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #90769e80;
  border-radius: 50%;
  background: linear-gradient(130deg, #e3cdf4 10%, #e3e9ee 50%, #c3e1c6 92%);
  color: #382842;
  font: 500 1.06rem/1 var(--rg-sans);
}
.rg-service-preview-link:is(:hover,:focus-visible,:active) .rg-service-preview-plus {
  border-color: #78598e;
  box-shadow: 0 0 13px #9876b355;
}
@media (prefers-reduced-motion: no-preference) {
  .rg-service-preview-plus { transition: border-color .32s ease, box-shadow .32s ease, scale .32s var(--client-button-ease); }
  .rg-service-preview-link:is(:hover,:focus-visible) .rg-service-preview-plus { scale: 1.09; }
  #unsere-leistungen .rg-service-preview-plus { position: relative; }
  #unsere-leistungen .rg-service-preview-plus::after {
    position: absolute;
    inset: -2px;
    border: 2px solid #ab7fc7;
    border-radius: inherit;
    box-shadow: 0 0 9px #b78bdc, inset 0 0 7px #fff;
    opacity: 0;
    pointer-events: none;
    content: "";
    animation: rg-service-plus-pulse 3.6s ease-in-out infinite;
  }
}
@keyframes rg-service-plus-pulse {
  0%, 100% { opacity: .12; scale: .98; }
  50% { opacity: .82; scale: 1.18; }
}
[data-service-detail] { scroll-margin-top: 105px; }
.rg-services-page { padding-block: clamp(138px, 13vw, 194px) clamp(56px, 9vw, 120px); }
.rg-services-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr);
  align-items: end;
  gap: clamp(26px, 7vw, 96px);
  margin-bottom: clamp(38px, 6vw, 76px);
}
.rg-services-intro h1 { color: #171717; font-size: clamp(2.4rem, 5.4vw, 5rem); }
.rg-services-intro-copy p { max-width: 49ch; margin: 18px 0 0; color: var(--client-muted); }
.rg-service-jump {
  display: grid;
  border-top: 1px solid #49325740;
}
.rg-service-jump a {
  padding: 12px 0;
  border-bottom: 1px solid #49325740;
  color: var(--client-purple);
  font-size: clamp(.9rem, 1.4vw, 1.05rem);
  text-decoration: none;
}
.rg-service-jump a:is(:hover, :focus-visible) { border-color: currentColor; }
.rg-service-parallax {
  position: relative;
  min-height: clamp(215px, 32vw, 420px);
  margin-bottom: clamp(32px, 6vw, 76px);
  overflow: hidden;
  border-radius: clamp(12px, 2vw, 24px);
}
.rg-service-parallax > img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: 68% center; }
.rg-service-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr);
  align-items: center;
  gap: clamp(28px, 7vw, 100px);
  padding-block: clamp(36px, 6vw, 84px);
  border-top: 1px solid #49325736;
}
.rg-service-detail:nth-of-type(2) { grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); }
.rg-service-detail:nth-of-type(2) > img { order: 1; }
.rg-service-detail > img {
  height: auto;
  aspect-ratio: 8 / 5;
  object-fit: cover;
  border-radius: clamp(12px, 2vw, 24px);
}
.rg-service-detail-copy h2 { font-size: clamp(1.3rem, 2.1vw, 2.15rem); overflow-wrap: anywhere; }
.rg-service-detail-copy p { max-width: 45ch; margin: 14px 0 22px; color: var(--client-muted); }
.rg-services-page .rg-service-concepts { gap: clamp(22px, 5vw, 72px); }
.rg-service-concept img { height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: clamp(12px, 2vw, 24px); }
.rg-service-concept > div { padding-top: 16px; }
.rg-service-concept p { margin: 8px 0 0; color: var(--client-muted); }
@media (max-width: 760px) {
  .rg-services-intro { grid-template-columns: minmax(0, 1fr); }
  .rg-service-detail, .rg-service-detail:nth-of-type(2) { grid-template-columns: minmax(0, 1fr); }
  .rg-service-detail:nth-of-type(2) > img { order: 0; }
}
.rg-service-dialog {
  box-sizing: border-box;
  width: min(740px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: auto;
  border: 1px solid var(--client-panel-edge);
  border-radius: var(--client-radius);
  background: var(--client-panel);
  color: var(--client-text);
  box-shadow: 0 24px 70px #1f16264a;
}
.rg-service-dialog::backdrop { background: #201927a6; backdrop-filter: blur(5px); }
.rg-service-dialog-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); min-height: 435px; }
.rg-service-dialog-layout > img { width: 100%; height: 100%; min-height: 270px; object-fit: cover; }
.rg-service-dialog-copy { align-self: center; padding: clamp(24px, 4vw, 42px); }
.rg-service-dialog-copy h2 { font-size: clamp(1.2rem, 2.35vw, 1.7rem); overflow-wrap: anywhere; }
.rg-service-dialog-copy > p { margin: 17px 0 0; color: var(--client-muted); }
.rg-service-dialog-phone {
  display: inline-grid;
  gap: 2px;
  margin-top: 20px;
  color: var(--client-green);
  text-decoration: none;
}
.rg-service-dialog-phone span {
  font: 600 .68rem/1.2 var(--client-ui-font);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.rg-service-dialog-phone strong {
  font: 700 clamp(1.05rem, 1.8vw, 1.3rem)/1.3 var(--client-ui-font);
}
.rg-service-dialog-phone:is(:hover,:focus-visible,:active) strong { text-decoration: underline; text-underline-offset: 4px; }
.rg-service-dialog-copy form { display: flex; justify-content: flex-end; margin: 0 0 22px; }
.rg-service-dialog-actions {
  display: grid;
  justify-items: start;
  gap: 12px;
  margin-top: 22px;
}
.rg-detail-link {
  color: var(--client-green);
  font-size: .88rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rg-detail-link:is(:hover,:focus-visible,:active) {
  color: #163d2d;
  opacity: 1;
  text-decoration-thickness: 2px;
}
.rg-preview-close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--client-panel-edge);
  border-radius: 11px;
  background: var(--client-panel-inset);
  color: var(--client-text);
  font: 500 1.55rem/1 var(--rg-sans);
  cursor: pointer;
}
.rg-preview-close:is(:hover,:focus-visible,:active) { background: #d7ecdb; }
@media (max-width: 590px) {
  .rg-service-dialog-layout { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .rg-service-dialog-layout > img { height: clamp(150px, 42vw, 210px); min-height: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-service-dialog[open] { animation: rg-dialog-fade .2s ease-out; }
}
@keyframes rg-dialog-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
.rg-story-split { display: grid; grid-template-columns: .86fr 1.14fr; overflow: hidden; border: 1px solid var(--client-panel-edge); border-radius: var(--client-radius); background: var(--client-panel); box-shadow: var(--client-shadow); }
.rg-concept-photo-frame + .rg-concept-grid {
  margin-top: clamp(16px, 3vw, 32px);
}
.rg-concept-photo-frame {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  border-radius: var(--client-radius);
  background: #292420;
  box-shadow: var(--client-shadow);
}
.rg-concept-photo-frame > * { grid-area: 1 / 1; }
.rg-concept-photo {
  height: 100%;
  min-height: clamp(330px, 39vw, 480px);
  aspect-ratio: 2160 / 1203;
  object-fit: cover;
  object-position: 38% 50%;
  transform-origin: 33% 58%;
}
.rg-concept-photo-frame::before,
.rg-concept-photo-frame::after {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 55%;
  content: "";
  pointer-events: none;
}
.rg-concept-photo-frame::before {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  mask-image: linear-gradient(transparent, #000 78%);
}
.rg-concept-photo-frame::after {
  background: linear-gradient(transparent, #201b17c9);
}
.rg-concept-photo-copy {
  position: relative;
  z-index: 2;
  align-self: end;
  padding: clamp(19px, 4vw, 52px);
  color: #fff;
  text-shadow: 0 1px 12px #191513b0;
}
.rg-concept-photo-copy h2 {
  color: inherit;
  font-size: clamp(1.35rem, 3.1vw, 3.1rem);
  text-wrap: pretty;
}
.rg-concept-photo-copy p { margin: 8px 0 0; color: inherit; }
.rg-concept-photo-copy--with-link {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 16px 24px;
}
.rg-concept-photo-copy--with-link > div { flex: 1 1 25rem; }
.rg-concept-photo-link {
  --client-button-base: #ffffff21;
  --client-button-active-bg: #786b8394;
  --client-button-gradient: linear-gradient(145deg, #ffffff52, #d8cde52e 58%, #786b8340);
  --client-button-edge: #ffffff9e;
  --client-button-text: #fff;
  margin-inline-start: auto;
  text-shadow: none;
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
  box-shadow: 0 12px 32px #1c172140, inset 0 1px #ffffff75;
}
@media (max-width: 590px) {
  .rg-concept-photo-frame::before,
  .rg-concept-photo-frame::after { height: 66%; }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-concept-photo-frame.rg-photo-in-view > .rg-concept-photo,
  .rg-home-trial.rg-revealed > .rg-trial-photo {
    animation: rg-photo-zoom 4.8s ease-in-out forwards;
  }
}
@keyframes rg-photo-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.12); }
}
.rg-story-copy { padding: clamp(22px,4.8vw,65px); }
.rg-story-copy > p:not(.rg-label) { margin: 14px 0 18px; color: var(--client-muted); }
.rg-about { overflow: clip; padding-block: 70px clamp(70px, 9vw, 120px); }
.rg-about h1 { font-size: clamp(2.35rem, 4.15vw, 4.5rem); }
.rg-about h2 { font-size: clamp(1.7rem, 2.55vw, 2.95rem); }
.rg-about > section + section { margin-top: clamp(70px, 10vw, 150px); }
.rg-about-overview, .rg-about-intro {
  display: grid;
  align-items: center;
  gap: clamp(22px, 7vw, 95px);
}
.rg-about-overview {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: min(850px, calc(100svh - 70px));
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  overflow: hidden;
}
.rg-about-overview::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, #171219ed 0%, #1c161dbd 42%, #1c161d40 76%), linear-gradient(180deg, transparent 45%, #1712199e 100%);
}
.rg-about-overview > img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
}
.rg-about-overview > .rg-about-copy {
  box-sizing: border-box;
  width: min(var(--rg-content-max), calc(100% - clamp(36px, 10vw, 140px)));
  padding-block: clamp(70px, 12vw, 145px);
  margin-inline: auto;
  color: #fff;
  text-shadow: 0 3px 28px #120d13b8;
}
.rg-about-overview .rg-label { color: #e7eee5; }
.rg-about-overview .rg-about-copy > p:not(.rg-label) { max-width: 58ch; color: #f5f2f4; }
.rg-about-overview .rg-client-button {
  --client-button-base: #f8f5f1df;
  --client-button-edge: #ffffffc2;
  --client-button-text: #302738;
}
.rg-about-intro { grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); scroll-margin-top: 95px; }
.rg-about-intro > .rg-about-copy { padding-block: clamp(20px, 5vw, 70px); }
.rg-about-intro h2 { font-size: clamp(1.6rem, 2.05vw, 2.25rem); }
.rg-about-copy .rg-about-role { margin: 10px 0 23px; color: var(--client-muted); }
.rg-about-copy > p { max-width: 62ch; color: var(--client-muted); }
.rg-about-copy .rg-about-quote {
  max-width: 40ch;
  margin: 16px 0 20px;
  color: #44344d;
  font: 400 clamp(.95rem, 1.2vw, 1.15rem)/1.5 Cinzel, Georgia, serif;
}
.rg-about-portrait {
  width: min(100%, 500px);
  height: min(680px, 62vw);
  justify-self: end;
  object-fit: cover;
  object-position: center top;
  border-radius: clamp(22px, 3vw, 38px);
  box-shadow: 0 30px 80px #3021392e, 0 10px 26px #3021391f;
}
@media (prefers-reduced-motion: no-preference) {
  .rg-about-intro .rg-about-portrait { animation: rg-about-float 6.5s ease-in-out infinite; }
}
@keyframes rg-about-float {
  0%, 100% { transform: translateY(0) rotate(-.35deg); }
  50% { transform: translateY(-18px) rotate(.35deg); }
}
.rg-about-parallax {
  position: relative;
  display: grid;
  align-items: end;
  min-height: clamp(390px, 55vw, 660px);
  overflow: hidden;
  background-image:
    linear-gradient(90deg, #171319bd 0%, #1713197a 32%, #17131918 67%),
    linear-gradient(180deg, #20182005 30%, #17131970 100%),
    url("/assets/about-wellbeing-v2.jpg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  box-shadow: 0 24px 70px #271c3024;
}
.rg-about-parallax-copy {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(100%, 1220px);
  padding: clamp(30px, 6vw, 76px);
  margin: 0;
  color: #fff;
  text-shadow: 0 2px 22px #16111780;
}
.rg-about-parallax-copy h2 { max-width: 15ch; font-size: clamp(1.85rem, 3.7vw, 3.65rem); }
.rg-about-parallax-copy > p:not(.rg-label) { max-width: 37ch; margin: 16px 0 0; color: #f7f1f5; font-size: clamp(.96rem, 1.35vw, 1.15rem); }
.rg-about-parallax-copy .rg-label { color: #fff; }
.rg-about-parallax-copy .rg-label i { background: #d9eddb; box-shadow: 0 0 0 4px #d9eddb38; }
.rg-about-row {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 6vw, 90px);
  align-items: center;
  box-sizing: border-box;
  min-height: 390px;
  padding: clamp(38px, 6vw, 78px);
  border: 1px solid #ffffffa8;
  border-radius: clamp(24px, 3vw, 38px);
  background: linear-gradient(135deg, #ffffffb8, #f7f3f966 58%, #dcebdd70);
  -webkit-backdrop-filter: blur(18px) saturate(110%);
  backdrop-filter: blur(18px) saturate(110%);
  box-shadow: inset 0 1px #fff, 0 28px 75px #35243d17;
}
.rg-about-row h2 {
  max-width: 13ch;
  font-size: clamp(1.7rem, 2.45vw, 2.65rem);
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
  hyphens: none;
}
.rg-about-row .rg-label { color: #6b5577; }
.rg-about-row-copy { padding-top: .25rem; }
.rg-about-row p { margin: 0 0 12px; max-width: 64ch; }
.rg-about-row:nth-of-type(5) {
  background: linear-gradient(135deg, #e2ebdfb8, #ffffff80 52%, #eadff1a8);
}
.rg-about-row:nth-of-type(5) .rg-about-row-heading { order: 2; }
.rg-about-row:nth-of-type(6) {
  border-color: #ffffff63;
  background:
    linear-gradient(90deg, #2b2034f2 0%, #2b2034df 42%, #2b2034b8 70%, #2031288c 100%),
    url("/assets/about-probemonat-v2.jpg") center / cover no-repeat;
  color: #fff;
  box-shadow: inset 0 1px #ffffff4d, 0 30px 80px #2c20352b;
}
.rg-about-row:nth-of-type(6) :is(h2, p) { color: #fff; }
.rg-about-row:nth-of-type(6) .rg-label { color: #dfeadf; }
.rg-about-row:nth-of-type(6) .rg-client-button { --client-button-base: #ffffffdc; --client-button-text: #302738; }
@media (max-width: 880px) {
  .rg-about-row { grid-template-columns: minmax(0, 1fr); min-height: auto; }
  .rg-about-row:nth-of-type(5) .rg-about-row-heading { order: 0; }
}
@media (max-width: 760px) {
  .rg-about { padding-top: 64px; }
  .rg-about-overview { min-height: 720px; }
  .rg-about-overview::after { background: linear-gradient(180deg, #1712193d 0%, #171219e6 58%, #171219f5 100%); }
  .rg-about-overview > img { object-position: 62% center; }
  .rg-about-overview > .rg-about-copy { padding-block: 90px 66px; }
  .rg-about-overview h1 { font-size: clamp(2.05rem, 9vw, 3.1rem); }
  .rg-about-intro { grid-template-columns: minmax(0, 1fr); }
  .rg-about-intro .rg-about-portrait { width: min(100%, 440px); height: auto; justify-self: start; order: -1; }
  .rg-about-parallax {
    min-height: 440px;
    background-attachment: scroll;
    background-position: center;
  }
}
.rg-story-copy details { margin: 8px 0; padding: 10px 13px; border: 1px solid var(--client-panel-edge); border-radius: 13px; background: #ffffff66; }
.rg-story-copy details p, .rg-home-trial details p { margin: 8px 0 3px; }
.rg-story summary { display: block; cursor: pointer; list-style: none; }
.rg-story summary::-webkit-details-marker { display: none; }
.rg-story summary:focus-visible { outline-offset: -5px; }
.rg-story-open { display: inline-flex; align-items: center; gap: 9px; margin-top: 15px; color: #493257; font-size: .83rem; font-weight: 450; }
.rg-story-open b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #ede9e3; transition: rotate .25s ease; }
.rg-story[open] .rg-story-open b { rotate: 45deg; }
.rg-story-text { border-top: 1px solid var(--client-panel-edge); }
.rg-magazine { padding-block: clamp(100px, 12vw, 172px) clamp(48px, 8vw, 100px); }
.rg-magazine-overview { padding-top: clamp(90px, 9vw, 132px); }
.rg-magazine-hero { min-height: clamp(400px, 48vw, 610px); }
.rg-magazine-hero-photo {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
  object-position: 65% center;
}
.rg-magazine-hero::before, .rg-magazine-hero::after { height: 72%; }
.rg-magazine-hero::after {
  background: linear-gradient(transparent, #201b177a 46%, #201b17e8);
}
.rg-magazine-hero h1 { color: inherit; font-size: clamp(2rem, 5vw, 4.5rem); text-wrap: pretty; }
.rg-magazine-hero p { max-width: 52ch; margin-top: 14px; }
.rg-jobs-hero { min-height: clamp(340px, 39vw, 500px); }
.rg-jobs-hero h1 { font-size: clamp(1.8rem, 4vw, 3.45rem); }
.rg-jobs-hero p.rg-label { margin: 0 0 12px; }
.rg-jobs-schedule { font-size: clamp(.875rem, 1.3vw, 1rem); }
.rg-jobs-listing {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr));
  gap: clamp(28px, 5vw, 56px);
  margin-top: clamp(28px, 6vw, 72px);
}
.rg-jobs-listing > section { max-width: 62ch; }
.rg-jobs-listing h2 { font-size: clamp(1.45rem, 2.5vw, 2.35rem); }
.rg-jobs-apply {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px 36px;
  padding-top: clamp(22px, 3vw, 36px);
  border-top: 1px solid #49325736;
}
.rg-jobs-listing :is(ul, p) { margin: 10px 0 0; color: var(--client-muted); }
.rg-jobs-listing ul { padding-inline-start: 1.4em; list-style: disc; }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) and (animation-range: exit 0% exit 100%) {
    .rg-jobs-hero { view-timeline-name: --rg-jobs-hero; }
    .rg-jobs-photo {
      animation: rg-jobs-parallax auto linear both;
      animation-timeline: --rg-jobs-hero;
      animation-range: exit 0% exit 100%;
    }
  }
}
@keyframes rg-jobs-parallax {
  from { transform: scale(1.2); }
  to { transform: translateY(9%) scale(1.2); }
}
.rg-magazine-topics {
  margin-block: clamp(26px, 3vw, 44px) clamp(30px, 4vw, 54px);
  padding-block-end: 24px;
  border-block-end: 1px solid #49325732;
}
.rg-magazine-topics ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.rg-magazine-topics a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 15px;
  border: 1px solid #8068884d;
  border-radius: 999px;
  background: #ffffff73;
  color: var(--client-text);
  font-size: .88rem;
  text-decoration: none;
}
.rg-magazine-topics a:is(:hover, :focus-visible) {
  border-color: #806888;
  background: #fff;
}
.rg-magazine-overview :is(.rg-magazine-stories, .rg-magazine-topic) { scroll-margin-top: 110px; }
.rg-magazine-stories { margin-top: clamp(30px, 5vw, 65px); }
.rg-magazine-stories h2 { margin-bottom: 22px; }
.rg-magazine-stories-lead { max-width: 62ch; margin: 0; color: var(--client-muted); }
.rg-magazine-section-intro { max-width: 860px; margin-bottom: clamp(30px, 5vw, 56px); }
.rg-magazine-section-intro > p:not(.rg-label) { max-width: 66ch; margin: 12px 0 0; color: var(--client-muted); }
.rg-magazine-topic + .rg-magazine-topic { margin-top: clamp(46px, 7vw, 86px); }
.rg-magazine-topic > h3 { margin: 0 0 20px; font-size: clamp(1.4rem, 2.4vw, 2.2rem); }
.rg-magazine-library-grid .rg-story h4 { margin: 7px 0 0; font-size: clamp(1.12rem, 1.65vw, 1.48rem); line-height: 1.18; }
.rg-story-kicker { display: inline-flex; width: fit-content; padding: 6px 10px; border: 1px solid #8068882e; border-radius: 999px; background: #fff9; color: #5d4664; font: 650 .7rem/1.2 var(--client-ui-font); letter-spacing: .08em; text-transform: uppercase; }
.rg-magazine-library-grid .rg-story-text p:first-child { margin-top: 0; }
.rg-magazine-library-grid .rg-story-text strong { color: var(--client-text); }
.rg-story-seo { padding-top: 14px; border-top: 1px solid var(--client-panel-edge); font-size: .92rem; }
.rg-story-cta { margin-top: 18px !important; }
.rg-story-cta .rg-client-button { display: inline-flex; color: var(--client-text); }
.rg-story-link > a { display: grid; grid-template-rows: auto 1fr; height: 100%; color: inherit; text-decoration: none; }
.rg-story-link > a:focus-visible { outline-offset: -5px; }
.rg-story-link > a > img { width: 100%; height: clamp(220px, 23vw, 325px); object-fit: cover; }
#journal .rg-story-link > a > img { height: auto; aspect-ratio: 1; }
.rg-story-link > a > div { padding: clamp(15px,2.3vw,28px); }
.rg-story-link > a > div > p { margin: 9px 0 0; color: var(--client-muted); }
#journal .rg-journal-grid,
.rg-magazine-overview :is(.rg-journal-grid, .rg-concept-grid) {
  align-items: stretch;
  grid-auto-rows: 1fr;
}
.rg-magazine-overview .rg-story-link > a > img {
  height: clamp(220px, 23vw, 325px);
}
.rg-magazine-overview .rg-concept-grid .rg-story-link { border: 0; box-shadow: var(--client-shadow); }
.rg-story-link > a > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.rg-magazine-overview .rg-story-link > a > div { min-block-size: 15rem; }
.rg-story-link .rg-story-open { margin-top: auto; padding-top: 15px; }
.rg-story-link:has(a:hover) { transform: translateY(-5px); border-color: #80688855; box-shadow: 0 20px 55px #4932571c; }
.rg-story-link a:hover img { scale: 1.055; filter: saturate(1.13); }
.rg-story-link img { transition: scale .62s cubic-bezier(.2,.7,.25,1), filter .4s ease; }
.rg-article-page { padding-block: clamp(100px, 12vw, 158px) clamp(48px, 8vw, 100px); }
.rg-article-back a { color: #493257; text-underline-offset: 4px; }
.rg-article { max-width: 1040px; margin-inline: auto; }
.rg-article-header { max-width: 850px; margin-bottom: clamp(28px, 5vw, 52px); }
.rg-article-header h1 { margin-top: 12px; max-width: 24ch; font-size: clamp(1.7rem, 2.5vw, 2.75rem); line-height: 1.1; }
.rg-article-deck { max-width: 58ch; margin: 18px 0 0; color: var(--client-muted); font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.rg-article-hero { display: block; width: 100%; max-height: 620px; border-radius: var(--client-radius); object-fit: cover; box-shadow: var(--client-shadow); }
.rg-article-copy { max-width: 760px; margin: clamp(34px, 6vw, 70px) auto 0; }
.rg-article-copy > p { margin: 0 0 1.2em; color: var(--client-muted); font-size: clamp(1rem, 1.25vw, 1.12rem); line-height: 1.75; }
.rg-article-copy > p strong { color: var(--client-text); }
.rg-article-copy .rg-story-seo { margin-top: 30px; }
.rg-article-copy .rg-story-cta { display: none; }
.rg-article-next { max-width: 820px; margin: clamp(42px, 7vw, 86px) auto 0; padding: clamp(24px, 5vw, 54px); border: 1px solid var(--client-panel-edge); border-radius: var(--client-radius); background: var(--client-panel); box-shadow: var(--client-shadow); }
.rg-article-next h2 { margin-top: 12px; font-size: clamp(1.6rem, 3.2vw, 3rem); }
.rg-article-next > p:not(.rg-label) { max-width: 54ch; margin: 12px 0 22px; color: var(--client-muted); }
.rg-article-next .rg-client-button { display: inline-flex; }
.rg-article-back { max-width: 820px; margin: 24px auto 0; }
.rg-concept-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(12px, 2vw, 24px); }
.rg-concept-grid .rg-service-card img { height: clamp(185px, 23vw, 310px); }
.rg-concept-link { display: inline-block; margin-top: 12px; color: #533766; text-decoration: underline; text-underline-offset: 3px; }
.rg-raumkonzept-stories, .rg-concept-grid .rg-story { scroll-margin-top: 105px; }
.rg-home-trial {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  box-sizing: border-box;
  min-height: clamp(390px, 38vw, 510px);
  padding: clamp(22px, 5vw, 68px);
  overflow: hidden;
  border-radius: var(--client-radius);
  background: #302923;
  color: #fff;
  box-shadow: var(--client-shadow);
}
.rg-trial-photo,
.rg-home-trial::before { position: absolute; inset: 0; width: 100%; height: 100%; }
.rg-trial-photo { z-index: -2; object-fit: cover; object-position: 55% 55%; transform-origin: 63% 55%; }
.rg-home-trial::before {
  z-index: -1;
  background: linear-gradient(90deg, #1c1a16df, #1c1a16bb 45%, #1c1a1600 90%);
  content: "";
}
.rg-trial-copy { max-width: 37rem; }
.rg-trial-copy h2 { max-width: 17ch; color: inherit; text-wrap: pretty; }
.rg-trial-copy > p:not(.rg-label) { max-width: 46ch; margin: 14px 0 18px; }
.rg-home-trial summary {
  display: block;
  width: fit-content;
  padding-block: 4px;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.rg-home-trial summary::-webkit-details-marker { display: none; }
.rg-home-trial summary:is(:hover, :focus-visible) { text-decoration-thickness: 2px; }
.rg-trial-link {
  --client-button-base: #ffffff21;
  --client-button-active-bg: #786b8394;
  --client-button-gradient: linear-gradient(145deg, #ffffff52, #d8cde52e 58%, #786b8340);
  --client-button-edge: #ffffff9e;
  --client-button-text: #fff;
  margin-top: 17px;
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
  box-shadow: 0 12px 32px #1c172140, inset 0 1px #ffffff75;
}
@media (max-width: 760px) {
  .rg-home-trial { align-items: end; min-height: 430px; }
  .rg-home-trial::before { background: linear-gradient(180deg, #1c1a1600, #1c1a16ba 40%, #1c1a16f5); }
}
.rg-client-footer { position: relative; width: 100%; overflow: hidden; isolation: isolate; color: #fbf3ff; background: #221e19; border-radius: 0; font: 450 16px/1.4 var(--rg-sans); }
.rg-client-footer::before {
  position: absolute;
  z-index: -1;
  inset: -14px;
  background:
    linear-gradient(180deg, #19161242, #1916127a 60%, #191612d9),
    url("/assets/footer-wohlfuehl-lounge-v3.jpg") center 52% / cover no-repeat;
  filter: blur(5px);
  animation: none;
  content: "";
  pointer-events: none;
}
.rg-client-footer > div { padding: clamp(27px,6vw,75px) 0 20px; }
.rg-footer-feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 18px 32px;
  padding: clamp(20px, 4vw, 46px);
  border: 1px solid #f3d7ff59;
  border-radius: var(--client-radius);
  background: #ffffff16;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.rg-client-footer .rg-footer-feature h2 {
  font-size: clamp(1rem, calc(5.45vw - 1rem), 3.05rem);
  white-space: nowrap;
}
.rg-footer-feature > div { min-width: 0; max-width: 100%; }
@media (max-width: 590px) {
  .rg-client-footer .rg-footer-feature h2 { font-size: clamp(1rem, 4.5vw, 1.5rem); }
}
@property --rg-footer-border-angle {
  syntax: "<angle>";
  initial-value: 0turn;
  inherits: false;
}
@supports (mask-composite: exclude) {
  .rg-footer-feature::after {
    position: absolute;
    inset: -1px;
    padding: 3px;
    border-radius: inherit;
    background: conic-gradient(
      from var(--rg-footer-border-angle),
      transparent 0turn,
      #d0e7d64d .035turn,
      #d9f4dfd9 .075turn,
      #fff .105turn,
      #fff .123turn,
      #ead2ffcf .157turn,
      #d6adf54d .193turn,
      transparent .23turn
    );
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
    content: "";
  }
  @media (prefers-reduced-motion: no-preference) {
    .rg-client-footer.is-in-view .rg-footer-feature::after {
      animation: rg-footer-border-drift 7.5s linear infinite;
    }
  }
}
@keyframes rg-footer-border-drift {
  to { --rg-footer-border-angle: 1turn; }
}
.rg-footer-feature p { color: #ebdcef; }
.rg-footer-feature p:not(.rg-label) { margin: 10px 0 0; }
.rg-footer-raumo {
  position: relative;
  z-index: 1;
  align-self: center;
  width: clamp(126px, 10vw, 150px);
  flex: 0 0 clamp(126px, 10vw, 150px);
  height: clamp(136px, 11vw, 160px);
  margin: -16px 0;
  overflow: hidden;
  pointer-events: none;
}
.rg-footer-raumo iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  transform: translateY(22px) scaleX(-1) scale(.86);
  transform-origin: center;
}
@keyframes rg-footer-raumo-glide {
  0%, 100% { translate: 20px 0; }
  50% { translate: 28px 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-footer-raumo { animation: rg-footer-raumo-glide 8.4s ease-in-out infinite; }
}
.rg-footer-feature .rg-client-button {
  --client-button-base: #ffffff21;
  --client-button-active-bg: #786b8394;
  --client-button-gradient: linear-gradient(145deg, #ffffff52, #d8cde52e 58%, #786b8340);
  --client-button-edge: #ffffff9e;
  --client-button-text: #fff;
  flex-shrink: 0;
  margin-inline-start: 0;
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
  box-shadow: 0 12px 32px #1c172140, inset 0 1px #ffffff75;
}
.rg-footer-feature .rg-client-button--glass {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.rg-footer-feature .rg-client-button--glass::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, #9275a3dc 0%, #705c80dc 60%, #68776dbd 100%);
  opacity: 0;
  transition: opacity .48s ease;
  pointer-events: none;
  content: "";
}
.rg-footer-feature .rg-client-button--glass .rg-button-label {
  position: relative;
  z-index: 1;
}
.rg-footer-feature .rg-client-button--glass:not(:disabled):is(:hover,:focus-visible,:active) {
  border-color: #cbbbd4;
  background-color: #6f607aab;
  box-shadow:
    inset 0 1px 0 #ffffff73,
    0 0 0 1px #e5d9eb3d,
    0 0 22px 5px #a978bd73,
    0 0 42px 10px #73568b4f,
    0 0 54px 13px #b59cc735;
}
.rg-footer-feature .rg-client-button--glass:not(:disabled):is(:hover,:focus-visible,:active)::before {
  opacity: .72;
}
.rg-footer-columns { display: grid; grid-template-columns: minmax(300px,1.3fr) minmax(0,.8fr) minmax(0,1fr); gap: 20px 35px; padding: clamp(24px,5vw,54px) 0; }
.rg-sellwerk-badge { display: block; width: min(300px,100%); height: 150px; margin-top: 8px; border: 0; }
.rg-footer-brand { max-width: 100%; margin-bottom: 13px; }
.rg-footer-brand img { display: block; flex: none; height: auto; transition: opacity .25s ease; }
.rg-footer-brand .rg-brand-symbol { width: clamp(38px, 4vw, 52px); }
.rg-footer-brand .rg-brand-wordmark { width: clamp(124px, 15vw, 205px); }
.rg-footer-brand:hover img { scale: none; rotate: none; opacity: .85; }
.rg-footer-columns p { max-width: 34ch; margin: 0; color: #eadff0; }
.rg-footer-columns h3 { margin-bottom: 9px; }
.rg-footer-columns > div > a:not(:first-child), .rg-footer-columns > div:not(:first-child) > a { display: table; margin: 6px 0; text-decoration: none; overflow-wrap: anywhere; transition: translate .25s, color .2s; }
.rg-footer-columns a, .rg-footer-bottom a { color: #faf0ff; }
.rg-footer-columns > div > a:hover { translate: 4px 0; color: #e7c9fd; }
.rg-footer-social { display: flex; gap: 7px; margin-top: 13px; }
.rg-footer-social a { position: relative; display: block; width: 35px; height: 35px; border-radius: 50%; border: 1px solid #fff6; text-decoration: none; font-size: 0; transition: translate .25s, background-color .23s; }
.rg-footer-social a::before {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 17px;
  height: 17px;
  background: currentColor;
  content: "";
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}
.rg-footer-social a:nth-child(1)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black' stroke='none'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black' stroke='none'/%3E%3C/svg%3E");
}
.rg-footer-social a:nth-child(2)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='9' width='4' height='12'/%3E%3Ccircle cx='5' cy='5' r='2' fill='black' stroke='none'/%3E%3Cpath d='M11 21V9h4v2a5 5 0 0 1 6 5v5h-4v-5a2 2 0 0 0-2-2v7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='9' width='4' height='12'/%3E%3Ccircle cx='5' cy='5' r='2' fill='black' stroke='none'/%3E%3Cpath d='M11 21V9h4v2a5 5 0 0 1 6 5v5h-4v-5a2 2 0 0 0-2-2v7z'/%3E%3C/svg%3E");
}
.rg-footer-social a:nth-child(3)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 22v-8h3l1-4h-4V8c0-1.2.4-2 2-2h2V2.2c-.8-.1-1.8-.2-3-.2-3 0-5 1.8-5 5.2V10H7v4h3v8z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 22v-8h3l1-4h-4V8c0-1.2.4-2 2-2h2V2.2c-.8-.1-1.8-.2-3-.2-3 0-5 1.8-5 5.2V10H7v4h3v8z'/%3E%3C/svg%3E");
}
.rg-footer-social a:is(:hover,:focus-visible,:active) { background: #fff; color: var(--client-green); opacity: 1; }
.rg-footer-social a:hover { translate: 0 -4px; }
.rg-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 17px; padding-top: 16px; border-top: 1px solid #ffffff46; font-size: .76rem; color: #e5d9e9; }
.rg-footer-bottom a[href*="sellwerk.de/firmenprofil"] { display: none; }
.rg-footer-bottom a[href*="schraeger.eu"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 7px 12px;
  border: 1px solid #ffffff61;
  border-radius: 999px;
  background: linear-gradient(110deg, #ffffff16, #ead8f329 48%, #dcecdf20);
  font-size: 0;
  text-decoration: none;
  box-shadow: 0 0 0 0 #e9d8f05c, inset 0 1px #ffffff4f;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background-color .22s ease, border-color .22s ease, translate .22s ease;
}
.rg-footer-bottom a[href*="schraeger.eu"]::before {
  content: "Auch Lust auf so eine coole Webseite? Hier klicken →";
  font-size: .76rem;
}
.rg-footer-bottom a[href*="schraeger.eu"]::after {
  position: absolute;
  z-index: -1;
  inset: -60% auto -60% -35%;
  width: 25%;
  background: linear-gradient(90deg, transparent, #fff9, transparent);
  rotate: 16deg;
  content: "";
}
.rg-footer-bottom a[href*="schraeger.eu"]:is(:hover,:focus-visible) {
  border-color: #fff;
  background: #ffffff28;
  translate: 0 -2px;
}
@media (prefers-reduced-motion: no-preference) {
  .rg-footer-bottom a[href*="schraeger.eu"] {
    animation: rg-footer-web-pulse 2.8s ease-in-out infinite;
  }
  .rg-footer-bottom a[href*="schraeger.eu"]::after {
    animation: rg-footer-web-shine 3.6s ease-in-out infinite;
  }
}
@keyframes rg-footer-web-pulse {
  0%, 100% { border-color: #ffffff61; box-shadow: 0 0 0 0 #e9d8f000, inset 0 1px #ffffff4f; }
  50% { border-color: #f5e9f4d4; box-shadow: 0 0 0 5px #e9d8f01f, 0 0 20px #d9bee64a, inset 0 1px #ffffff7a; }
}
@keyframes rg-footer-web-shine {
  0%, 30% { translate: -180% 0; opacity: 0; }
  45% { opacity: 1; }
  68%, 100% { translate: 620% 0; opacity: 0; }
}
.rg-to-top { margin-left: auto; }
.rg-to-top:is(:hover,:focus-visible,:active) { color: #fff; opacity: 1; text-decoration: underline; }
.rg-masthead .rg-brand img {
  display: block;
  width: clamp(156px, 16vw, 216px);
  height: auto;
  filter: brightness(0) drop-shadow(0 0 1px #ffffffbf);
  opacity: .85;
  transition: opacity .2s ease;
}
.rg-masthead .rg-brand:hover img { opacity: .68; scale: none; rotate: none; }
body :is(h1,h2,h3,h4,h5,h6) {
  font-weight: 400 !important;
  font-synthesis: none;
  overflow-wrap: anywhere;
}
body :is(h1,h2,h3,h4,h5,h6) :is(strong,b,span,em,a) {
  font-weight: inherit !important;
  letter-spacing: inherit;
}
.rg-masthead .rg-nav a { letter-spacing: .01em; }
.rg-home :focus-visible, .rg-client-footer :focus-visible { outline: 2px solid #9267a8; outline-offset: 3px; }
.rg-client-footer :focus-visible { outline-color: #ead9f5; }
@media (max-width: 900px) {
  .rg-story-split { grid-template-columns: 1fr; }


  .rg-service-grid,.rg-journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .rg-footer-feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 0;
  }
  .rg-footer-feature > div:first-child { grid-column: 1 / -1; }
  .rg-footer-raumo {
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    width: 140px;
    height: 132px;
    margin: -10px 8px -16px 0;
  }
  .rg-footer-feature .rg-client-button {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    margin-inline-start: 0;
  }
}

/* Smoked-glass aurora dock — local concept v21. */
.rg-masthead,
.rg-masthead.is-scrolled {
  isolation: isolate;
  inset: 12px 0 auto;
  display: grid;
  grid-template-columns: minmax(max-content,1fr) auto minmax(max-content,1fr);
  width: min(1320px, calc(100% - 36px));
  min-height: 64px;
  padding: 7px 9px 7px 14px;
  overflow: hidden;
  border: 1px solid #ffffff4f;
  border-radius: 24px;
  background: linear-gradient(112deg, #21172cec 0%, #35243feb 50%, #183127eb 100%);
  box-shadow: 0 18px 48px #120c1b50, inset 0 1px #ffffff2d;
  -webkit-backdrop-filter: blur(28px) saturate(145%);
  backdrop-filter: blur(28px) saturate(145%);
  transition: width .65s cubic-bezier(.2,.75,.15,1), top .55s cubic-bezier(.2,.75,.15,1), min-height .55s cubic-bezier(.2,.75,.15,1), box-shadow .4s ease;
}
.rg-masthead::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  inset: -80% -20%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 28% 48%, #a878bf52 0 11%, transparent 30%),
    radial-gradient(circle at 72% 54%, #70b58d40 0 10%, transparent 29%);
  background-size: 115% 115%;
  pointer-events: none;
  opacity: .9;
}
.rg-masthead::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(100deg, transparent 10%, #ffffff30 30%, transparent 48%);
  background-size: 240% 100%;
  pointer-events: none;
  opacity: .55;
}
.rg-masthead > * { position: relative; z-index: 1; }
.rg-masthead.is-scrolled {
  top: 8px;
  width: min(1080px, calc(100% - 32px));
  min-height: 56px;
  padding-block: 5px;
  box-shadow: 0 17px 46px #120c1b5c, 0 0 30px #79558d1f, inset 0 1px #ffffff35;
}
.rg-masthead .rg-brand,
.rg-masthead .rg-nav,
.rg-masthead .rg-head-book {
  min-height: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: none;
}
.rg-masthead .rg-brand {
  justify-self: start;
  padding: 0 8px 0 0;
  border-radius: 0;
}
.rg-masthead .rg-brand img {
  filter: brightness(0) invert(1);
  opacity: .96;
}
.rg-masthead .rg-brand .rg-brand-wordmark {
  width: clamp(124px, 13vw, 178px);
  transition: width .55s cubic-bezier(.2,.75,.15,1), opacity .35s ease, margin .55s ease;
}
.rg-masthead.is-scrolled .rg-brand { gap: 0; }
.rg-masthead.is-scrolled .rg-brand .rg-brand-symbol { width: 35px; height: 35px; }
.rg-masthead.is-scrolled .rg-brand .rg-brand-wordmark { width: 0; margin: 0; opacity: 0; }
.rg-masthead .rg-nav {
  justify-self: center;
  gap: clamp(7px, 1.2vw, 16px);
  padding: 0 8px;
  border-radius: 0;
}
.rg-masthead .rg-nav a {
  position: relative;
  padding: 9px 2px;
  border-radius: 0;
  color: #f8f4f8;
  font-weight: 520;
  opacity: .84;
}
.rg-masthead .rg-nav a:is(:hover,:focus-visible,:active) {
  background: transparent;
  color: #fff;
  opacity: 1;
}
.rg-masthead .rg-nav a[aria-current="page"] {
  background: transparent;
  box-shadow: none;
  color: #fff;
  opacity: 1;
}
.rg-masthead .rg-nav a[aria-current="page"]::after {
  content: "";
  position: absolute;
  inset: auto 22% 2px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ba8fd0, #a8cbb5);
  box-shadow: 0 0 10px #bc91d0bd, 0 0 16px #7fc39d70;
}
.rg-masthead .rg-head-book {
  justify-self: end;
  min-height: 46px;
  padding: 9px 19px;
  border: 1px solid #ffffffc7;
  border-radius: 17px;
  background: linear-gradient(120deg, #fffdf9, #efe2f4 52%, #dcebe0);
  color: #2d2331;
  box-shadow: 0 10px 28px #09060e3b, 0 0 0 0 #b78ec700, inset 0 1px #fff;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.rg-masthead .rg-head-book:is(:hover,:focus-visible,:active) {
  border-color: #fff;
  background: linear-gradient(120deg, #fff, #f0e0f6 52%, #d8eee0);
  color: #291f2e;
  box-shadow: 0 12px 32px #09060e4a, 0 0 30px 5px #bd93cb72, inset 0 1px #fff;
}
@keyframes rg-header-aurora {
  0%,100% { translate: -2% -1%; rotate: -2deg; scale: 1; }
  50% { translate: 3% 2%; rotate: 2deg; scale: 1.08; }
}
@keyframes rg-header-trace {
  0%,64% { background-position: 130% 0; opacity: 0; }
  70% { opacity: .55; }
  90%,100% { background-position: -120% 0; opacity: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-masthead::before { animation: rg-header-aurora 13s ease-in-out infinite; }
  .rg-masthead::after { animation: rg-header-trace 8.5s ease-in-out infinite; }
  .rg-masthead .rg-head-book { animation: rg-header-cta-breathe 6.2s ease-in-out infinite; }
}

@media (max-width: 900px) {
  .rg-masthead,
  .rg-masthead.is-scrolled {
    top: 8px;
    width: calc(100% - 18px);
    min-height: 56px;
    padding: 5px 6px 5px 10px;
    overflow: visible;
    border: 1px solid #ffffff4f;
    border-radius: 20px;
    background: linear-gradient(112deg, #21172cf2, #35243ff0 52%, #183127f0);
    box-shadow: 0 15px 42px #120c1b50, inset 0 1px #ffffff2d;
  }
  .rg-masthead.is-scrolled { width: calc(100% - 24px); }
  .rg-masthead .rg-brand,
  .rg-masthead.is-scrolled .rg-brand { min-height: 0; padding: 0; }
  .rg-masthead .rg-brand .rg-brand-symbol,
  .rg-masthead.is-scrolled .rg-brand .rg-brand-symbol { width: 35px; height: 35px; }
  .rg-masthead .rg-brand .rg-brand-wordmark,
  .rg-masthead.is-scrolled .rg-brand .rg-brand-wordmark { width: clamp(116px, 34vw, 145px); opacity: .96; }
  .rg-masthead .rg-menu-toggle {
    min-height: 44px;
    padding: 8px 13px;
    border: 1px solid #ffffff55;
    border-radius: 15px;
    background: #ffffff12;
    color: #fff;
    box-shadow: inset 0 1px #ffffff25;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .rg-masthead .rg-menu-toggle:is(:hover,:focus-visible,:active) { background: #ffffff20; color: #fff; }
  .rg-masthead.menu-open .rg-nav {
    inset: 72px 9px 9px;
    min-height: 0;
    padding: clamp(20px, 6vw, 34px);
    border: 1px solid #ffffff42;
    border-radius: 24px;
    background:
      radial-gradient(circle at 15% 5%, #9d6bbf38, transparent 42%),
      radial-gradient(circle at 90% 95%, #70b58d2f, transparent 46%),
      #21172cf4;
    box-shadow: 0 28px 72px #100a185e, inset 0 1px #ffffff24;
    -webkit-backdrop-filter: blur(28px) saturate(135%);
    backdrop-filter: blur(28px) saturate(135%);
  }
  .rg-masthead .rg-nav a {
    color: #f8f4f8;
    border-bottom-color: #ffffff1f;
    opacity: .9;
  }
  .rg-masthead .rg-nav a[aria-current="page"] { background: #ffffff0e; }
  .rg-masthead .rg-nav .rg-nav-mobile-contact {
    border: 1px solid #ffffffb8;
    border-radius: 17px;
    background: linear-gradient(120deg, #fffdf9, #efe2f4 52%, #dcebe0);
    color: #2d2331;
    box-shadow: 0 12px 30px #08050c47;
  }
}

/* Centered signature header with cinematic menu — local concept v22. */
.rg-masthead,
.rg-masthead.is-scrolled {
  inset: 14px 0 auto;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  width: min(1400px, calc(100% - 36px));
  min-height: 58px;
  margin-inline: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.rg-masthead::before,
.rg-masthead::after { display: none; }
.rg-masthead.is-scrolled { top: 8px; width: min(1240px, calc(100% - 28px)); }
.rg-masthead .rg-brand,
.rg-masthead.is-scrolled .rg-brand {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  min-height: 58px;
  padding: 8px 18px 8px 12px;
  gap: 10px;
  border: 1px solid #ffffffbd;
  border-radius: 21px;
  background: linear-gradient(115deg, #fffdfbea, #f3ecf6e7, #edf4eee9);
  box-shadow: 0 14px 38px #21162d28, inset 0 1px #fff;
  transform: none;
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  backdrop-filter: blur(24px) saturate(135%);
  transition: padding .45s ease, box-shadow .35s ease, transform .45s ease;
}
.rg-masthead .rg-brand img { filter: brightness(0) drop-shadow(0 0 1px #ffffffbf); opacity: .85; }
.rg-masthead .rg-brand .rg-brand-symbol,
.rg-masthead.is-scrolled .rg-brand .rg-brand-symbol { width: 38px; height: 38px; }
.rg-masthead .rg-brand .rg-brand-wordmark,
.rg-masthead.is-scrolled .rg-brand .rg-brand-wordmark { width: clamp(132px, 13vw, 178px); margin: 0; opacity: 1; }
.rg-masthead.is-scrolled .rg-brand { min-height: 52px; padding-block: 5px; transform: translateY(-1px); }
.rg-masthead .rg-menu-toggle {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 9px 17px;
  border: 1px solid #ffffff4d;
  border-radius: 18px;
  background: linear-gradient(120deg, #291d32ec, #3a2943ea 55%, #1f3a2fec);
  color: #fff;
  box-shadow: 0 14px 36px #160e2050, inset 0 1px #ffffff26;
  font: 600 .86rem/1.2 var(--rg-menu-font);
  cursor: pointer;
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  backdrop-filter: blur(22px) saturate(140%);
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.rg-masthead .rg-menu-toggle:is(:hover,:focus-visible,:active) {
  background-color: #423149;
  color: #fff;
  box-shadow: 0 16px 40px #160e205c, 0 0 24px #a376b94d, inset 0 1px #ffffff30;
  transform: translateY(-1px);
}
.rg-masthead .rg-menu-glyph i { background: currentColor; }
.rg-masthead .rg-head-book,
.rg-masthead.is-scrolled .rg-head-book {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  min-height: 52px;
  padding: 9px 20px;
  border: 1px solid #9274a3a8;
  border-radius: 18px;
  background: linear-gradient(125deg, #6a4b78, #805b8c 56%, #4f725e);
  color: #fff;
  box-shadow: 0 14px 36px #4f385d38, inset 0 1px #ffffff55;
  transform: none;
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}
.rg-masthead.is-scrolled .rg-head-book { min-height: 48px; transform: translateY(-1px); }
.rg-masthead .rg-head-book:is(:hover,:focus-visible,:active) {
  background: linear-gradient(125deg, #745181, #8b6297 56%, #587b66);
  color: #fff;
  box-shadow: 0 16px 40px #4f385d45, 0 0 28px 5px #aa84ba62, inset 0 1px #ffffff6c;
}
.rg-masthead .rg-nav { display: none; }
.rg-masthead.menu-open .rg-nav {
  counter-reset: rg-nav-item;
  position: fixed;
  z-index: 0;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  gap: 0 clamp(34px, 6vw, 110px);
  width: 100%;
  height: 100dvh;
  max-height: none;
  padding: clamp(120px, 15vh, 180px) max(8vw, calc((100vw - 1120px) / 2)) clamp(50px, 8vh, 90px);
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 18% 12%, #a46fc044, transparent 34%),
    radial-gradient(circle at 86% 84%, #6bb08736, transparent 36%),
    linear-gradient(135deg, #1d1424 0%, #2a1c31 54%, #162a22 100%);
  box-shadow: none;
  -webkit-backdrop-filter: blur(30px) saturate(135%);
  backdrop-filter: blur(30px) saturate(135%);
  animation: rg-menu-cinema-in .48s cubic-bezier(.2,.75,.2,1) both;
}
.rg-masthead.menu-open .rg-nav a:not(.rg-nav-mobile-contact) {
  counter-increment: rg-nav-item;
  position: relative;
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  min-height: 92px;
  padding: 20px 4px;
  border-bottom: 1px solid #ffffff26;
  border-radius: 0;
  background: transparent;
  color: #f9f5fa;
  font: 400 clamp(1.75rem, 3vw, 3.2rem)/1.05 var(--rg-display);
  letter-spacing: -.015em;
  opacity: .86;
  text-decoration: none;
  box-shadow: none;
  transition: color .25s ease, opacity .25s ease, padding-left .35s cubic-bezier(.2,.75,.2,1);
}
.rg-masthead.menu-open .rg-nav a:not(.rg-nav-mobile-contact)::before {
  content: "0" counter(rg-nav-item);
  color: #c9b1d4;
  font: 600 .67rem/1 var(--rg-sans);
  letter-spacing: .14em;
}
.rg-masthead.menu-open .rg-nav a:not(.rg-nav-mobile-contact)::after { display: none; }
.rg-masthead.menu-open .rg-nav a:not(.rg-nav-mobile-contact):is(:hover,:focus-visible),
.rg-masthead.menu-open .rg-nav a[aria-current="page"] {
  padding-left: 14px;
  background: linear-gradient(90deg, #ffffff0b, transparent 72%);
  color: #fff;
  opacity: 1;
}
.rg-masthead.menu-open .rg-nav .rg-nav-mobile-contact {
  display: inline-flex;
  grid-column: 1 / -1;
  justify-self: center;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  margin-top: clamp(28px, 5vh, 52px);
  padding: 12px 28px;
  border: 1px solid #ffffffc7;
  border-radius: 18px;
  background: linear-gradient(120deg, #fffdf9, #efe2f4 52%, #dcebe0);
  color: #2d2331;
  font: 700 .95rem/1.2 var(--client-ui-font);
  box-shadow: 0 14px 36px #09060e42, 0 0 28px #a879b13b;
  opacity: 1;
}
@keyframes rg-menu-cinema-in {
  from { opacity: 0; clip-path: circle(0 at 6% 5%); }
  to { opacity: 1; clip-path: circle(145% at 6% 5%); }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-masthead .rg-head-book { animation: rg-header-cta-breathe 6.2s ease-in-out infinite; }
}

@media (max-width: 900px) {
  .rg-masthead,
  .rg-masthead.is-scrolled {
    top: 8px;
    grid-template-columns: 1fr auto 1fr;
    width: calc(100% - 18px);
    min-height: 50px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .rg-masthead.is-scrolled { width: calc(100% - 24px); }
  .rg-masthead .rg-brand,
  .rg-masthead.is-scrolled .rg-brand {
    min-height: 50px;
    padding: 5px 11px 5px 8px;
    border-radius: 17px;
  }
  .rg-masthead .rg-brand .rg-brand-symbol,
  .rg-masthead.is-scrolled .rg-brand .rg-brand-symbol { width: 32px; height: 32px; }
  .rg-masthead .rg-brand .rg-brand-wordmark,
  .rg-masthead.is-scrolled .rg-brand .rg-brand-wordmark { width: clamp(102px, 29vw, 132px); }
  .rg-masthead .rg-menu-toggle {
    min-width: 50px;
    min-height: 50px;
    padding: 8px 12px;
    border-radius: 17px;
  }
  .rg-masthead .rg-menu-toggle .rg-button-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .rg-masthead .rg-head-book,
  .rg-masthead.is-scrolled .rg-head-book {
    min-width: 50px;
    min-height: 50px;
    padding: 8px 11px;
    border-radius: 17px;
    font-size: 0;
  }
  .rg-masthead .rg-head-book::before { content: "↗"; font: 700 1rem/1 var(--rg-sans); }
  .rg-masthead.menu-open .rg-nav {
    inset: 0;
    grid-template-columns: minmax(0,1fr);
    gap: 0;
    width: 100%;
    height: 100dvh;
    padding: 92px 20px 30px;
    border-radius: 0;
  }
  .rg-masthead.menu-open .rg-nav a:not(.rg-nav-mobile-contact) {
    grid-template-columns: 34px 1fr;
    min-height: 64px;
    padding: 13px 4px;
    font-size: clamp(1.35rem, 6vw, 1.8rem);
  }
  .rg-masthead.menu-open .rg-nav .rg-nav-mobile-contact { width: min(100%, 310px); margin-top: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .rg-masthead.menu-open .rg-nav { animation: none !important; }
}
@media (max-width: 590px) {




  .rg-section-intro { grid-template-columns: minmax(0,1fr); }
  .rg-service-grid,.rg-journal-grid { grid-template-columns: minmax(0,1fr); }
  .rg-concept-grid { grid-template-columns: minmax(0,1fr); }
  .rg-service-card img { height: clamp(170px,47vw,230px); }
  .rg-story summary img { height: clamp(220px, 64vw, 320px); }
  .rg-magazine-overview .rg-story-link > a > img { height: clamp(220px, 64vw, 320px); }
  .rg-section-intro { gap: 10px; }
  .rg-to-top { margin-left: 0; }
}
@media (max-width: 760px) {
  .rg-footer-columns { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .rg-client-button,.rg-footer-social a,.rg-footer-columns a,.rg-home-scroll span { scale: none!important; translate: none!important; rotate: none!important; animation: none!important; transition: none!important; }
  .rg-footer-raumo { animation: none !important; }
}

.rg-masthead {
  --rg-masthead-height: 70px;
  --rg-menu-font: Montserrat, var(--rg-sans);
  --rg-masthead-ink: #202420;
  inset: 0 0 auto;
  width: 100%;
  min-height: var(--rg-masthead-height);
  gap: clamp(10px, 2vw, 28px);
  margin: 0;
  padding: 9px max(20px, calc((100vw - var(--rg-content-max) - 70px) / 2));
  border: 0;
  border-bottom: 1px solid #ffffffa6;
  border-radius: 0;
  color: var(--rg-masthead-ink);
}
/* Keep the glass surface stable as content scrolls underneath it. */
.rg-masthead,
.rg-masthead.is-scrolled {
  background-color: #fbfaf8f2;
  background-image:
    radial-gradient(ellipse 52% 100% at 36% 40%, #dfc9ef75, #e5d1ef00 100%),
    radial-gradient(ellipse 51% 100% at 68% 56%, #dce4dc70, #e4e9e300 100%);
  background-size: 150% 150%;
  background-repeat: no-repeat;
  background-position: 85% 45%, 20% 55%;
  box-shadow: 0 4px 16px #00000009;
  translate: none;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: none;
}
@media (prefers-reduced-motion: no-preference) {
  .rg-masthead { animation: rg-pastel-drift 24s ease-in-out infinite; }
}
.rg-masthead .rg-brand { gap: clamp(7px, 1vw, 13px); }
.rg-masthead .rg-brand .rg-brand-symbol { width: 38px; height: 38px; }
.rg-masthead .rg-brand .rg-brand-wordmark { width: clamp(124px, 13vw, 178px); height: auto; }
.rg-masthead .rg-nav { gap: clamp(12px, 1.65vw, 23px); border: 0; border-radius: 0; padding: 0; background: transparent; }
.rg-masthead .rg-nav a {
  border-radius: 0;
  padding: 9px 0;
  color: var(--rg-masthead-ink);
  font: 500 .91rem/1.35 var(--rg-menu-font);
  letter-spacing: .012em;
  -webkit-text-stroke: 0;
}
.rg-masthead .rg-nav a:is(:hover,:focus-visible,:active,[aria-current="page"]) {
  background: transparent;
  opacity: 1;
}
.rg-masthead .rg-nav a[aria-current="page"] {
  text-decoration: underline;
  text-decoration-color: #6f577f;
  text-underline-offset: 5px;
}
.rg-masthead .rg-nav a:is(:hover,:focus-visible,:active) {
  color: var(--client-purple);
}
.rg-masthead .rg-nav a:not(.rg-nav-mobile-contact):is(:hover,:focus-visible,:active) {
  text-shadow: 0 0 9px #aa7fc67a, 0 0 15px #a5cdb092;
}
@media (prefers-reduced-motion: no-preference) {
  .rg-masthead .rg-nav a {
    transition: scale .25s var(--client-button-ease), color .25s ease, text-shadow .25s ease;
  }
  .rg-masthead .rg-nav a:is(:hover,:focus-visible) { scale: 1.065; }
}
.rg-masthead .rg-head-action {
  padding: 4px 0 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rg-masthead-ink);
  font: 600 .9rem/1.3 var(--client-ui-font);
  letter-spacing: 0;
  -webkit-text-stroke: 0;
  box-shadow: none;
}

/* The opening video and its fallback use the same framing. */
.rg-home-hero { padding-top: 70px; }
.rg-entry-scene {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-height: clamp(628px, calc(100svh + 28px), 1108px);
  overflow: hidden;
}
.rg-entry-media {
  position: absolute;
  inset: 0;
  isolation: isolate;
  background: #1b1b1b;
}
.rg-entry-media::before, .rg-entry-media::after {
  position: absolute;
  pointer-events: none;
  content: "";
}
.rg-entry-media::before {
  inset: 0;
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  mask-image: linear-gradient(
    to bottom,
    transparent 39%,
    rgb(0 0 0 / .18) 54%,
    rgb(0 0 0 / .62) 72%,
    #000 94%
  );
}
.rg-entry-media::after {
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      transparent 34%,
      rgb(21 22 20 / 20%) 53%,
      rgb(21 22 20 / 62%) 76%,
      rgb(21 22 20 / 79%)
    ),
    rgb(0 0 0 / 14%);
}
.rg-entry-photo, .rg-entry-video {
  position: absolute;
  z-index: -2;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 50% 51%;
}
.rg-entry-video { z-index: -2; }
.rg-entry-photo { z-index: -3; }
.rg-entry-scene [hidden] { display: none; }
.rg-home-intro {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: end;
  gap: clamp(18px, 3vw, 40px);
  padding-block: clamp(120px, 32svh, 350px) clamp(48px, 8svh, 106px);
  color: #fff;
}
.rg-home-intro .rg-entry-region {
  display: block;
  margin: 0 0 14px;
  color: #f1eee9;
  font-size: .78rem;
  letter-spacing: .045em !important;
}
.rg-home-intro h1 {
  margin: 0;
  color: inherit;
  font-size: clamp(1.85rem, 3.1vw, 3.3rem);
  line-height: 1.1;
}
.rg-entry-booking .rg-client-button {
  --client-button-base: #ffffff21;
  --client-button-active-bg: #786b8394;
  --client-button-gradient: linear-gradient(145deg, #ffffff52, #d8cde52e 58%, #786b8340);
  --client-button-edge: #ffffff9e;
  --client-button-text: #fff;
  --client-button-shadow: 0 12px 32px #1c172140, inset 0 1px #ffffff75;
  --client-button-active-shadow: 0 4px 24px 4px #78c69b80, 0 6px 18px #132c204d;
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
}
@keyframes rg-entry-booking-glow {
  0%, 64%, 100% {
    box-shadow: 0 5px 16px #281a3822;
  }
  32% {
    box-shadow:
      0 0 0 1px #f4e7ff38,
      0 0 22px 5px #a778c46b,
      0 0 40px 10px #79aa8e38;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-entry-booking .rg-client-button {
    animation: rg-entry-booking-glow 4.4s ease-in-out infinite;
  }
  .rg-entry-booking .rg-client-button:is(:hover,:focus-visible,:active) {
    animation-play-state: paused;
    box-shadow: var(--client-button-active-shadow);
  }
}
@media (min-width: 901px) {
  .rg-entry-booking { text-align: right; }
}
.rg-service-ticker {
  display: flex;
  align-items: center;
  border-block: 1px solid #57446b24;
  background: linear-gradient(100deg, #eee2fa69, #fff7 48%, #dcecdf80);
  color: var(--client-text);
}
.rg-service-ticker-window { flex: 1; min-width: 0; }
.rg-service-ticker-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px clamp(22px, 3vw, 46px);
  margin: 0;
  padding: 15px 18px;
  list-style: none;
  font: 400 clamp(1rem, 1.55vw, 1.28rem)/1.3 Cinzel, Georgia, serif;
  letter-spacing: .025em;
}
.rg-service-ticker-list[aria-hidden] { display: none; }
.rg-service-ticker:focus-visible { outline-offset: -3px; }
@media (prefers-reduced-motion: no-preference) {
  .rg-service-ticker-window {
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
  }
  .rg-service-ticker-track {
    display: flex;
    width: max-content;
    animation: rg-service-ticker-slide 72s linear infinite;
  }
  .rg-service-ticker .rg-service-ticker-list {
    display: flex;
    flex-wrap: nowrap;
    flex: none;
    min-width: 100vw;
    justify-content: space-around;
    white-space: nowrap;
  }
  .rg-service-ticker-list li { display: flex; align-items: center; gap: 12px; }
  .rg-service-ticker-list li::before {
    display: none;
    content: none;
  }
  .rg-service-ticker:is(:hover, :focus) .rg-service-ticker-track { animation-play-state: paused; }
}
@keyframes rg-service-ticker-slide {
  to { transform: translateX(-50%); }
}
.rg-service-ticker {
  position: relative;
  min-height: clamp(68px, 5.8vw, 88px);
  overflow: hidden;
  border-block-color: #ffffff78;
  background:
    radial-gradient(ellipse 34% 150% at 18% 48%, #d8c6e784, transparent 72%),
    radial-gradient(ellipse 34% 150% at 82% 52%, #c9dfcf82, transparent 72%),
    linear-gradient(105deg, #ede8f0, #f8f6f4 50%, #e8eee8);
  box-shadow: inset 0 1px #fff, inset 0 -1px #ffffff8c, 0 10px 32px #392c4310;
}
.rg-service-ticker-window { position: relative; min-height: inherit; overflow: hidden; }
.rg-service-ticker-track {
  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;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  animation: none !important;
}
.rg-glass-reveal { position: absolute; inset: 0; overflow: hidden; isolation: isolate; }
.rg-glass-reveal::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, #ffffff18, transparent 30%, #fff8 49%, transparent 68%),
    repeating-linear-gradient(90deg, #fff0 0 5px, #ffffff12 6px 7px);
  mix-blend-mode: screen;
  content: "";
}
.rg-glass-botany {
  position: absolute;
  top: -64%;
  left: 7%;
  width: clamp(170px, 22vw, 360px);
  aspect-ratio: 1.55;
  opacity: .17;
  filter: blur(1px);
  rotate: -8deg;
  background:
    radial-gradient(ellipse 34% 15% at 22% 28%, #334638 0 54%, transparent 58%),
    radial-gradient(ellipse 30% 14% at 46% 48%, #334638 0 54%, transparent 58%),
    radial-gradient(ellipse 34% 15% at 70% 28%, #334638 0 54%, transparent 58%),
    linear-gradient(76deg, transparent 48%, #334638 49% 51%, transparent 52%);
  transform-origin: 50% 100%;
}
.rg-home .rg-glass-mark {
  position: absolute;
  z-index: 2;
  inset: 50% auto auto 50%;
  width: clamp(30px, 3vw, 44px);
  height: clamp(30px, 3vw, 44px);
  object-fit: contain;
  opacity: .22;
  filter: brightness(0) drop-shadow(0 1px #fff9);
  transform: translate(-50%, -50%);
}
.rg-glass-scent { position: absolute; z-index: 1; inset: 50% 13% auto auto; width: 74px; height: 50px; transform: translateY(-50%); }
.rg-glass-scent i {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 18px;
  height: 18px;
  border: 1px solid #6f577f70;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.35);
}
.rg-glass-scent i:nth-child(2) { animation-delay: -1.8s; }
.rg-glass-scent i:nth-child(3) { animation-delay: -3.6s; }
.rg-glass-frost {
  position: absolute;
  z-index: 3;
  inset: 0;
  background: linear-gradient(100deg, #f7f3f0e8, #eee8f1dc 49%, #eef3eee8);
  -webkit-backdrop-filter: blur(16px) saturate(112%);
  backdrop-filter: blur(16px) saturate(112%);
}
.rg-glass-sweep {
  position: absolute;
  z-index: 4;
  top: -12%;
  bottom: -12%;
  left: -12%;
  width: clamp(54px, 7vw, 112px);
  opacity: 0;
  background: linear-gradient(90deg, transparent, #ffffffbf 46%, #fff 50%, #ffffff8f 54%, transparent);
  filter: blur(.4px);
  box-shadow: 18px 0 34px #ffffff4d;
  transform: skewX(-8deg);
}
@media (prefers-reduced-motion: no-preference) {
  .rg-glass-frost { animation: rg-glass-clear 10s cubic-bezier(.6, 0, .28, 1) infinite; }
  .rg-glass-sweep { animation: rg-glass-sweep 10s cubic-bezier(.6, 0, .28, 1) infinite; }
  .rg-glass-botany { animation: rg-glass-leaf 8s ease-in-out infinite alternate; }
  .rg-glass-scent i { animation: rg-glass-scent 5.4s ease-out infinite; }
}
@keyframes rg-glass-clear {
  0%, 8% { clip-path: inset(0 0 0 0); opacity: 1; }
  66%, 84% { clip-path: inset(0 0 0 100%); opacity: 1; }
  89% { clip-path: inset(0 0 0 100%); opacity: 0; }
  90% { clip-path: inset(0 0 0 0); opacity: 0; }
  100% { clip-path: inset(0 0 0 0); opacity: 1; }
}
@keyframes rg-glass-sweep {
  0%, 8% { left: -12%; opacity: 0; }
  12% { opacity: .92; }
  66% { left: 104%; opacity: .92; }
  70%, 100% { left: 104%; opacity: 0; }
}
@keyframes rg-glass-leaf { to { rotate: -3deg; translate: 9px 4px; } }
@keyframes rg-glass-scent {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.35); }
  22% { opacity: .42; }
  78%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(3.1); }
}
@media (max-width: 680px) {
  .rg-service-ticker { min-height: 64px; }
  .rg-glass-botany { left: -6%; width: 220px; opacity: .13; }
  .rg-glass-scent { right: 5%; scale: .8; }
  .rg-home .rg-glass-mark { width: 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-glass-frost { clip-path: inset(0 0 0 64%); opacity: .52; }
  .rg-glass-sweep { display: none; }
}
.rg-service-ticker {
  z-index: 6;
  min-height: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.rg-service-ticker-window {
  min-height: 0;
  overflow: visible;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.rg-glass-reveal {
  position: absolute;
  inset: auto auto 0 50%;
  display: flex;
  width: max-content;
  height: auto;
  gap: clamp(10px, 1.4vw, 18px);
  overflow: visible;
  transform: translate(-50%, 50%);
}
.rg-glass-reveal::before { display: none; }
.rg-concept-orb {
  display: flex;
  width: clamp(124px, 11vw, 158px);
  min-height: clamp(52px, 4.5vw, 62px);
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 15px;
  border: 1px solid #fff9;
  border-radius: 999px;
  background: linear-gradient(145deg, #ffffffd4, #f3edf5a6);
  color: #3e3543;
  text-decoration: none;
  box-shadow: inset 0 1px #fff, 0 12px 34px #32233e22;
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
  transition: translate .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.rg-concept-orb:nth-child(2) { translate: 0 7px; background: linear-gradient(145deg, #ffffffd8, #e9f1e9b8); }
.rg-concept-orb:is(:hover, :focus-visible) { translate: 0 -4px; border-color: #fff; box-shadow: inset 0 1px #fff, 0 17px 38px #32233e31; }
.rg-concept-orb:nth-child(2):is(:hover, :focus-visible) { translate: 0 3px; }
.rg-concept-orb svg { flex: none; width: 24px; height: 24px; overflow: visible; fill: none; stroke: #3e3543; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; opacity: .78; }
.rg-concept-orb > span { font: 600 .78rem/1 var(--rg-sans); letter-spacing: .025em; }
.rg-concept-orb--clean svg { fill: #3e3543; stroke: none; }
@media (prefers-reduced-motion: no-preference) {
  .rg-concept-orb { animation: rg-orb-arrive .8s cubic-bezier(.2,.8,.2,1) both; }
  .rg-concept-orb:nth-child(2) { animation-delay: .12s; }
  .rg-concept-orb:nth-child(3) { animation-delay: .24s; }
}
@keyframes rg-orb-arrive { from { opacity: 0; scale: .8; translate: 0 12px; } }
@media (max-width: 680px) {
  .rg-service-ticker { min-height: 0; }
  .rg-glass-reveal { gap: 6px; }
  .rg-concept-orb { width: 103px; min-height: 48px; gap: 6px; padding-inline: 9px; }
  .rg-concept-orb svg { width: 19px; height: 19px; }
  .rg-concept-orb > span { font-size: .68rem; }
  .rg-concept-orb:nth-child(2) { translate: 0 5px; }
}
#pflanzenkonzept, #dufterlebnis { scroll-margin-top: 110px; }
.rg-service-ticker {
  min-height: clamp(46px, 3.3vw, 52px);
  overflow: hidden;
  border-block: 1px solid #ffffff78;
  background: linear-gradient(100deg, #eee7f2, #faf8f6 48%, #e9f0e9);
  box-shadow: inset 0 1px #fff, inset 0 -1px #ffffff9c, 0 10px 32px #392c4310;
}
.rg-service-ticker-window {
  min-height: inherit;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent) !important;
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent) !important;
}
.rg-service-ticker-track {
  position: relative !important;
  display: flex !important;
  width: max-content !important;
  height: auto !important;
  min-height: inherit;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
}
.rg-service-ticker .rg-service-ticker-list {
  display: flex !important;
  flex: none;
  flex-wrap: nowrap;
  min-width: max-content;
  align-items: center;
  gap: clamp(34px, 4vw, 72px);
  margin: 0;
  padding: 0 clamp(18px, 2vw, 36px);
  font: 500 clamp(.9rem, 1.15vw, 1.05rem)/1 var(--rg-sans);
  letter-spacing: .035em;
  color: #403747;
  list-style: none;
}
@media (prefers-reduced-motion: no-preference) {
  .rg-service-ticker-track { animation: rg-service-ticker-slide 62s linear infinite !important; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-service-ticker-track { transform: none; }
  .rg-service-ticker-list[aria-hidden="true"] { display: none !important; }
}
@media (max-width: 680px) {
  .rg-service-ticker { min-height: 44px; }
  .rg-service-ticker .rg-service-ticker-list { gap: 30px; padding-inline: 15px; font-size: .82rem; }
}
#unsere-leistungen {
  margin-top: clamp(64px, 8.5vw, 138px);
}
.rg-home-service-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: end;
  gap: 14px clamp(18px, 3vw, 40px);
  margin-bottom: clamp(30px, 3vw, 44px);
}
#rg-services-label { font-size: clamp(1.75rem, 3.1vw, 3.05rem); }
.rg-home-service-copy { justify-self: end; width: min(100%, 44ch); margin: 0; color: var(--client-muted); font-size: .95rem; }
.rg-home-service-intro .rg-label { margin-bottom: 8px; color: var(--client-purple); font-size: .72rem; text-transform: uppercase; }
.rg-home-service-more { margin-top: 16px; text-align: right; }
#unsere-leistungen + #raumkonzept { margin-block-start: clamp(64px, 10vw, 140px); }

@media (max-width: 900px) {
  body.rg-menu-active { overflow: hidden; }
  .rg-masthead { min-height: 62px; padding: 7px 16px; flex-wrap: nowrap; }
  .rg-masthead .rg-nav { padding: 0; }
  .rg-masthead.menu-open .rg-nav {
    position: fixed;
    z-index: 0;
    inset: 62px 0 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    height: calc(100dvh - 62px);
    max-height: none;
    overflow-y: auto;
    padding: clamp(18px, 5vw, 30px) clamp(20px, 6vw, 44px) calc(26px + env(safe-area-inset-bottom));
    border: 0;
    border-radius: 0;
    background:
      radial-gradient(circle at 15% 10%, #e7d6f1e8, transparent 43%),
      radial-gradient(circle at 88% 88%, #dceadfe8, transparent 45%),
      #fbfaf8f7;
    box-shadow: 0 18px 34px #261b3324;
    -webkit-backdrop-filter: blur(20px) saturate(130%);
    backdrop-filter: blur(20px) saturate(130%);
  }
  .rg-masthead .rg-brand,
  .rg-masthead .rg-menu-toggle { position: relative; z-index: 1; }
  .rg-masthead .rg-menu-toggle {
    border-color: #59645a75;
    background: #ffffff80;
    color: var(--rg-masthead-ink);
    font: var(--client-button-weight) .84rem/1.3 var(--rg-menu-font);
  }
  .rg-masthead .rg-menu-toggle:is(:hover,:focus-visible,:active) { background: #fff; }
  .rg-masthead .rg-nav a {
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 13px 8px;
    border-bottom: 1px solid #5f4a6e24;
    color: #282329;
    font-size: clamp(1.16rem, 4.8vw, 1.48rem);
    line-height: 1.2;
  }
  .rg-masthead .rg-nav .rg-nav-mobile-contact {
    justify-content: center;
    min-height: 58px;
    margin-top: 18px;
    padding-inline: 18px;
    border: 1px solid #705c7d70;
    border-radius: 16px;
    background: linear-gradient(120deg, #f0e2f7, #e0eee4);
    color: #34283c;
    font-family: var(--client-ui-font);
    font-weight: 700;
    font-size: clamp(1rem, 4.2vw, 1.2rem);
    letter-spacing: 0;
    text-align: center;
    -webkit-text-stroke: 0;
  }
  .rg-masthead .rg-nav a:is(:hover,:focus-visible) { scale: none; }
  .rg-home-hero { padding-top: 62px; }
  .rg-home-intro, .rg-home-service-intro { grid-template-columns: minmax(0, 1fr); }
  .rg-home-service-copy { justify-self: start; }
}
@media (max-width: 590px) {
  .accent-l04-grid { overflow-x: clip; }
  .rg-entry-scene { min-height: min(840px, calc(99svh + 20px)); }
  .rg-entry-photo, .rg-entry-video { object-position: 60% 50%; }
  .rg-home-intro { padding-block: clamp(110px, 25svh, 200px) clamp(40px, 7svh, 64px); }
  .rg-home-intro h1 { font-size: clamp(1.2rem, 6.35vw, 2.25rem); }
}

/* Shared palette for the original service pages. */
:root {
  --rg-glass-light: var(--client-panel-glass);
  --rg-glass-dark: var(--client-dark-gradient);
}
.section55.colour-one, .section-4 {
  background: linear-gradient(135deg, #fffaff99, #efe0f580 48%, #e1eee480);
}
.section55.colour-four { background: var(--client-dark-gradient); }
.film { background: var(--client-dark-gradient); }
.film h2 em,.film .eyebrow { color: #f1dcff; }
.film-frame { background: #2d203a; }
.button-basic-one.w-button { --rg-bg: #473156; --rg-border: #a783b8; }
:root .opt-in-l02-form-wrapper .field-light { border-color: #9681a1; color: #332740; }
:root .opt-in-l02-form-wrapper .field-light:focus { border-color: #735383; outline-color: #735383; }
.rg-local-seo-intro { width: min(62ch,100%); margin: 16px auto 10px; color: var(--client-muted); text-align: center; font: 450 clamp(.95rem,1.4vw,1.12rem)/1.65 var(--rg-sans); }

.rg-masthead .rg-head-book {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex-shrink: 0;
  min-height: 43px;
  padding: 8px 17px;
  border: 1px solid #7667818f;
  border-radius: 14px;
  background: linear-gradient(120deg, #ffffffe8, #f7f0fae0 48%, #edf7efe6);
  font-weight: var(--client-button-weight);
  box-shadow: 0 4px 16px #3f2d4d17, 0 0 24px 4px #78c69b00;
  transition: box-shadow .55s var(--client-button-ease), background-color .45s ease, border-color .45s ease;
}
.rg-masthead .rg-head-book::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -65%;
  bottom: -65%;
  left: -42%;
  width: 34%;
  rotate: 14deg;
  background: linear-gradient(90deg, transparent, #ffffffd9, transparent);
  pointer-events: none;
}
.rg-masthead .rg-head-book:is(:hover,:focus-visible,:active) {
  translate: none;
  background-color: #fff;
  border-color: #81aa91;
  opacity: 1;
  box-shadow: 0 0 24px 4px #78c69b80;
}
@keyframes rg-head-book-pulse {
  0%, 58%, 100% { transform: scale(1); box-shadow: 0 4px 16px #3f2d4d17, 0 0 24px 4px #78c69b00; }
  64% { transform: scale(1.025); box-shadow: 0 5px 20px #674e7929, 0 0 22px 3px #b58bc375; }
  70% { transform: scale(1); box-shadow: 0 4px 16px #3f2d4d17, 0 0 16px 2px #78c69b3d; }
  76% { transform: scale(1.018); box-shadow: 0 5px 20px #385f4826, 0 0 24px 4px #78c69b72; }
  83% { transform: scale(1); box-shadow: 0 4px 16px #3f2d4d17, 0 0 24px 4px #78c69b00; }
}
@keyframes rg-head-book-shine {
  0%, 58% { left: -42%; opacity: 0; }
  61% { opacity: .82; }
  78% { left: 112%; opacity: 0; }
  100% { left: 112%; opacity: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-masthead .rg-head-book { animation: rg-head-book-pulse 4.2s ease-in-out infinite; }
  .rg-masthead .rg-head-book::after { animation: rg-head-book-shine 4.2s ease-in-out infinite; }
}
:root :is(.button-basic-one, .button-basic-two, .button-basic-one-outlined-2).w-button {
  font: var(--client-button-weight) .88rem/1.35 var(--client-ui-font) !important;
  border-radius: 16px;
  background-image: linear-gradient(105deg, transparent, #e4f4e044);
  background-size: 100% 100%;
  background-position: center;
  box-shadow: var(--client-button-shadow);
  transition: box-shadow .55s var(--client-button-ease), background-color .3s ease;
}
:root :is(.button-basic-one, .button-basic-two, .button-basic-one-outlined-2).w-button:not(:disabled):is(:hover,:focus-visible,:active) {
  background-position: center;
  background-color: #fff;
  border-color: #81aa91;
  color: var(--client-green);
  opacity: 1;
  box-shadow: var(--client-button-glow);
  translate: none;
  scale: none;
}
body :is(a, button, input[type="submit"], input[type="button"], summary, [role="button"]) {
  -webkit-tap-highlight-color: #2f694833;
}
body :is(.rg-client-button, .rg-head-book, .rg-service-preview-link, .rg-detail-link, .w-button, button, summary):focus-visible {
  outline: 2px solid #35654b;
  outline-offset: 3px;
}
body .rg-concept-photo-link:focus-visible { outline-color: #fff; }
body .rg-home-trial :is(a, summary):focus-visible { outline-color: #fff; }
.rg-masthead :focus-visible { outline-color: #35654b; }
.rg-client-footer .rg-client-button:focus-visible {
  outline-color: #b8e7c8;
}
.rg-service-dialog [data-preview-book] {
  --client-button-base: #fff;
  --client-button-active-bg: #fff;
  --client-button-gradient: none;
  --client-button-edge: #708a78;
  --client-button-text: #24523c;
}
@media (prefers-reduced-motion: reduce) {
  .rg-masthead .rg-head-book { transition: none; }
  .rg-masthead .rg-head-book::after { display: none; }
  :root :is(.button-basic-one, .button-basic-two, .button-basic-one-outlined-2).w-button { transition: none; }
}
.rg-masthead .rg-nav { gap: clamp(10px, 1.4vw, 20px); }

.rg-service-grid { align-items: stretch; }
.rg-service-grid .rg-service-card img {
  height: auto;
  aspect-ratio: 4 / 3;
}
.rg-service-card h3 { color: #392847; }
@media (prefers-reduced-motion: no-preference) {
  .rg-service-card.rg-revealed, .rg-story.rg-revealed {
    animation: rg-card-arrive .75s cubic-bezier(.2,.75,.25,1) var(--rg-reveal-delay, 0ms) backwards;
  }
  .rg-service-card, .rg-story { transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
  .rg-service-card img, .rg-story summary img { transition: scale .62s cubic-bezier(.2,.7,.25,1), filter .4s ease; }
  .rg-home-intro.rg-revealed { animation: rg-dialog-fade .55s ease-out; }
  .rg-booking-form:not([hidden]), .rg-booking-intro { animation: rg-enter .58s cubic-bezier(.2,.75,.25,1); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .rg-service-card:hover, .rg-story:has(summary:hover) {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px #45295733;
    border-color: #cbc2b7;
  }
  .rg-service-card:hover img, .rg-story summary:hover img { scale: 1.055; filter: saturate(1.13); }
  .rg-journal-grid .rg-story summary:hover img { scale: none; }
}
@keyframes rg-card-arrive {
  from { opacity: .4; translate: 0 25px; scale: .98; }
  to { opacity: 1; translate: 0 0; scale: 1; }
}

.rg-booking { padding-block: clamp(100px, 10vw, 153px) clamp(52px, 8vw, 96px); }
.rg-booking-page::before {
  background-image:
    radial-gradient(ellipse 54% 60% at 34% 38%, #eadff2c4, #f0e9f180 48%, #f0e9f100 100%),
    radial-gradient(ellipse 52% 58% at 72% 56%, #e8e1e7b8, #eee9ec9c 50%, #eee9ec00 100%);
}
.rg-booking-page .rg-masthead,
.rg-booking-page .rg-masthead.is-scrolled {
  background-image:
    radial-gradient(ellipse 52% 100% at 36% 40%, #dfc9efc9, #e5d1ef00 100%),
    radial-gradient(ellipse 51% 100% at 68% 56%, #e6dfe7b8, #eee9ec00 100%);
}
.rg-booking-page .rg-month-nav button,
.rg-booking-page .rg-month-grid button {
  background: #f0e8f1ed;
}
.rg-booking-intro { margin-bottom: 30px; }
.rg-booking-intro .rg-booking-audience { font-size: .65rem; }
.rg-booking-intro h1 { font-size: clamp(2rem, 5vw, 4.4rem); }
.rg-booking-intro > p:not(.rg-label) { max-width: 57ch; color: var(--client-muted); }
.rg-booking-intro .rg-booking-radius { margin-top: 6px; font-size: .85rem; }
.rg-contact-page { padding-block: clamp(104px, 10vw, 148px) clamp(52px, 8vw, 96px); }
.rg-legal-page { padding-block: clamp(104px, 11vw, 160px) clamp(52px, 8vw, 96px); }
.rg-legal-page h1 { font-size: clamp(1.8rem, 3.7vw, 3.3rem); }
.rg-terms-page h1 { font-size: clamp(1.45rem, 2.8vw, 2.55rem); }
.rg-legal-copy {
  max-width: 72ch;
  margin-top: clamp(24px, 4vw, 48px);
  overflow-wrap: anywhere;
}
.rg-legal-copy section {
  padding-block: clamp(18px, 3vw, 32px);
  border-top: 1px solid #49325740;
}
.rg-legal-copy h2 { font-size: clamp(1.15rem, 2.2vw, 1.65rem); }
.rg-legal-copy p { margin: 10px 0 0; }
.rg-legal-copy p:first-child { margin-top: 0; }
:is(.rg-privacy-page, .rg-terms-page) .rg-legal-copy p { font-weight: 400; }
.rg-legal-copy a {
  color: var(--client-purple);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rg-contact-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(26px, 6vw, 84px);
}
.rg-contact-intro h1 { font-size: clamp(1.9rem, 3.7vw, 3.6rem); text-wrap: balance; }
.rg-contact-intro > p:not(.rg-label) { max-width: 43ch; margin: 16px 0 0; color: var(--client-muted); }
.rg-contact-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 24px; font-style: normal; }
.rg-contact-links a { color: var(--client-purple); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.rg-contact-photo-frame {
  position: relative;
  height: clamp(310px, 37vw, 505px);
  overflow: hidden;
  border-radius: 8px 52px 8px 52px;
}
.rg-contact-photo {
  height: 100%;
  object-fit: cover;
  object-position: 50% 52%;
  transform: scale(1.01);
  transform-origin: center;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .rg-contact-photo { animation: rg-contact-photo-zoom 14s ease-in-out infinite alternate; }
}
@keyframes rg-contact-photo-zoom {
  from { transform: scale(1.01); }
  to { transform: scale(1.12); }
}
.rg-contact-page .rg-contact-form {
  gap: clamp(22px, 4vw, 48px);
  margin-top: clamp(38px, 7vw, 92px);
  padding: clamp(24px, 4vw, 50px) 0 0;
  border: 0;
  border-top: 1px solid #49325740;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  scroll-margin-top: 105px;
}
.rg-contact-form .rg-contact-form-intro h2 { font-size: clamp(1.8rem, 3.3vw, 3.4rem); }
.rg-contact-form-intro p, .rg-contact-fields p { margin: 6px 0 0; color: var(--client-muted); font-size: .9rem; }
.rg-contact-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(22px, 5vw, 65px); }
.rg-contact-form fieldset { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.rg-contact-form legend { margin-bottom: 12px; padding: 0; color: var(--client-purple); font-size: 1.1rem; font-weight: 650; }
.rg-contact-fields { display: grid; gap: 12px; }
.rg-contact-message-actions { display: grid; justify-items: start; gap: 10px; margin-top: 2px; }
.rg-contact-message-actions p { margin: 0; }
.rg-contact-submit-row { display: flex; align-items: center; gap: 12px; }
.rg-contact-privacy-note { margin-top: 4px !important; }
.rg-contact-raumo {
  display: block;
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  overflow: hidden;
  pointer-events: none;
}
.rg-contact-raumo iframe { display: block; width: 100%; height: 100%; border: 0; background: transparent; pointer-events: none; }
@media (max-width: 520px) {
  .rg-contact-raumo { flex-basis: 78px; width: 78px; height: 78px; }
}

/* Datenschutzfreundliche Einwilligungsverwaltung */
.rg-consent[hidden], .rg-consent-preferences[hidden], .rg-consent-actions [hidden], .rg-consent-placeholder[hidden] { display: none !important; }
.rg-consent {
  position: fixed;
  z-index: 10050;
  inset: auto 18px 18px;
  display: grid;
  justify-items: center;
  pointer-events: none;
  opacity: 0;
  translate: 0 18px;
  transition: opacity .22s ease, translate .22s ease;
}
.rg-consent.is-visible { pointer-events: auto; opacity: 1; translate: 0; }
.rg-consent-card {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(230px,.62fr);
  gap: 18px 20px;
  width: min(720px,100%);
  max-height: calc(100dvh - 36px);
  overflow: auto;
  padding: 22px 24px;
  border: 1px solid #ffffffb8;
  border-radius: 22px;
  background: linear-gradient(135deg,#fffafb92,#efe5f29c 54%,#f8f2f092);
  box-shadow: 0 20px 58px #2f233740, inset 0 1px 0 #ffffffe3;
  color: #322c35;
  -webkit-backdrop-filter: blur(38px) saturate(135%);
  backdrop-filter: blur(38px) saturate(135%);
}
.rg-consent-copy h2 { margin: 4px 0 7px; font-family: var(--rg-display,Cinzel,Georgia,serif); font-size: clamp(1.02rem,1.45vw,1.25rem); font-weight: 400; letter-spacing: -.015em; }
.rg-consent-copy > p:not(.rg-consent-kicker,.rg-consent-links) { max-width: 61ch; margin: 0; color: #5b525e; font-size: .84rem; line-height: 1.48; }
.rg-consent-kicker { margin: 0; color: #715d7b; font-size: .58rem; font-weight: 550; letter-spacing: .11em; }
.rg-consent-links { display: flex; gap: 14px; margin: 8px 0 0; font-size: .78rem; }
.rg-consent-links a { color: #5f4b69; text-decoration: underline; text-underline-offset: 3px; }
.rg-consent-preferences { grid-column: 1/-1; display: grid; gap: 9px; }
.rg-consent-preferences label { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0; padding: 12px 14px; border: 1px solid #765f823d; border-radius: 14px; background: #ffffff91; }
.rg-consent-preferences span { display: grid; gap: 2px; }
.rg-consent-preferences small { color: #625966; font-weight: 450; line-height: 1.4; }
.rg-consent-preferences input { width: 20px; height: 20px; accent-color: #765f82; flex: 0 0 auto; }
.rg-consent-actions { align-self: end; display: grid; grid-template-columns: 1fr; gap: 7px; }
.rg-consent-button, .rg-consent-text-button {
  min-height: 40px;
  border: 1px solid #765f82;
  border-radius: 999px;
  padding: 8px 13px;
  color: #342d38;
  background: #ffffff73;
  box-shadow: inset 0 1px 0 #fff9;
  font: 700 .78rem/1.2 Montserrat,Arial,sans-serif;
  cursor: pointer;
}
.rg-consent-button:hover, .rg-consent-button:focus-visible, .rg-consent-text-button:hover, .rg-consent-text-button:focus-visible { background: #eee5f2cf; outline: 3px solid #9b82a866; outline-offset: 2px; }
.rg-consent-text-button { min-height: 30px; border-color: transparent; background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.rg-consent-button[data-rg-consent="save"] { grid-column: auto; }
.rg-footer-consent { border: 0; padding: 0; color: inherit; background: transparent; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rg-consent-placeholder { display: grid; place-content: center; gap: 5px; width: min(300px,100%); min-height: 150px; margin-top: 8px; border: 1px solid #ffffff4a; border-radius: 14px; padding: 18px; background: #ffffff12; color: inherit; }
.rg-consent-placeholder span { max-width: 30ch; font-size: .78rem; line-height: 1.4; }
.rg-consent-placeholder button { justify-self: start; border: 0; padding: 4px 0; color: inherit; background: transparent; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 760px) {
  .rg-consent { inset: auto 8px 8px; }
  .rg-consent-card { grid-template-columns: 1fr; max-height: calc(100dvh - 16px); overflow: auto; border-radius: 18px; padding: 17px; }
  .rg-consent-actions { grid-template-columns: 1fr; }
  .rg-consent-text-button, .rg-consent-button[data-rg-consent="save"] { grid-column: auto; }
}
@media (max-width: 760px) {
  .rg-contact-hero { grid-template-columns: minmax(0, 1fr); }
  .rg-contact-photo-frame { height: clamp(210px, 54vw, 345px); }
}
@media (max-width: 880px) {
  .rg-contact-form-grid { grid-template-columns: minmax(0, 1fr); }
}
.rg-probemonat-intro { margin-bottom: clamp(28px, 5vw, 64px); }
.rg-probemonat-intro h1 { font-size: clamp(1.85rem, 4.4vw, 3.8rem); }
.rg-probemonat-intro p:not(.rg-label) { margin-top: 16px; }
.rg-probemonat-split, .rg-probemonat-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  align-items: center;
}
.rg-probemonat-split {
  overflow: clip;
  border-radius: var(--client-radius);
  background: linear-gradient(135deg, #e8ddee, #e3eadc);
}
.rg-probemonat-split-copy { padding: clamp(24px, 6vw, 76px); }
.rg-probemonat-split-copy p { margin: 12px 0 0; color: var(--client-muted); }
.rg-probemonat-frame { position: relative; min-height: clamp(270px, 37vw, 475px); overflow: hidden; }
.rg-probemonat-photo { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.rg-probemonat-details { gap: clamp(16px, 5vw, 64px); margin-block: clamp(42px, 8vw, 105px); align-items: start; }
.rg-probemonat-details p { margin: 0 0 12px; color: var(--client-muted); }
.rg-probemonat-banner { min-height: clamp(415px, calc(44vw + 15px), 590px); }
.rg-probemonat-banner::before, .rg-probemonat-banner::after { height: 70%; }
.rg-probemonat-banner::after {
  background: linear-gradient(transparent, #201b17bc 64%, #201b17eb);
}
@media (max-width: 680px) {
  .rg-probemonat-split, .rg-probemonat-details { grid-template-columns: minmax(0, 1fr); }
  .rg-probemonat-banner::before, .rg-probemonat-banner::after { height: 88%; }
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) and (animation-range: entry 0% exit 100%) {
    :is(.rg-probemonat-frame, .rg-service-parallax) { view-timeline-name: --rg-photo-frame; }
    :is(.rg-probemonat-photo, .rg-service-parallax > img) {
      animation: rg-photo-parallax auto linear both;
      animation-timeline: --rg-photo-frame;
      animation-range: entry 0% exit 100%;
    }
  }
}
@keyframes rg-photo-parallax {
  from { transform: translateY(-8%) scale(1.2); }
  to { transform: translateY(8%) scale(1.2); }
}
.rg-booking-form:not([hidden]) { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 20px; align-items: start; }
.rg-booking-panel {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: clamp(16px, 3vw, 34px);
  border: 1px solid var(--client-panel-edge);
  border-radius: var(--client-radius);
  background: var(--client-panel);
  box-shadow: var(--client-shadow);
}
.rg-booking-panel h2 { font-size: clamp(1.3rem, 2.4vw, 2.2rem); margin-bottom: 4px; }
.rg-booking-panel label { display: grid; gap: 4px; min-width: 0; font-weight: 550; }
.rg-booking-panel :is(input, select, textarea) {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  min-height: 44px;
  padding: 7px 10px;
  border: 1px solid #9279a1;
  border-radius: 10px;
  background: #fff;
  color: var(--client-text);
  font: inherit;
}
.rg-booking-panel textarea { resize: vertical; }
.rg-booking-panel select {
  appearance: none;
  padding-inline: 12px 38px;
  background:
    linear-gradient(45deg, transparent 38%, #654a77 40% 60%, transparent 62%) right 20px center / 6px 6px no-repeat,
    linear-gradient(135deg, transparent 38%, #654a77 40% 60%, transparent 62%) right 15px center / 6px 6px no-repeat,
    #faf7fc;
}
.rg-booking-panel select:disabled { opacity: .65; }
@supports (appearance: base-select) and selector(::picker(select)) {
  .rg-booking-panel select, .rg-booking-panel select::picker(select) { appearance: base-select; }
  .rg-booking-panel select {
    align-items: center;
    padding-inline-end: 15px;
    background: #faf7fc;
  }
  .rg-booking-panel select::picker-icon { color: #654a77; }
  .rg-booking-panel select::picker(select) {
    margin-block: 5px;
    padding: 4px;
    border: 1px solid #b6a2c5;
    border-radius: 12px;
    background: #faf7fc;
    color: var(--client-text);
    box-shadow: 0 10px 26px #49325724;
  }
  .rg-booking-panel option { padding: 9px 12px; border-radius: 8px; }
  .rg-booking-panel option:is(:checked, :focus, :hover) { background: #eaddf2; }
}
.rg-booking-panel > p { margin: 0; font-size: .84rem; }
.rg-booking-panel > .rg-client-button { justify-self: start; cursor: pointer; text-align: left; }
.rg-booking button:disabled { opacity: .55; cursor: default; pointer-events: none; }
.rg-month-nav { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; text-align: center; gap: 6px; }
.rg-month-nav p { margin: 0; }
.rg-month-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 4px; }
.rg-month-grid > * { display: grid; place-items: center; min-height: 40px; font-variant-numeric: tabular-nums; }
.rg-month-grid span { color: #695972; }
.rg-month-grid .rg-weekday { font-size: .8rem; }
.rg-month-nav button, .rg-month-grid button {
  padding: 0;
  min-height: 44px;
  border: 1px solid #b7a8bf;
  border-radius: 10px;
  background: #fff;
  color: #5b4766;
  cursor: pointer;
  font: 650 1rem var(--rg-sans);
}
.rg-month-grid button:is(:hover,:focus-visible,:active,[aria-pressed="true"]),
.rg-month-nav button:not(:disabled):is(:hover,:focus-visible,:active) { background: #6d5579; color: #fff; }
.rg-booking-calendar-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #242622;
  color: #fff;
  box-shadow: 0 24px 65px #342a3d24, inset 0 1px #ffffffa3;
}
.rg-booking-calendar-panel::before {
  position: absolute;
  z-index: 0;
  inset: -12px;
  background:
    linear-gradient(145deg, #17121d78 0%, #1420196b 58%, #1b171b70 100%),
    url("/assets/leistung-bueroreinigung-chefbuero.webp") center / cover;
  content: "";
  filter: blur(3.5px) saturate(.82);
  scale: 1.035;
  pointer-events: none;
}
.rg-booking-calendar-panel > * { position: relative; z-index: 1; }
.rg-booking-calendar-panel .rg-month-nav p,
.rg-booking-calendar-panel label { color: #fff; }
.rg-booking-calendar-panel .rg-month-grid span { color: #f2f0ec; }
.rg-booking-calendar-panel .rg-month-grid > span:not(.rg-weekday) { opacity: .74; }
.rg-booking-calendar-panel .rg-month-nav button:disabled { background: #ffffffa8; color: #5f5664; }
.rg-address-row { display: grid; grid-template-columns: minmax(0, .48fr) minmax(0, 1fr); gap: 10px; }
.rg-booking-details-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 10px; }
.rg-booking-details-row label { align-content: end; }
@media (max-width: 540px) {
  .rg-booking-details-row { grid-template-columns: minmax(0, 1fr); }
}
.rg-booking-notice:not(:empty) { margin-top: 18px; padding: 13px 16px; border: 1px solid var(--client-panel-edge); border-radius: 12px; background: var(--client-panel); overflow-wrap: anywhere; }
.rg-booking-contact { margin-top: 22px; }
.rg-manage-booking { min-height: 78vh; }
.rg-manage-panel { max-width: 720px; }
.rg-manage-summary { display: grid; grid-template-columns: max-content 1fr; gap: 8px 20px; margin: 20px 0 26px; }
.rg-manage-summary dt { color: var(--client-muted); font-weight: 600; }
.rg-manage-summary dd { margin: 0; }
.rg-manage-panel form { display: grid; gap: 14px; }
.rg-manage-panel form .rg-client-button { justify-self: start; }
.rg-manage-cancel { margin-top: 24px; border: 0; padding: 0; color: #70475a; background: transparent; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.rg-manage-help { margin-top: 28px !important; }
@media (max-width: 520px) {
  .rg-manage-summary { grid-template-columns: 1fr; gap: 3px; }
  .rg-manage-summary dd + dt { margin-top: 12px; }
}
.rg-booking a:not(.rg-client-button) { color: #55326d; text-decoration: underline; text-underline-offset: 3px; }
:is(.rg-service-card, .rg-story, .rg-story-split, .rg-booking-panel, .rg-booking-notice) {
  border-color: #ffffffa8;
  background-color: var(--client-panel-glass);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  backdrop-filter: blur(16px) saturate(120%);
  box-shadow: inset 0 1px 0 #ffffffa3, var(--client-shadow);
}
.rg-booking .rg-booking-calendar-panel {
  border: 0;
  box-shadow: 0 24px 65px #342a3d24;
}
:where(.rg-service-grid) .rg-service-card,
:where(.rg-journal-grid) .rg-story {
  border: 0;
  box-shadow: var(--client-shadow);
}
.rg-booking-notice:not(:empty) { background-color: var(--client-panel-glass); }
@media (max-width: 880px) {
  .rg-booking-form:not([hidden]) { grid-template-columns: minmax(0,1fr); }
}

/* Open, animated transition from the Raumkonzept into the magazine. */
.rg-impact-cta {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  min-height: clamp(520px, 54vw, 720px);
  margin-block: clamp(68px, 10vw, 150px);
  overflow: hidden;
  border-block: 0;
  background-image: url("/assets/about-besprechungsraum-v2.jpg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  color: #fff;
  box-shadow: 0 28px 75px #281d3126;
}
.rg-impact-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, #1c171de0 0%, #211a22a8 38%, #211a2245 72%, #17131980 100%),
    linear-gradient(180deg, #1713191f, #17131999);
  pointer-events: none;
}
.rg-impact-orbits {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  display: none;
  -webkit-mask-image: radial-gradient(ellipse 42% 38% at 50% 48%,transparent 0 38%,#000 74%);
  mask-image: radial-gradient(ellipse 42% 38% at 50% 48%,transparent 0 38%,#000 74%);
  pointer-events: none;
}
.rg-impact-orbits::before,
.rg-impact-orbits::after {
  position: absolute;
  width: clamp(70px, 8vw, 118px);
  aspect-ratio: 1;
  border: 1px solid #ffffffa8;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%,#ffffffc7 0 6%,#ffffff38 28%,#a7cbb23d 72%,transparent 73%);
  box-shadow: inset 0 0 28px #ffffff8a, 0 18px 50px #5d80641c;
  content: "";
  animation: rg-impact-float 12s ease-in-out infinite alternate;
}
.rg-impact-orbits::before { top: 15%; left: 9%; }
.rg-impact-orbits::after { right: 11%; bottom: 12%; scale: .68; animation-delay: -5s; animation-direction: alternate-reverse; }
.rg-impact-orbits span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(88vw, 1180px);
  aspect-ratio: 2.35;
  border: 1px solid #816b8e42;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #ffffff59 inset, 0 0 70px #ffffff2b;
  translate: -50% -50%;
  rotate: -9deg;
  animation: rg-impact-orbit 30s ease-in-out infinite alternate;
}
.rg-impact-orbits span:nth-child(2) {
  width: min(68vw, 890px);
  aspect-ratio: 1.75;
  border-color: #5f8b7052;
  rotate: 16deg;
  animation-duration: 24s;
  animation-direction: alternate-reverse;
}
.rg-impact-orbits span:nth-child(3) {
  width: min(49vw, 640px);
  aspect-ratio: 1.25;
  border-color: #ffffffb0;
  rotate: -26deg;
  animation-duration: 20s;
}
.rg-impact-content {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  max-width: 920px;
  padding-block: clamp(64px, 7vw, 88px);
  text-align: center;
}
.rg-impact-content .rg-label { margin: 0 0 18px; color: #e3eddf; letter-spacing: .17em; text-shadow: 0 2px 16px #100d11c7; }
.rg-impact-content h2 {
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 5vw, 5.6rem);
  line-height: .94;
  text-wrap: balance;
  text-shadow: 0 4px 28px #100c11b5;
}
.rg-impact-content h2 span { display: block; white-space: nowrap; }
.rg-impact-content > p:not(.rg-label) {
  max-width: 58ch;
  margin: 28px 0 32px;
  color: #f6f3f5;
  font-size: clamp(1rem, 1.6vw, 1.24rem);
  line-height: 1.55;
  text-shadow: 0 2px 18px #100c11c4;
}
.rg-impact-button {
  --client-button-base: #31574378;
  --client-button-active-bg: #315743a8;
  --client-button-gradient: linear-gradient(145deg, #9ac4a331, #31574368 58%, #203d2f73);
  --client-button-edge: #dff3e3a8;
  --client-button-text: #fff;
  box-shadow: 0 12px 32px #1f33273d, inset 0 1px #ffffff69;
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
}
.rg-impact-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.rg-impact-actions .rg-client-button {
  display: grid;
  justify-items: center;
  min-width: 220px;
  padding: 12px 20px;
  line-height: 1.15;
}
.rg-impact-actions .rg-client-button small { margin-top: 4px; font-size: .72rem; font-weight: 550; opacity: .78; }
.rg-impact-button--contact {
  --client-button-base: #ffffff35;
  --client-button-active-bg: #ffffff59;
  --client-button-gradient: linear-gradient(145deg, #ffffff59, #ffffff1f 62%, #e9eee829);
  --client-button-edge: #ffffff8f;
  --client-button-text: #fff;
  box-shadow: inset 0 1px #ffffffa3, 0 9px 28px #18241d29;
  -webkit-backdrop-filter: blur(16px) saturate(125%);
  backdrop-filter: blur(16px) saturate(125%);
}
@keyframes rg-impact-orbit { to { rotate: 10deg; scale: 1.08 .94; } }
@keyframes rg-impact-float { to { translate: 18px 28px; scale: 1.12; } }
@keyframes rg-impact-title-glint {
  0%,24% { background-position: 120% 0; }
  72%,100% { background-position: -35% 0; }
}
@media (max-width: 680px) {
  .rg-impact-cta { min-height: 600px; background-attachment: scroll; background-position: 58% center; }
  .rg-impact-orbits { opacity: .48; }
  .rg-impact-orbits span { width: 150vw; }
  .rg-impact-orbits span:nth-child(2) { width: 112vw; }
  .rg-impact-orbits span:nth-child(3) { width: 82vw; }
  .rg-impact-content { width: min(100% - 36px, 620px); }
  .rg-impact-content h2 { width: 100%; font-size: clamp(1.9rem, 7.8vw, 3.2rem); }
  .rg-impact-content h2 span { white-space: normal; }
  .rg-impact-actions { width: 100%; }
  .rg-impact-actions .rg-client-button { width: min(100%, 310px); }
}
@media (prefers-reduced-motion: reduce) {
  .rg-impact-orbits span,.rg-impact-orbits::before,.rg-impact-orbits::after,.rg-impact-content h2 { animation: none !important; }
}

/* Floating glass masthead — local concept v19. */
.rg-masthead,
.rg-masthead.is-scrolled {
  inset: 12px 0 auto;
  width: min(1320px, calc(100% - 38px));
  min-height: 68px;
  margin-inline: auto;
  padding: 8px 10px 8px 14px;
  overflow: clip;
  border: 1px solid #ffffffb8;
  border-radius: 23px;
  background:
    radial-gradient(circle at 15% -80%, #ffffff 0 20%, transparent 53%),
    linear-gradient(115deg, #fbf8f6d9 0%, #f1e8f5d8 48%, #edf3eedc 100%);
  box-shadow: 0 16px 48px #2c21351d, inset 0 1px #fff, inset 0 -1px #ffffff73;
  translate: none;
  animation: none;
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  backdrop-filter: blur(24px) saturate(135%);
  transition: width .55s cubic-bezier(.2,.72,.2,1), min-height .55s cubic-bezier(.2,.72,.2,1), padding .55s cubic-bezier(.2,.72,.2,1), top .55s cubic-bezier(.2,.72,.2,1), box-shadow .45s ease, background-color .45s ease;
}
.rg-masthead::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(105deg, transparent 8%, #ffffff8a 29%, transparent 46%);
  background-size: 240% 100%;
  background-position: 130% 0;
  pointer-events: none;
}
.rg-masthead > * { position: relative; z-index: 1; }
.rg-masthead.is-scrolled {
  top: 8px;
  width: min(1180px, calc(100% - 32px));
  min-height: 58px;
  padding-block: 5px;
  background-color: #f8f4f3e8;
  box-shadow: 0 13px 42px #2c213529, inset 0 1px #fff;
}
.rg-masthead .rg-brand .rg-brand-symbol,
.rg-masthead .rg-brand .rg-brand-wordmark { transition: width .5s cubic-bezier(.2,.72,.2,1), height .5s cubic-bezier(.2,.72,.2,1), opacity .3s ease; }
.rg-masthead.is-scrolled .rg-brand .rg-brand-symbol { width: 33px; height: 33px; }
.rg-masthead.is-scrolled .rg-brand .rg-brand-wordmark { width: clamp(120px, 11vw, 154px); }
.rg-masthead .rg-nav {
  gap: 2px;
  padding: 4px 6px;
  border: 1px solid #ffffff9c;
  border-radius: 999px;
  background: #ffffff62;
  box-shadow: inset 0 1px #fff, 0 5px 18px #33243f0b;
}
.rg-masthead .rg-nav a {
  padding: 7px clamp(9px, .9vw, 13px);
  border-radius: 999px;
  transition: color .25s ease, background-color .25s ease, box-shadow .25s ease, scale .25s var(--client-button-ease);
}
.rg-masthead .rg-nav a[aria-current="page"] {
  background: linear-gradient(120deg, #eee2f4d4, #e7eee8db);
  box-shadow: inset 0 1px #fff, 0 4px 14px #5b416b18;
  color: #493257;
  text-decoration: none;
}
.rg-masthead .rg-nav a:not(.rg-nav-mobile-contact):is(:hover,:focus-visible,:active) {
  background: #ffffff85;
  text-shadow: none;
}
.rg-masthead .rg-head-book {
  min-height: 42px;
  padding: 8px 17px;
  border: 1px solid #9b7cab9c;
  border-radius: 999px;
  background: linear-gradient(115deg, #6e537c, #80608d 55%, #587565);
  color: #fff;
  box-shadow: 0 9px 24px #57416330, 0 0 0 0 #9d7bb452, inset 0 1px #ffffff5c;
}
.rg-masthead .rg-head-book:is(:hover,:focus-visible,:active) {
  border-color: #bca5c8;
  background: linear-gradient(115deg, #765684, #8b6698 55%, #5b7d69);
  color: #fff;
  box-shadow: 0 12px 30px #5741633d, 0 0 26px 5px #a987bb66, inset 0 1px #ffffff70;
}
@keyframes rg-header-cta-breathe {
  0%,62%,100% { box-shadow: 0 9px 24px #57416330, 0 0 0 0 #9d7bb400, inset 0 1px #ffffff5c; }
  72% { box-shadow: 0 11px 28px #57416338, 0 0 24px 4px #a987bb65, inset 0 1px #ffffff6b; }
  82% { box-shadow: 0 9px 24px #57416330, 0 0 12px 2px #6d9d8260, inset 0 1px #ffffff5c; }
}
@keyframes rg-header-glass-sheen {
  0%,68% { background-position: 130% 0; opacity: 0; }
  73% { opacity: .7; }
  88%,100% { background-position: -120% 0; opacity: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-masthead::before { animation: rg-header-glass-sheen 8s ease-in-out infinite; }
  .rg-masthead .rg-head-book { animation: rg-header-cta-breathe 5.8s ease-in-out infinite; }
}

@media (max-width: 900px) {
  .rg-masthead,
  .rg-masthead.is-scrolled {
    top: 8px;
    width: calc(100% - 20px);
    min-height: 58px;
    padding: 6px 9px 6px 12px;
    overflow: visible;
    border: 1px solid #ffffffb8;
    border-radius: 20px;
  }
  .rg-masthead.is-scrolled { width: calc(100% - 28px); }
  .rg-masthead::before { overflow: hidden; }
  .rg-masthead .rg-brand .rg-brand-symbol,
  .rg-masthead.is-scrolled .rg-brand .rg-brand-symbol { width: 34px; height: 34px; }
  .rg-masthead .rg-brand .rg-brand-wordmark,
  .rg-masthead.is-scrolled .rg-brand .rg-brand-wordmark { width: clamp(118px, 35vw, 148px); }
  .rg-masthead .rg-menu-toggle {
    min-height: 40px;
    padding-inline: 13px;
    border-color: #ffffffc7;
    background: #ffffff75;
    box-shadow: inset 0 1px #fff;
  }
  .rg-masthead.menu-open .rg-nav {
    position: fixed;
    inset: 76px 10px 10px;
    width: auto;
    height: auto;
    max-height: calc(100dvh - 86px);
    padding: clamp(18px, 5vw, 30px);
    border: 1px solid #ffffffc4;
    border-radius: 24px;
    background:
      radial-gradient(circle at 12% 8%, #e7d6f1cc, transparent 42%),
      radial-gradient(circle at 90% 94%, #dceadfd1, transparent 46%),
      #fbfaf8ed;
    box-shadow: 0 24px 64px #261b3333, inset 0 1px #fff;
  }
  .rg-masthead .rg-nav a[aria-current="page"] { padding-inline: 16px; }
  .rg-masthead .rg-nav .rg-nav-mobile-contact {
    border-radius: 999px;
    background: linear-gradient(115deg, #6e537c, #80608d 55%, #587565);
    color: #fff;
    box-shadow: 0 10px 26px #57416335, inset 0 1px #ffffff55;
  }
  .rg-home-hero { padding-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .rg-masthead,
  .rg-masthead::before,
  .rg-masthead .rg-head-book { animation: none !important; transition: none !important; }
}

/* Floating header islands — local concept v20. */
.rg-masthead,
.rg-masthead.is-scrolled {
  inset: 14px 0 auto;
  width: min(1380px, calc(100% - 32px));
  min-height: 58px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: width .55s cubic-bezier(.2,.72,.2,1), top .55s cubic-bezier(.2,.72,.2,1);
}
.rg-masthead::before { display: none; }
.rg-masthead.is-scrolled {
  top: 8px;
  width: min(1220px, calc(100% - 32px));
  min-height: 54px;
}
.rg-masthead .rg-brand,
.rg-masthead .rg-nav,
.rg-masthead .rg-head-book {
  border: 1px solid #ffffffc4;
  background:
    linear-gradient(115deg, #fffdfbea, #f3ebf6e5 55%, #edf4eee8);
  box-shadow: 0 12px 34px #2f23391f, inset 0 1px #fff;
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  backdrop-filter: blur(24px) saturate(135%);
  transition: transform .5s cubic-bezier(.2,.72,.2,1), box-shadow .35s ease, background-color .35s ease;
}
.rg-masthead .rg-brand {
  justify-self: start;
  min-height: 58px;
  padding: 8px 17px 8px 12px;
  border-radius: 20px;
}
.rg-masthead .rg-nav {
  align-self: center;
  justify-self: center;
  min-height: 52px;
  padding: 5px 7px;
  border-radius: 999px;
}
.rg-masthead .rg-head-book {
  justify-self: end;
  min-height: 50px;
  padding: 9px 20px;
  border-color: #9877aaac;
  border-radius: 18px;
  background: linear-gradient(125deg, #5c426a, #7b5889 56%, #4d6c5b);
  color: #fff;
  box-shadow: 0 14px 34px #4f385d35, 0 0 0 0 #ae8abf00, inset 0 1px #ffffff5c;
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}
.rg-masthead.is-scrolled .rg-brand,
.rg-masthead.is-scrolled .rg-nav,
.rg-masthead.is-scrolled .rg-head-book { transform: translateY(-2px); }
.rg-masthead.is-scrolled .rg-brand { min-height: 52px; padding-block: 6px; }
.rg-masthead.is-scrolled .rg-nav { min-height: 48px; }
.rg-masthead.is-scrolled .rg-head-book { min-height: 46px; }
.rg-masthead .rg-brand:is(:hover,:focus-visible),
.rg-masthead .rg-nav:focus-within {
  box-shadow: 0 15px 38px #2f233929, inset 0 1px #fff;
}
.rg-masthead .rg-head-book:is(:hover,:focus-visible,:active) {
  background: linear-gradient(125deg, #684875, #876095 56%, #557863);
  box-shadow: 0 16px 38px #4f385d42, 0 0 28px 5px #a987bb65, inset 0 1px #ffffff70;
}
.rg-masthead .rg-nav a[aria-current="page"] {
  background: #ffffffb5;
  box-shadow: inset 0 1px #fff, 0 5px 15px #513b5f16;
}
@media (prefers-reduced-motion: no-preference) {
  .rg-masthead .rg-head-book { animation: rg-header-cta-breathe 6.4s ease-in-out infinite; }
}

@media (max-width: 900px) {
  .rg-masthead,
  .rg-masthead.is-scrolled {
    top: 8px;
    width: calc(100% - 18px);
    min-height: 52px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .rg-masthead.is-scrolled { width: calc(100% - 26px); }
  .rg-masthead .rg-brand,
  .rg-masthead.is-scrolled .rg-brand {
    min-height: 52px;
    padding: 6px 13px 6px 9px;
    border-radius: 18px;
  }
  .rg-masthead .rg-menu-toggle {
    min-height: 48px;
    padding: 8px 14px;
    border: 1px solid #ffffffc4;
    border-radius: 18px;
    background: linear-gradient(115deg, #fffdfbea, #f2eaf5e8, #edf4eee8);
    box-shadow: 0 12px 32px #2f233922, inset 0 1px #fff;
    -webkit-backdrop-filter: blur(22px) saturate(135%);
    backdrop-filter: blur(22px) saturate(135%);
  }
  .rg-masthead.menu-open .rg-nav {
    inset: 72px 9px 9px;
    min-height: 0;
    border-radius: 26px;
    background:
      radial-gradient(circle at 12% 8%, #eadcf2dc, transparent 42%),
      radial-gradient(circle at 90% 94%, #dceadfe0, transparent 46%),
      #fbfaf8f0;
    box-shadow: 0 25px 70px #261b333b, inset 0 1px #fff;
  }
}

/* Restore approved masthead; let the homepage video run behind it — v23. */
.rg-masthead,
.rg-masthead.is-scrolled {
  --rg-masthead-height: 70px;
  --rg-menu-font: Montserrat, var(--rg-sans);
  --rg-masthead-ink: #202420;
  inset: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(max-content,1fr) auto minmax(max-content,1fr);
  align-items: center;
  width: 100%;
  min-height: var(--rg-masthead-height);
  margin: 0;
  padding: 9px max(20px, calc((100vw - var(--rg-content-max) - 70px) / 2));
  overflow: visible;
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  background-color: #fffdfb63;
  background-image:
    radial-gradient(ellipse 52% 100% at 36% 40%, #dfc9ef4f, #e5d1ef00 100%),
    radial-gradient(ellipse 51% 100% at 68% 56%, #dce4dc45, #e4e9e300 100%);
  background-size: 150% 150%;
  background-repeat: no-repeat;
  background-position: 85% 45%, 20% 55%;
  color: var(--rg-masthead-ink);
  box-shadow: 0 9px 30px #21172a16, inset 0 1px #ffffffb8;
  translate: none;
  transform: none;
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
  transition: none;
}
.rg-masthead::before,
.rg-masthead::after { display: none; }
.rg-masthead > * { position: relative; z-index: 1; }
.rg-masthead .rg-brand,
.rg-masthead.is-scrolled .rg-brand {
  grid-column: auto;
  grid-row: auto;
  justify-self: start;
  min-height: 0;
  padding: 0;
  gap: clamp(7px, 1vw, 13px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.rg-masthead .rg-brand img { filter: brightness(0) drop-shadow(0 0 1px #ffffffbf); opacity: .85; }
.rg-masthead .rg-brand .rg-brand-symbol,
.rg-masthead.is-scrolled .rg-brand .rg-brand-symbol { width: 38px; height: 38px; }
.rg-masthead .rg-brand .rg-brand-wordmark,
.rg-masthead.is-scrolled .rg-brand .rg-brand-wordmark { width: clamp(124px, 13vw, 178px); height: auto; margin: 0; opacity: 1; }
.rg-masthead .rg-menu-toggle { display: none; }
.rg-masthead .rg-nav,
.rg-masthead.is-scrolled .rg-nav {
  position: static;
  z-index: auto;
  display: flex;
  grid-column: auto;
  grid-row: auto;
  justify-self: center;
  align-items: center;
  gap: clamp(10px, 1.4vw, 20px);
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  animation: none;
}
.rg-masthead .rg-nav a,
.rg-masthead.menu-open .rg-nav a:not(.rg-nav-mobile-contact) {
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  min-height: 0;
  padding: 9px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rg-masthead-ink);
  font: 500 .91rem/1.35 var(--rg-menu-font);
  letter-spacing: .012em;
  opacity: 1;
  box-shadow: none;
  text-decoration: none;
  -webkit-text-stroke: 0;
}
.rg-masthead .rg-nav a::before,
.rg-masthead .rg-nav a::after { display: none; }
.rg-masthead .rg-nav .rg-nav-mobile-contact { display: none; }
.rg-masthead .rg-nav a[aria-current="page"] {
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  color: var(--rg-masthead-ink);
  text-decoration: underline;
  text-decoration-color: #6f577f;
  text-underline-offset: 5px;
}
.rg-masthead .rg-nav a:is(:hover,:focus-visible,:active) { color: var(--client-purple); }
.rg-masthead .rg-nav a:not(.rg-nav-mobile-contact):is(:hover,:focus-visible,:active) {
  background-color: transparent;
  background-image: none;
  box-shadow: none;
}
.rg-masthead .rg-head-book,
.rg-masthead.is-scrolled .rg-head-book {
  grid-column: auto;
  grid-row: auto;
  justify-self: end;
  min-height: 43px;
  padding: 8px 17px;
  border: 1px solid #ffffffc9;
  border-radius: 14px;
  background: linear-gradient(120deg, #ffffff45, #f2e5f64d 48%, #e4f1e852);
  color: var(--rg-masthead-ink);
  font: 600 .9rem/1.3 var(--client-ui-font);
  box-shadow: 0 7px 22px #30223817, inset 0 1px #ffffffd9, 0 0 24px 4px #8e6ca300;
  transform: none;
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  backdrop-filter: blur(22px) saturate(135%);
}
.rg-masthead .rg-head-book::before { content: none; }
.rg-masthead .rg-head-book:is(:hover,:focus-visible,:active) {
  background: linear-gradient(120deg, #ffffff85, #eee0f28a 48%, #dceee390);
  border-color: #ffffffdf;
  color: var(--rg-masthead-ink);
  box-shadow: 0 10px 28px #30223829, inset 0 1px #fff, 0 0 26px 4px #a27bb36b;
}
.rg-home-hero { padding-top: 0; }

@media (max-width: 900px) {
  .rg-masthead,
  .rg-masthead.is-scrolled {
    inset: 0 0 auto;
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: 62px;
    padding: 7px 16px;
    border: 0;
    border-bottom: 0;
    border-radius: 0;
    background-color: #fffdfb70;
    box-shadow: 0 9px 28px #21172a17, inset 0 1px #ffffffb8;
    -webkit-backdrop-filter: blur(22px) saturate(145%);
    backdrop-filter: blur(22px) saturate(145%);
  }
  .rg-masthead .rg-brand,
  .rg-masthead.is-scrolled .rg-brand { min-height: 0; padding: 0; }
  .rg-masthead .rg-brand .rg-brand-symbol,
  .rg-masthead.is-scrolled .rg-brand .rg-brand-symbol { width: 34px; height: 34px; }
  .rg-masthead .rg-brand .rg-brand-wordmark,
  .rg-masthead.is-scrolled .rg-brand .rg-brand-wordmark { width: clamp(118px, 35vw, 148px); }
  .rg-masthead .rg-menu-toggle {
    position: relative;
    z-index: 2;
    display: inline-flex;
    min-width: 0;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #59645a75;
    border-radius: 999px;
    background: #ffffff80;
    color: var(--rg-masthead-ink);
    box-shadow: none;
    font: var(--client-button-weight) .84rem/1.3 var(--rg-menu-font);
  }
  .rg-masthead .rg-menu-toggle .rg-button-label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
  .rg-masthead .rg-head-book { display: none; }
  .rg-masthead.menu-open .rg-nav {
    position: fixed;
    z-index: 0;
    inset: 62px 0 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    height: calc(100dvh - 62px);
    max-height: none;
    padding: clamp(18px, 5vw, 30px) clamp(20px, 6vw, 44px) calc(26px + env(safe-area-inset-bottom));
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background:
      radial-gradient(circle at 15% 10%, #e7d6f1e8, transparent 43%),
      radial-gradient(circle at 88% 88%, #dceadfe8, transparent 45%),
      #fbfaf8f7;
    box-shadow: 0 18px 34px #261b3324;
    -webkit-backdrop-filter: blur(20px) saturate(130%);
    backdrop-filter: blur(20px) saturate(130%);
  }
  .rg-masthead.menu-open .rg-nav a:not(.rg-nav-mobile-contact) {
    display: flex;
    min-height: 58px;
    padding: 13px 8px;
    border-bottom: 1px solid #5f4a6e24;
    color: #282329;
    font: 500 clamp(1.16rem, 4.8vw, 1.48rem)/1.2 var(--rg-menu-font);
  }
  .rg-masthead.menu-open .rg-nav .rg-nav-mobile-contact {
    display: flex;
    justify-content: center;
    min-height: 58px;
    margin-top: 18px;
    padding: 13px 18px;
    border: 1px solid #705c7d70;
    border-radius: 16px;
    background: linear-gradient(120deg, #f0e2f7, #e0eee4);
    color: #34283c;
    font: 700 clamp(1rem, 4.2vw, 1.2rem)/1.2 var(--client-ui-font);
  }
}
