
  @font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 300 400;
    font-display: swap;
    src: url(/fonts/montserrat-v26-latin-400.woff2) format('woff2');
  }
  @font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/montserrat-v26-latin-500.woff2) format('woff2');
  }
  @font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(/fonts/montserrat-v26-latin-600.woff2) format('woff2');
  }
  /* Prevent Flash of Uncompiled Template (FOUC) before React mounts */
  x-dc { display: none !important; }
  /* NOT smooth. Every programmatic scroll on this page is animated in JS
     (animateScrollTo), and CSS smooth scrolling re-animates each individual
     frame of that animation -- the browser easing our easing. The two curves
     fought: the result lagged, arrived asymmetrically (fast start, long
     dragging tail) and ignored whatever timing the JS asked for. Anchor
     navigation is intercepted in JS anyway. */
  /* Smooth for plain anchor navigation. animateScrollTo() switches this OFF
     for the duration of its own animation -- otherwise the browser re-animates
     every frame the JS writes, on its own curve, on top of ours: two easings
     composed, which is neither of them. */
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #FBF9F4; color: #1B2321; font-family: Montserrat, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
  .section-heading::after {
    content: "";
    display: block;
    width: 0;
    height: 3.5px;
    background: linear-gradient(90deg, #54B6BF 0%, #E8A88A 100%);
    border-radius: 2px;
    margin-top: 14px;
    transition: width 1.35s cubic-bezier(0.2, 0.7, 0.3, 1) 0.18s;
  }
  .section-heading.revealed::after,
  [data-reveal].revealed .section-heading::after,
  .revealed .section-heading::after {
    width: clamp(150px, 18vw, 225px);
  }

    .scroll-focus-card {
      transition: transform .35s cubic-bezier(.2,.8,.4,1), box-shadow .35s ease, border-color .35s ease, opacity .35s ease !important;
    }
    @media (max-width: 820px) {
      .scroll-focus-card {
        opacity: 0.72;
        transform: scale(0.985);
        border-color: rgba(27,35,33,0.08) !important;
      }
      .scroll-focus-card.focused {
        opacity: 1 !important;
        transform: scale(1.02) translateY(-2px) !important;
        border-color: rgba(44,111,118,0.5) !important;
        box-shadow: 0 10px 28px -10px rgba(44,111,118,0.28), 0 2px 6px rgba(0,0,0,0.04) !important;
      }
    }
  

  @font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 300 400;
    font-display: swap;
    src: url(/fonts/montserrat-v26-latin-400.woff2) format('woff2');
  }
  @font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/montserrat-v26-latin-500.woff2) format('woff2');
  }
  @font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(/fonts/montserrat-v26-latin-600.woff2) format('woff2');
  }
  html { scroll-behavior: smooth; }   /* see the note above */

  /* Interactive Cards & Focus Highlighting: Unified shadow & border for ALL boxes */
  .section-heading::after {
    content: "";
    display: block;
    width: 0;
    height: 3.5px;
    background: linear-gradient(90deg, #54B6BF 0%, #E8A88A 100%);
    margin-top: 14px;
    border-radius: 2px;
    transition: width 1.35s cubic-bezier(0.2, 0.7, 0.3, 1) 0.18s;
  }
  [data-reveal].revealed .section-heading::after,
  .section-heading.revealed::after,
  .revealed .section-heading::after {
    width: clamp(150px, 18vw, 225px);
  }

  /* .topic-card is still NOT in the lift-and-glow list, but for a new reason.
     The six "Was Sie gerade beschäftigt" boxes ARE controls now: each one opens
     a panel that grows out of it, leftwards over the text column (desktop:
     pointer enter, narrow: tap). The other five boxes stay put and visible;
     the one that was opened takes the teal outline and lift that used to be the
     scroll-driven .focused treatment -- which is also why these boxes no longer
     carry .scroll-focus-card at all: a highlight tied to scroll position fought
     the tap-to-open state on mobile (operator decision 2026-09-01). The lift is
     driven from cardStyle, not from :hover, so it tracks the OPEN box rather
     than wherever the pointer happens to be. */
  .topic-card {
    transition: transform .34s cubic-bezier(.2,.7,.3,1), border-color .3s ease, box-shadow .34s ease;
  }
  .topic-card:focus-visible {
    outline: none;
    border-color: #2C6F76 !important;
    box-shadow: 0 0 0 3px rgba(44,111,118,0.22) !important;
  }
  /* Pointer moving straight from one box to the next: the panel is already
     open at inset(0), so only its text changes and the clip-path has nothing
     to animate. These two identical keyframes, alternated by topicSeq parity,
     restart the fade so the swap still reads as a change (same trick as the
     slideIn* pair further down). */
  @keyframes topicSwap  { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
  @keyframes topicSwapB { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }

  .step-card, .refund-card, .rahmen-card, .soforthilfe-card, .cred-card {
    transition: transform .32s cubic-bezier(.2,.7,.3,1), box-shadow .32s cubic-bezier(.2,.7,.3,1), border-color .32s cubic-bezier(.2,.7,.3,1);
  }
  .step-card:hover, .step-card:focus-within,
  .refund-card:hover, .refund-card:focus,
  .rahmen-card:hover, .rahmen-card:focus-within,
  .soforthilfe-card:hover, .soforthilfe-card:focus-within,
  .cred-card:hover, .cred-card:focus-within {
    transform: translateY(-3px);
    border-color: #2C6F76 !important;
    box-shadow: 0 26px 52px -30px rgba(30,82,87,0.6) !important;
  }

  /* The two emergency numbers sit beside their label on a wide row. Narrow,
     that leaves the label a column barely wider than a few words -- "01 31330"
     alone is 123px -- so it wrapped raggedly and, for 142, dropped a one-letter
     orphan line. Stack instead: the number over a full-width label. */
  @media (max-width: 860px) {
    .crisis-tel {
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 6px !important;
    }
  }

  /* Footer on phones: the link padding and label margins are sized for a
     wide four-column layout. Stacked into one column they turn every segment
     into a loose, airy list. Tighten the vertical rhythm only -- the tap
     targets stay ~28px, which is fine for a footer. */
  @media (max-width: 860px) {
    .site-footer a { padding-top: 3px !important; padding-bottom: 3px !important; }
    .site-footer p { margin-bottom: 4px !important; }
    .site-footer p:first-child { margin-top: 0 !important; }
    .site-footer a[href^="https://www.google"], .site-footer a[href*="maps"] { line-height: 1.42 !important; }
  }

  .cta-pill-btn:hover {
    background: #1E5257 !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px -10px rgba(30,82,87,0.5) !important;
  }

  .cta-light-btn:hover {
    background: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.3) !important;
  }

  .nav-pill-link:hover {
    background: rgba(44,111,118,0.1) !important;
    color: #1B2321 !important;
  }

  .footer-sub-link:hover {
    color: #FBF9F3 !important;
    border-color: rgba(251,249,243,0.55) !important;
  }

  .back-top-link:hover {
    color: #2C6F76 !important;
  }

  .arrow-down-btn:hover {
    background: rgba(255,255,255,0.85) !important;
    border-color: #2C6F76 !important;
    box-shadow: 0 4px 14px rgba(44,111,118,0.2) !important;
  }

  /* Form inputs & buttons focus ring */
  input:focus, button:focus-visible {
    border-color: #2C6F76 !important;
    box-shadow: 0 0 0 3px rgba(44,111,118,0.22) !important;
    outline: none !important;
  }
  section[id], [id] { scroll-margin-top: 90px; }
  @media (max-width: 860px) {
    section[id], [id] { scroll-margin-top: 70px; }
  }
  body { margin: 0; background: #FBF9F4; color: #1B2321; font-family: Montserrat, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
  * { box-sizing: border-box; }
  /* German compounds ("Psychotherapeutisches Fachspezifikum",
     "Verschwiegenheitspflicht") are longer than a 280px card is wide, and the
     default `overflow-wrap: normal` refuses to break inside a word -- so the
     text ran straight out over the card border on a phone. `break-word` only
     breaks when the word cannot fit on a line of its own, so nothing changes
     on desktop. */
  body { overflow-wrap: break-word; }
  h1, h2, h3, p, li, span, strong, a, blockquote { overflow-wrap: break-word; }
  a { color: #2C6F76; text-decoration-thickness: 1px; text-underline-offset: 3px; }
  a:hover { color: #1E5257; }
  img, video { display: block; }
  ::selection { background: #D8E6E4; }
  @keyframes hrise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
  @keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(7px); } }
  @keyframes fadeInHeader { 0% { opacity: 0; transform: translateY(-10px); } 100% { opacity: 1; transform: translateY(0); } }
  @keyframes panelIn { 0% { opacity: 0; transform: translateX(22px) scale(.985); } 100% { opacity: 1; transform: none; } }
  @keyframes panelInUp { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: none; } }
  @keyframes panelInLeft { 0% { opacity: 0; transform: translateX(-20px) scale(.985); } 100% { opacity: 1; transform: none; } }
  @keyframes viewSwap { 0% { opacity: 0; transform: translateY(8px) scale(.994); } 100% { opacity: 1; transform: none; } }
  /* Period navigation slide. Two identical pairs (…/…b) exist so the
     component can alternate names on every click: re-applying the SAME
     animation-name to a node React keeps mounted does not restart it, so a
     second "next" would render with no motion at all. Alternating guarantees
     a restart without remounting the grid. */
  @keyframes slideInR  { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }
  @keyframes slideInRb { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }
  @keyframes slideInL  { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: none; } }
  @keyframes slideInLb { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: none; } }
  /* Anyone who has asked their OS for less motion gets the layout, not the
     choreography. Smooth-scroll is turned off here too, because the JS
     scroll helper reads this same query and falls back to an instant jump. */
  /* Narrow-screen unwrap. These headings and CTA lines are `white-space:
     nowrap` inline, which is right on a wide canvas and overflows the viewport
     on a phone -- e.g. the italic "Offene Fragen klaeren wir am besten im
     Erstgespraech." is ~380px at its 16px clamp floor, on a 390px screen
     inside a padded card. Inline styles outrank a stylesheet, so the override
     has to be !important; it is scoped to a data attribute so it can only ever
     affect the elements deliberately tagged with it. 860px matches the JS
     `narrow` breakpoint so CSS and component agree on what "narrow" means. */
  @media (max-width: 860px) {
    [data-nw] { white-space: normal !important; }
    [data-nw-row] { flex-wrap: wrap !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
      animation-duration: .001ms !important; animation-iteration-count: 1 !important;
      transition-duration: .001ms !important;
    }
  }
  @keyframes panelOutLeft { 0% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateX(-22px) scale(.98); } }
  @keyframes panelOutRight { 0% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateX(22px) scale(.98); } }
  @keyframes panelOutDown { 0% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateY(18px); } }

.s4ce11ac285e8{max-width:1200px;margin:0 auto;padding:12px clamp(16px, 4vw, 48px);display:flex;align-items:center;gap:14px 22px}@media(width < 860px){.s4ce11ac285e8{max-width:1200px;margin:0 auto;padding:6px clamp(14px, 4vw, 48px);display:flex;align-items:center;gap:10px}}
.seed420ecfc09{display:block;width:clamp(106px, 9vw, 118px);height:46px}@media(width < 860px){.seed420ecfc09{display:block;width:clamp(84px, 22vw, 96px);height:36px}}
.sf2d897b37a9c{display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;text-decoration:none;font-size:18px;font-family:Montserrat, Helvetica, Arial, sans-serif;font-weight:500;color:#46534E;background:transparent;box-shadow:none;transition:color .2s ease, font-weight .2s ease}.sf2d897b37a9c:hover{background: rgba(44,111,118,0.14); color: #1E5257;}
.sedd167b5b083{font-family:Montserrat, Helvetica, Arial, sans-serif;font-size:13px;font-weight:500;letter-spacing:.08em;cursor:pointer;padding:6px 12px;border-radius:999px;border:none;display:inline-block;text-decoration:none;background:#2C6F76;color:#FBF9F3;transition:background .2s ease, color .2s ease}
.sfda52353280e{font-family:Montserrat, Helvetica, Arial, sans-serif;font-size:13px;font-weight:500;letter-spacing:.08em;cursor:pointer;padding:6px 12px;border-radius:999px;border:none;display:inline-block;text-decoration:none;background:transparent;color:#46534E;transition:background .2s ease, color .2s ease}
.s201d9994ceda{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;flex:none;background:transparent;border:1px solid rgba(27,35,33,0.14);border-radius:999px;cursor:pointer;transition:background .22s ease}
.sae1ab9efd846{display:block;height:1.5px;width:100%;background:#1B2321;border-radius:2px;transform-origin:center;transform:none;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.sc499d9aa59b9{display:block;height:1.5px;width:100%;background:#1B2321;border-radius:2px;opacity:1;transition:opacity .2s ease}
.sf4991069c132{overflow:hidden;max-height:0px;opacity:0;visibility:hidden;border-top:1px solid transparent;transition:max-height .34s cubic-bezier(.33,0,.2,1), opacity .2s ease, visibility .34s step-end}
.s916a68671d74{display:flex;flex-direction:column;gap:1px;padding:4px clamp(14px, 4vw, 48px) 12px}
.s3af879a10188{display:block;padding:12px 16px;border-radius:10px;text-decoration:none;font-size:18px;font-family:Montserrat, Helvetica, Arial, sans-serif;font-weight:500;min-height:44px;color:#46534E;background:transparent}
.sfa30f1d7556e{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;text-align:center;padding-top:0;padding-bottom:0;background-color:#FBF9F4;background-image:url(/assets/hero-poster.webp);background-size:cover;background-position:center}@media(width < 860px){.sfa30f1d7556e{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;text-align:center;padding-top:calc(5.5svh + 130px);padding-bottom:calc(5.5svh + 130px);background-color:#FBF9F4;background-image:url(/assets/hero-poster.webp);background-size:cover;background-position:center}}
.sb03d59f551f7{position:absolute;top:8vh;left:0;right:0;z-index:2;max-width:1200px;margin:0 auto;padding:0 clamp(16px, 4vw, 48px);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(16px, 3vw, 40px)}@media(width < 860px){.sb03d59f551f7{position:absolute;top:5.5vh;left:0;right:0;z-index:2;max-width:1200px;margin:0 auto;padding:0 clamp(16px, 5vw, 48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px}}
.s947cb4520f32{display:block;flex:none;width:clamp(112px, 10.5vw, 147px);height:clamp(45px, 4.2vw, 59px);align-self:center}@media(width < 860px){.s947cb4520f32{display:block;flex:none;width:clamp(94px, 27vw, 126px);height:clamp(38px, 10.8vw, 51px);align-self:flex-start}}
.sd1919f2e3248{display:flex;flex-direction:column;min-width:0;max-width:100%;align-items:center;text-align:center;gap:3px;margin-left:auto}@media(width < 860px){.sd1919f2e3248{display:flex;flex-direction:column;min-width:0;max-width:100%;align-items:flex-start;text-align:left;gap:4px;margin-left:0}}
.s844d3f13eae1{margin:0;text-align:center;white-space:nowrap;font-size:clamp(0.805rem, 1.75vw, 1.505rem);font-weight:500;letter-spacing:-0.015em;line-height:1.16;color:#14302F;text-shadow:0 1px 3px rgba(255,255,255,0.65)}@media(width < 860px){.s844d3f13eae1{margin:0;text-align:left;white-space:normal;font-size:clamp(0.882rem, 4.368vw, 1.26rem);font-weight:500;letter-spacing:-0.015em;line-height:1.16;color:#14302F;text-shadow:0 1px 3px rgba(255,255,255,0.65)}}
.s3eb23058faae{margin:0;text-align:center;white-space:nowrap;font-size:clamp(0.665rem, 1.358vw, 1.134rem);font-weight:400;letter-spacing:-0.005em;line-height:1.24;color:#14302F;text-shadow:0 1px 3px rgba(255,255,255,0.65)}@media(width < 860px){.s3eb23058faae{margin:0;text-align:left;white-space:normal;font-size:clamp(0.756rem, 3.444vw, 1.008rem);font-weight:400;letter-spacing:-0.005em;line-height:1.24;color:#14302F;text-shadow:0 1px 3px rgba(255,255,255,0.65)}}
.s5ac7b1e74015{margin:0;text-align:center;white-space:nowrap;font-size:clamp(0.7rem, 1.16vw, 0.95rem);font-weight:400;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;color:#14302F;opacity:0.62;text-shadow:0 1px 2px rgba(255,255,255,0.55)}@media(width < 860px){.s5ac7b1e74015{margin:0;text-align:left;white-space:normal;font-size:clamp(0.768rem, 3.24vw, 0.96rem);font-weight:400;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;color:#14302F;opacity:0.62;text-shadow:0 1px 2px rgba(255,255,255,0.55)}}
.s27a8a65ff9ff{position:relative;padding-bottom:0px;transition:padding-bottom .72s cubic-bezier(.32,.72,.3,1)}
.s5b8730d28f84{min-height:0px;opacity:1;transition:opacity .34s ease .1s}
.sc66dc27dc4ed{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));grid-auto-rows:1fr;gap:10px;align-content:stretch;height:100%}@media(width < 860px){.sc66dc27dc4ed{display:grid;grid-template-columns:minmax(0, 1fr);grid-auto-rows:minmax(56px, auto);gap:10px;align-content:stretch;height:auto}}
.s1fad28a4cd99{display:flex;flex-direction:column;justify-content:center;gap:4px;width:100%;text-align:left;cursor:pointer;font-family:inherit;color:inherit;-webkit-appearance:none;appearance:none;background:#FFFFFF;border-radius:12px;padding:16px 18px;border:1px solid rgba(27,35,33,0.06);transform:none;box-shadow:0 1px 2px rgba(27,35,33,0.03), 0 8px 22px -18px rgba(27,35,33,0.25);margin-bottom:0px;transition-property:transform, border-color, box-shadow, margin-bottom;transition-duration:.34s, .3s, .34s, .58s;transition-timing-function:cubic-bezier(.2,.7,.3,1), cubic-bezier(.2,.7,.3,1), cubic-bezier(.2,.7,.3,1), cubic-bezier(.4,0,.35,1)}
.s4f7948aff42c{position:absolute;z-index:4;overflow:hidden;box-sizing:border-box;top:0px;left:0px;width:0px;height:0px;background:#FFFFFF;border-radius:12px;border:1px solid rgba(27,35,33,0.06);padding:28px;box-shadow:0 1px 2px rgba(27,35,33,0.03), 0 8px 22px -18px rgba(27,35,33,0.25);opacity:0;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;justify-content:center;will-change:top, left, width, height, opacity;transition:top .58s cubic-bezier(.4,0,.35,1), left .58s cubic-bezier(.4,0,.35,1), width .58s cubic-bezier(.4,0,.35,1), height .58s cubic-bezier(.4,0,.35,1), opacity .26s ease .28s, box-shadow .58s ease, border-color .4s ease, visibility 0s linear .58s}@media(width < 860px){.s4f7948aff42c{position:absolute;z-index:4;overflow:hidden;box-sizing:border-box;top:0px;left:0px;width:0px;height:0px;background:#FFFFFF;border-radius:12px;border:1px solid rgba(27,35,33,0.06);padding:20px;box-shadow:0 1px 2px rgba(27,35,33,0.03), 0 8px 22px -18px rgba(27,35,33,0.25);opacity:0;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;justify-content:center;will-change:height, opacity;transition:height .58s cubic-bezier(.4,0,.35,1), opacity .26s ease .28s, visibility 0s linear .58s}}
.sbf6ba501d384{width:264px;opacity:0;transition:opacity .18s ease;animation:none}@media(width < 860px){.sbf6ba501d384{width:280px;opacity:0;transition:opacity .18s ease;animation:none}}
.saded7fa1a5a8{margin:14px 0 0;font-size:15px;line-height:1.62;color:#46534E;text-wrap:pretty}@media(width < 860px){.saded7fa1a5a8{margin:14px 0 0;font-size:14.5px;line-height:1.62;color:#46534E;text-wrap:pretty}}
.sdabd2303c95c{display:none;margin:14px 0 0;font-size:15px;line-height:1.62;color:#46534E;text-wrap:pretty}@media(width < 860px){.sdabd2303c95c{display:none;margin:14px 0 0;font-size:14.5px;line-height:1.62;color:#46534E;text-wrap:pretty}}
.s63b5383d4ad7{position:relative;min-height:300px;aspect-ratio:auto;align-self:stretch;width:100%;border-radius:110px 4px 4px 4px;overflow:hidden;box-shadow:0 30px 60px -34px rgba(27,35,33,0.45);background:#DFE7E5;margin-bottom:0}@media(width < 860px){.s63b5383d4ad7{position:relative;min-height:min(112vw, 460px);aspect-ratio:4 / 5;align-self:start;width:100%;border-radius:90px 4px 4px 4px;overflow:hidden;box-shadow:0 30px 60px -34px rgba(27,35,33,0.45);background:#DFE7E5;margin-bottom:4px}}
.s001b1b2bf13a{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}@media(width < 860px){.s001b1b2bf13a{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%}}
.sf5c9440be2e9{background:#F7F3EA;border:1.5px solid rgba(27,35,33,0.08);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(27,35,33,0.03);transition:border-color .32s ease, background .32s ease, box-shadow .32s ease}
.saf5562336fd5{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;border:none;cursor:pointer;font-family:inherit;color:#1B2321;padding:18px 22px;min-height:44px;text-align:left}
.s042ed4d58bb1{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;border:1px solid rgba(44,111,118,0.45);color:#2C6F76;font-size:17px;transform:none;transition:transform .3s cubic-bezier(.2,.7,.3,1), border-color .3s ease, color .3s ease}
.se04ae6508bc3{max-height:0px;opacity:0;overflow:hidden;visibility:hidden;pointer-events:none;will-change:max-height, opacity;transition:max-height .4s cubic-bezier(.33,0,.2,1), opacity .22s ease, visibility .4s step-end}
.se317386153d7{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 0fr);gap:18px;margin-top:34px;align-items:stretch;transition:grid-template-columns .55s cubic-bezier(.33,0,.2,1)}@media(width < 860px){.se317386153d7{display:grid;grid-template-columns:minmax(0, 1fr);gap:18px;margin-top:34px;align-items:stretch;transition:grid-template-columns .55s cubic-bezier(.33,0,.2,1)}}
.s23b7f4eb085f{min-width:0;display:flex;overflow:hidden;max-height:2400px;opacity:1;transform:none;pointer-events:auto;transition:opacity .42s ease, transform .48s cubic-bezier(.2,.7,.3,1), max-height 0s}@media(width < 860px){.s23b7f4eb085f{min-width:0;display:flex;overflow:visible;max-height:1600px;opacity:1;pointer-events:auto;transition:max-height .5s cubic-bezier(.33,0,.2,1), opacity .32s ease}}
.s4bc1699d6ec7{display:flex;flex-direction:column;background:#FFFFFF;border-radius:14px;overflow:hidden;transform:none;flex:1;min-width:290px;align-self:stretch;border:1.5px solid rgba(27,35,33,0.09);box-shadow:0 10px 24px -22px rgba(27,35,33,0.5);transition:border-color .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s cubic-bezier(.2,.7,.3,1)}
.sfc81f3aa942a{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;display:block;transition:opacity .55s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1);opacity:0;transform:none}
.sb7669bbc5269{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;display:block;transition:opacity .55s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1);background-image:url(/assets/map-neubau.webp);opacity:1;transform-origin:54% 53%;transform:scale(1.07);pointer-events:none}@media(width < 860px){.sb7669bbc5269{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;display:block;transition:opacity .55s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1);background-image:url(/assets/map-neubau.webp);opacity:1;transform-origin:54% 53%;pointer-events:none}}
.sf71447d6a678{position:absolute;left:16px;bottom:16px;background:rgba(251,250,247,0.95);color:#1B2321;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:11px 14px;border-radius:3px;text-decoration:none;min-height:44px;display:flex;align-items:center;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .4s ease .06s, transform .4s ease .06s}
.sa04fad45ffd0{display:flex;flex-direction:column;flex:1;min-width:300px;background:#FFFFFF;border-radius:14px;overflow:hidden;border:1.5px solid #2C6F76;box-shadow:0 26px 52px -30px rgba(30,82,87,0.6);transition:border-color .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s cubic-bezier(.2,.7,.3,1)}
.s27df794445b3{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:16px clamp(14px, 2vw, 20px);border-bottom:1px solid rgba(27,35,33,0.08)}@media(width < 860px){.s27df794445b3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px clamp(14px, 2vw, 20px);border-bottom:1px solid rgba(27,35,33,0.08)}}
.sf2a1744fa88e{display:flex;padding:3px;gap:2px;min-width:0;background:rgba(27,35,33,0.05);border-radius:999px;flex:0 0 auto}@media(width < 860px){.sf2a1744fa88e{display:flex;padding:3px;gap:2px;min-width:0;background:rgba(27,35,33,0.05);border-radius:999px;flex:1 1 100%}}
.s9fc858e5b26e{font-family:inherit;font-size:13.5px;font-weight:500;flex:none;min-width:0;padding:11px 14px;min-height:44px;border-radius:999px;border:none;cursor:pointer;background:#2C6F76;color:#FBF9F3;box-shadow:0 1px 2px rgba(20,48,47,0.2), 0 8px 18px -10px rgba(44,111,118,0.65);white-space:nowrap;transition:background .28s cubic-bezier(.2,.7,.3,1), color .28s ease, box-shadow .28s ease}@media(width < 860px){.s9fc858e5b26e{font-family:inherit;font-size:14px;font-weight:500;flex:1 1 0;min-width:0;padding:11px 8px;min-height:44px;border-radius:999px;border:none;cursor:pointer;background:#2C6F76;color:#FBF9F3;box-shadow:0 1px 2px rgba(20,48,47,0.2), 0 8px 18px -10px rgba(44,111,118,0.65);white-space:nowrap;transition:background .28s cubic-bezier(.2,.7,.3,1), color .28s ease, box-shadow .28s ease}}
.s9b9fa4f9a103{font-family:inherit;font-size:13.5px;font-weight:400;flex:none;min-width:0;padding:11px 14px;min-height:44px;border-radius:999px;border:none;cursor:pointer;background:transparent;color:#6B7873;box-shadow:none;white-space:nowrap;transition:background .28s cubic-bezier(.2,.7,.3,1), color .28s ease, box-shadow .28s ease}@media(width < 860px){.s9b9fa4f9a103{font-family:inherit;font-size:14px;font-weight:400;flex:1 1 0;min-width:0;padding:11px 8px;min-height:44px;border-radius:999px;border:none;cursor:pointer;background:transparent;color:#6B7873;box-shadow:none;white-space:nowrap;transition:background .28s cubic-bezier(.2,.7,.3,1), color .28s ease, box-shadow .28s ease}}
.s054d5f440e46{display:flex;padding:3px;gap:2px;min-width:0;background:rgba(27,35,33,0.05);border-radius:999px;flex:0 0 auto;margin-left:auto}@media(width < 860px){.s054d5f440e46{display:flex;padding:3px;gap:2px;min-width:0;background:rgba(27,35,33,0.05);border-radius:999px;flex:1 1 100%;margin-left:0}}
.s169db5135aae{font-family:inherit;font-size:16px;width:40px;min-height:40px;border-radius:999px;cursor:default;background:#FFFFFF;flex:none;border:1px solid rgba(27,35,33,0.09);color:#C4CCC7;transition:border-color .2s ease, color .2s ease}.s169db5135aae:hover{background: #2C6F76; border-color: #2C6F76; color: #FBF9F3;}
.sf8841265b101{font-family:inherit;font-size:16px;width:40px;min-height:40px;border-radius:999px;cursor:pointer;background:#FFFFFF;flex:none;border:1px solid rgba(27,35,33,0.18);color:#2C6F76;transition:border-color .2s ease, color .2s ease}.sf8841265b101:hover{background: #2C6F76; border-color: #2C6F76; color: #FBF9F3;}
.s69793cd57b66{grid-area:1 / 1;display:flex;min-width:0;overflow:hidden;max-height:2000px;opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .34s ease, transform .42s cubic-bezier(.2,.7,.3,1), visibility 0s;will-change:opacity, transform}
.s1c558fe2cb40{width:100%;min-height:0px}
.s07a7d091f235{display:grid;width:100%;grid-template-columns:repeat(1, minmax(0, 1fr));gap:1px;background:rgba(27,35,33,0.08);transition:grid-template-columns .5s cubic-bezier(.65,0,.35,1)}@media(width < 860px){.s07a7d091f235{display:grid;width:100%;grid-template-columns:1fr;gap:1px;background:rgba(27,35,33,0.08);transition:grid-template-columns .5s cubic-bezier(.65,0,.35,1)}}
.s565d240f5343{}
.s4faa636c460a{grid-area:1 / 1;display:flex;min-width:0;overflow:hidden;max-height:0px;opacity:0;transform:translateX(34px);pointer-events:none;visibility:hidden;transition:opacity .24s ease, transform .34s cubic-bezier(.2,.7,.3,1), visibility .34s step-end;will-change:opacity, transform}
.sc09a1735b0e5{position:relative;font-family:inherit;border:1px solid transparent;background:transparent;border-radius:9px;min-height:46px;cursor:default;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:none;opacity:0.32;transition:background .2s ease, border-color .2s ease, box-shadow .2s ease}
.s21b493a8cfd7{font-family:Montserrat, Helvetica, Arial, sans-serif;font-size:16.5px;line-height:1;color:#B5BEB9}
.sebf01ac2c84d{width:5px;height:5px;border-radius:50%;background:transparent}
.s85cf4c2852e7{position:relative;font-family:inherit;border:1px solid transparent;background:transparent;border-radius:9px;min-height:46px;cursor:default;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:none;opacity:1;transition:background .2s ease, border-color .2s ease, box-shadow .2s ease}
.s65838c67c9cf{padding:14px clamp(16px, 2.2vw, 22px);border-top:1px solid rgba(27,35,33,0.08);background:#FDFCF8}
.se9c52d50968e{min-width:0;display:flex;overflow:hidden;max-height:0px;opacity:0;transform:translateX(14px);pointer-events:none;transition:opacity .2s ease, transform .28s ease, max-height 0s}@media(width < 860px){.se9c52d50968e{min-width:0;display:flex;overflow:hidden;max-height:0px;opacity:0;pointer-events:none;transition:max-height .5s cubic-bezier(.33,0,.2,1), opacity .32s ease}}
.sbfe03410c0cb{display:flex;flex-direction:column;flex:1;min-width:300px;background:#FFFFFF;border-radius:14px;overflow:hidden;border:1.5px solid rgba(27,35,33,0.07);box-shadow:0 1px 2px rgba(27,35,33,0.035), 0 18px 44px -26px rgba(27,35,33,0.35);transition:border-color .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s cubic-bezier(.2,.7,.3,1)}
.s7db44826136d{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px clamp(16px, 2.2vw, 24px);background:linear-gradient(150deg, #23616A 0%, #1B4A4E 100%)}
.sf5b4d6e05cc1{font-family:inherit;font-size:15px;color:#1B2321;min-height:46px;padding:0 14px;border-radius:9px;background:#FDFCF8;border:1px solid rgba(27,35,33,0.14);outline:none}
.s4ccd14cfda8f{overflow:hidden;max-height:110px;opacity:1;transition:max-height .45s cubic-bezier(.65,0,.35,1), opacity .32s ease}
.sde759492ae98{font-family:inherit;font-size:15.5px;margin-top:4px;min-height:52px;border-radius:999px;cursor:pointer;border:none;background:#2C6F76;color:#FBF9F3;opacity:1;box-shadow:0 12px 28px -14px rgba(44,111,118,0.7);transition:background .22s ease, transform .22s ease, opacity .22s ease}
.s4d9e34fadf3f{color: #154549; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #2C6F76; text-decoration-thickness: 2px; padding: 2px 5px; border-radius: 4px; background: rgba(44,111,118,0.08); transition: background .2s ease;}.s4d9e34fadf3f:hover{background: rgba(44,111,118,0.16);}
.sb479ccfe2965{width:100%;margin-top:4px;padding-top:16px;border-top:1px solid rgba(27,35,33,0.08)}
.s472de244b220{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:13.5px;font-weight:500;min-height:44px;padding:0 18px;border-radius:999px;cursor:pointer;text-decoration:none;white-space:nowrap;background:#FDFCF8;border:1px solid rgba(44,111,118,0.4);color:#2C6F76;transition:background .2s ease, color .2s ease, border-color .2s ease}.s472de244b220:hover{background: #2C6F76; border-color: #2C6F76; color: #FBF9F3;}
.s93dea69169bd{background: #FFFFFF; padding: 22px 24px; display: flex; align-items: baseline; gap: 14px; text-decoration: none; color: inherit; transition: background .2s ease;}.s93dea69169bd:hover{background: #FFF8F6;}
.s14dfcc7f243e{background: #FFFFFF; padding: 22px 24px; display: flex; align-items: baseline; gap: 14px; text-decoration: none; color: inherit; transition: background .2s ease;}.s14dfcc7f243e:hover{background: #F4F8F8;}
.s9661a12738dc{display: flex; flex-direction: column; gap: 1px; text-decoration: none; color: #1B2321; padding: 10px 0; transition: color .2s ease;}.s9661a12738dc:hover{color: #2C6F76;}
.sec8ab2ff7e8f{height:calc(54px + env(safe-area-inset-bottom))}
.sa413acc0185f{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(251,249,244,0.94);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(27,35,33,0.1);box-shadow:0 -10px 30px -22px rgba(27,35,33,0.5);padding-top:10px;padding-left:16px;padding-right:16px;padding-bottom:max(10px, env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px}
.sca4c9bccc4cc{flex: 1; text-align: center; background: #2C6F76; color: #FBF9F3; text-decoration: none; font-size: 16px; min-height: 50px; display: grid; place-items: center; border-radius: 999px; transition: background .22s ease;}.sca4c9bccc4cc:hover{background: #1E5257;}
.sec3b90ba2be1{margin-top:clamp(40px, 6vw, 64px);padding-bottom:0;background:linear-gradient(160deg, #23616A 0%, #1E5257 100%);color:#EAF2F0}@media(width < 860px){.sec3b90ba2be1{margin-top:clamp(24px, 5vw, 36px);padding-bottom:calc(81px + env(safe-area-inset-bottom));background:linear-gradient(160deg, #23616A 0%, #1E5257 100%);color:#EAF2F0}}
.s758fd47d23cf{max-width:1200px;margin:0 auto;padding:clamp(24px, 3.5vw, 38px) clamp(18px, 4vw, 48px) 0;display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 190px), 1fr));gap:20px 28px}@media(width < 860px){.s758fd47d23cf{max-width:1200px;margin:0 auto;padding:18px clamp(18px, 4vw, 48px) 0;display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 190px), 1fr));gap:11px 20px}}
.s2717c944c8e1{color: #C7D6D1; text-decoration: none; border-bottom: 1px solid rgba(199,214,209,0.4); transition: color .25s ease, border-color .25s ease;}.s2717c944c8e1:hover{color: #FBF9F3; border-color: rgba(251,249,243,0.55);}
.s524445194d14{display: inline-block; font-size: 14.5px; line-height: 1.5; color: #D3DEDA; text-decoration: none; padding: 4px 0; border-bottom: 1px solid transparent; transition: color .25s ease, border-color .25s ease;}.s524445194d14:hover{color: #FBF9F3; border-color: rgba(251,249,243,0.55);}
.s81fcb1d07d74{display: inline-block; font-size: 14.5px; color: #D3DEDA; text-decoration: none; padding: 5px 0; border-bottom: 1px solid transparent; transition: color .25s ease, border-color .25s ease;}.s81fcb1d07d74:hover{color: #FBF9F3; border-color: rgba(251,249,243,0.55);}
.sa1a12d217888{align-self: flex-start; color: #D3DEDA; text-decoration: none; font-size: 14.5px; padding: 6px 0; border-bottom: 1px solid transparent; transition: color .25s ease, border-color .25s ease;}.sa1a12d217888:hover{color: #FBF9F3; border-color: rgba(251,249,243,0.55);}
.s3d8456b98516{max-width:1200px;margin:18px auto 0;padding:12px clamp(18px, 4vw, 48px) 16px;border-top:1px solid rgba(255,255,255,0.14);font-size:13px;color:#9DB2AD}@media(width < 860px){.s3d8456b98516{max-width:1200px;margin:12px auto 0;padding:9px clamp(18px, 4vw, 48px) 12px;border-top:1px solid rgba(255,255,255,0.14);font-size:12.5px;color:#9DB2AD}}
.sbb66d7b8822e{display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;text-decoration:none;font-size:18px;font-family:Montserrat, Helvetica, Arial, sans-serif;font-weight:600;color:#2C6F76;background:transparent;box-shadow:none;transition:color .2s ease, font-weight .2s ease}.sbb66d7b8822e:hover{background: rgba(44,111,118,0.14); color: #1E5257;}
.sc665f011f293{display:block;padding:12px 16px;border-radius:10px;text-decoration:none;font-size:18px;font-family:Montserrat, Helvetica, Arial, sans-serif;font-weight:600;min-height:44px;color:#2C6F76;background:transparent}
.sf6578c187ef7{display: inline-flex; align-items: center; min-height: 44px; font-size: 14.5px; color: #6B7873; text-decoration: none;}.sf6578c187ef7:hover{color: #2C6F76;}
.s2cdddab9c9b8{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:14px;margin-top:22px;align-items:stretch}@media(width < 860px){.s2cdddab9c9b8{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;margin-top:22px;align-items:stretch}}
.sd68f4a6707ea{display:flex;flex-direction:column;gap:10px;background:linear-gradient(160deg, #23616A 0%, #1E5257 100%);border:1px solid transparent;border-radius:12px;padding:24px 26px 22px;box-shadow:0 1px 2px rgba(20,48,47,0.18), 0 14px 34px -20px rgba(20,48,47,0.55)}@media(width < 860px){.sd68f4a6707ea{display:flex;flex-direction:column;gap:7px;background:linear-gradient(160deg, #23616A 0%, #1E5257 100%);border:1px solid transparent;border-radius:12px;padding:16px 15px 14px;box-shadow:0 1px 2px rgba(20,48,47,0.18), 0 14px 34px -20px rgba(20,48,47,0.55)}}
.se7aef615cb36{font-size:34px}@media(width < 860px){.se7aef615cb36{font-size:28px}}
.s3769214aa971{font-size:20px}@media(width < 860px){.s3769214aa971{font-size:17px}}
.s4c2299fc2558{display:flex;flex-direction:column;gap:10px;background:#FFFFFF;border:1px solid rgba(27,35,33,0.07);border-radius:12px;padding:24px 26px 22px;box-shadow:0 1px 2px rgba(27,35,33,0.035), 0 14px 34px -24px rgba(27,35,33,0.3)}@media(width < 860px){.s4c2299fc2558{display:flex;flex-direction:column;gap:7px;background:#FFFFFF;border:1px solid rgba(27,35,33,0.07);border-radius:12px;padding:16px 15px 14px;box-shadow:0 1px 2px rgba(27,35,33,0.035), 0 14px 34px -24px rgba(27,35,33,0.3)}}
.only-narrow{display:none}.only-wide{display:contents}@media(width < 860px){.only-narrow{display:contents}.only-wide{display:none}}[hidden]{display:none!important}[data-reveal]{opacity:1;transform:none}html{scroll-padding-top:100px}body{margin:0}
/* Native static fallbacks; component geometry remains defined by the shared style values. */
[data-page=home] [data-ref=videoHostRef]{background:url('/assets/hero-poster.webp') center/cover}
[data-page=home] [data-ref=morphLogoRef]{left:clamp(16px,4vw,48px);top:8vh;width:clamp(112px,10.5vw,147px)}
@media(width < 860px){[data-page=home] [data-ref=morphLogoRef]{left:clamp(16px,5vw,48px);top:5.5vh;width:clamp(94px,27vw,126px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
