/* Agent 1 — GmbH: the accepted Breathe scene opens the homepage. */
.home-breathe-page { --opening-nav: 72px; }
.home-breathe-page .site-shell { padding-top: var(--opening-nav); }
.home-breathe-page main#top { scroll-margin-top: var(--opening-nav); }
.home-opening {
  position: relative;
  height: calc(100svh - var(--opening-nav));
  min-height: 260px;
  overflow: hidden;
  isolation: isolate;
  background: var(--paper);
}
.home-opening-scene {
  height: 100%;
  min-height: 0;
  transform: translate3d(0, var(--opening-lift, 0px), 0);
  opacity: var(--opening-opacity, 1);
  will-change: transform, opacity;
}
.home-opening .breathe-focus { width: min(440px, 54vw); }
.home-down {
  position: absolute;
  bottom: max(24px, env(safe-area-inset-bottom));
  left: 50%;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--muted);
  background: none;
  border: 0;
  transform: translateX(-50%);
  opacity: var(--opening-arrow-opacity, 1);
  transition: color 180ms ease;
}
.home-down svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; transition: transform 350ms ease; }
.home-down:hover, .home-down:focus-visible { color: var(--ink); }
.home-down:hover svg, .home-down:focus-visible svg { transform: translateY(4px); }
.home-down:focus-visible { outline: 1px solid var(--ink); outline-offset: 2px; border-radius: 50%; }
.home-content {
  position: relative;
  transform: translate3d(0, var(--content-arrival, 0px), 0);
  scroll-margin-top: var(--opening-nav);
}
.home-content:focus { outline: none; }
.home-breathe-page #aurora-bg { opacity: var(--content-aurora, 0); }
.home-breathe-page .hero h1 .word { opacity: 1; transition: none; }
@media(max-width:760px) {
  .home-breathe-page { --opening-nav: 78px; }
  .home-opening .breathe-focus { width: min(340px, 68vw); }
  .home-down { bottom: max(20px, env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
  .home-opening-scene { transform: none; opacity: 1; will-change: auto; }
  .home-content { transform: none; }
  .home-down { opacity: 1; }
  .home-down svg, .home-content .family-site-link { transform: none !important; transition: none; }
  .home-content .flat-logo .home-edge-trace, .home-content .service-row::after { display: none; animation: none !important; }
}

/* The opening carries the identity; the navigation makes room after it leaves. */
.home-breathe-page .topbar .brand {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 300ms ease, visibility 300ms;
}
.home-breathe-page .nav-cluster {
  transform: translateX(0);
  transition: none;
}
.home-breathe-page.home-nav-content .topbar .brand { opacity: 1; visibility: visible; pointer-events: auto; }
.home-breathe-page.home-nav-content .nav-cluster { transform: translateX(0); }
@media (prefers-reduced-motion: reduce) { .home-breathe-page .topbar .brand { transition:none; } }
