/* ══════════════════════════════════════════════════════════════
   HAUSVERWALTUNG — „Das Haus ist die Oberfläche."

   WELT      ein digitales Gebäude-Diorama
   HELD      das Gebäude (Musterstraße 12)
   KAMERA    in ein Haus hineinsehen, eine Etage anwählen
   MOMENT    Kanäle hören auf, Kanäle zu sein — alles hängt am Ort

   Ausdrücklich NICHT die Adress-Andock-Geste der Intake-Seite:
   dort wird eine Meldung zu einem Fall, hier ist der ORT die
   Ablage, und der Besucher bewegt sich durch ihn.
══════════════════════════════════════════════════════════════ */

.est {
  --est-bg: #10131a;
  --est-panel: #181d26;
  --est-ink: #e9edf3;
  --est-mut: #87909f;
  --est-line: rgba(255,255,255,.09);
  --est-acc: #f0a24b;
  --est-cold: #6fa8dc;
  --est-ease: cubic-bezier(.22,.9,.24,1);

  position: relative; width: 100vw; margin-left: calc(50% - 50vw);
  background: var(--est-bg); color: var(--est-ink); overflow-x: clip;
}
.est-in { width: min(1220px, 92vw); margin-inline: auto; }

.est-slug { padding: clamp(4.5rem,9vh,7rem) 0 clamp(1.2rem,3vh,1.8rem); }
.est-slug__k { font-family: var(--font-heading); font-size: .66rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--est-acc); }
.est-slug__h { font-family: var(--font-heading); font-weight: 800; letter-spacing: -.032em; font-size: clamp(1.4rem,3.1vw,2.3rem); margin: .6rem 0 .5rem; max-width: 22ch; }
.est-slug__c { margin: 0; color: var(--est-mut); font-size: .93rem; line-height: 1.62; max-width: 56ch; }

/* ── Das Diorama ─────────────────────────────────────────────── */
.est-diorama {
  display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2.2rem); align-items: start;
  padding-bottom: clamp(2.5rem,6vh,4rem);
}
@media (max-width: 900px) { .est-diorama { grid-template-columns: 1fr; } }

.est-build {
  position: relative; border: 1px solid var(--est-line); border-radius: 12px 12px 4px 4px;
  background: linear-gradient(180deg, #1b212c, #141922);
  padding: 0; overflow: hidden;
}
.est-build__addr {
  display: flex; justify-content: space-between; align-items: center; gap: .6rem;
  padding: .7rem .9rem; border-bottom: 1px solid var(--est-line); background: rgba(255,255,255,.03);
}
.est-build__t { font-family: var(--font-heading); font-weight: 800; font-size: .92rem; }
.est-build__s { font-size: .68rem; color: var(--est-mut); }

.est-roof { height: 26px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.07) 0 8px, transparent 8px 16px); border-bottom: 1px solid var(--est-line); }

.est-floor {
  position: relative; width: 100%; text-align: left; font: inherit; cursor: pointer;
  display: grid; grid-template-columns: 3.6rem 1fr auto; align-items: center; gap: .6rem;
  padding: .7rem .9rem; border: none; border-bottom: 1px solid var(--est-line);
  background: transparent; color: var(--est-ink);
  transition: background .28s var(--est-ease);
}
.est-floor:last-child { border-bottom: none; }
.est-floor:hover { background: rgba(240,162,75,.07); }
.est-floor:focus-visible { outline: 2px solid var(--est-acc); outline-offset: -2px; }
.est-floor.is-on { background: rgba(240,162,75,.14); }
.est-floor__n { font-size: .68rem; font-weight: 800; letter-spacing: .07em; color: var(--est-mut); text-transform: uppercase; }
.est-floor__u { display: flex; gap: .28rem; }
.est-unit { width: 100%; height: 22px; border-radius: 3px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.06); flex: 1; }
.est-floor.is-on .est-unit { background: rgba(240,162,75,.2); border-color: rgba(240,162,75,.35); }

/* Ereignis-Punkt auf der Etage */
.est-dot {
  width: .52rem; height: .52rem; border-radius: 50%; background: var(--est-mut);
  box-shadow: 0 0 0 0 rgba(240,162,75,.55);
}
.est-floor[data-est-open="1"] .est-dot { background: var(--est-acc); animation: estPulse 2.4s var(--est-ease) infinite; }
@keyframes estPulse {
  0%   { box-shadow: 0 0 0 0 rgba(240,162,75,.5); }
  70%  { box-shadow: 0 0 0 7px rgba(240,162,75,0); }
  100% { box-shadow: 0 0 0 0 rgba(240,162,75,0); }
}

/* Eingehende Kanäle, die an den Ort andocken */
.est-feed { margin-top: .9rem; display: flex; flex-wrap: wrap; gap: .4rem; }
.est-chan {
  font-size: .7rem; color: var(--est-mut);
  border: 1px dashed var(--est-line); border-radius: 999px; padding: .3rem .7rem;
  background: rgba(255,255,255,.02);
  transition: opacity .4s var(--est-ease), transform .4s var(--est-ease), border-color .4s var(--est-ease), color .4s var(--est-ease);
}
.est.is-docked .est-chan { border-style: solid; border-color: rgba(111,168,220,.4); color: #cfe3f7; }

/* ── Der Fall ────────────────────────────────────────────────── */
.est-case {
  border: 1px solid var(--est-line); border-radius: 12px; background: var(--est-panel);
  padding: clamp(1rem,2.6vw,1.6rem); min-height: 320px;
}
.est-case__k { font-family: var(--font-heading); font-size: .6rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--est-acc); margin: 0 0 .5rem; }
.est-case__t { font-family: var(--font-heading); font-weight: 800; letter-spacing: -.02em; font-size: clamp(1.05rem,2.2vw,1.4rem); margin: 0 0 .3rem; }
.est-case__s { font-size: .82rem; color: var(--est-mut); margin: 0 0 1rem; line-height: 1.55; }
.est-case__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem; }
@media (max-width: 520px) { .est-case__grid { grid-template-columns: 1fr; } }
.est-f { border: 1px solid var(--est-line); border-radius: 8px; padding: .55rem .7rem; background: rgba(255,255,255,.022); }
.est-f__k { font-size: .58rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; color: var(--est-mut); display: block; margin-bottom: .18rem; }
.est-f__v { font-size: .82rem; font-family: var(--font-heading); font-weight: 700; }
.est-f__s { font-size: .72rem; color: var(--est-mut); line-height: 1.42; }
.est-case__status { display: inline-flex; align-items: center; gap: .4rem; margin-top: .9rem;
  border-radius: 999px; padding: .3rem .75rem; font-size: .72rem; font-weight: 800;
  background: rgba(240,162,75,.14); color: #ffd8a8; border: 1px solid rgba(240,162,75,.32); }
.est-case__hint { margin: .9rem 0 0; font-size: .76rem; color: var(--est-mut); line-height: 1.5; }

/* ── Leseebene ───────────────────────────────────────────────── */
.est-read { padding: clamp(3.5rem,9vh,6rem) 0 clamp(4rem,10vh,7rem); border-top: 1px solid var(--est-line); }
.est-read__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(1.6rem,5vw,4rem); align-items: start; }
@media (max-width: 880px) { .est-read__grid { grid-template-columns: 1fr; } }
.est-read__lead { font-size: clamp(1.02rem,1.5vw,1.16rem); line-height: 1.66; margin: 0 0 1rem; }
.est-read__p { font-size: .93rem; line-height: 1.72; color: var(--est-mut); margin: 0 0 .9rem; max-width: 62ch; }
.est-read__p b { color: var(--est-ink); }
.est-read__p a, .est-qa__a a, .est-rel a { color: var(--est-acc); text-underline-offset: 3px; }
.est-qa { border-left: 1px solid var(--est-line); padding-left: clamp(.9rem,2vw,1.6rem); }
@media (max-width: 880px) { .est-qa { border-left: none; border-top: 1px solid var(--est-line); padding: 1.4rem 0 0; } }
.est-qa__h { font-family: var(--font-heading); font-size: .62rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--est-mut); margin: 0 0 1rem; }
.est-qa__i { margin: 0 0 1.1rem; }
.est-qa__q { font-family: var(--font-heading); font-weight: 700; font-size: .86rem; margin: 0 0 .28rem; }
.est-qa__a { font-size: .82rem; line-height: 1.62; color: var(--est-mut); margin: 0; }
.est-close { margin-top: clamp(2rem,5vh,3rem); padding-top: 1.4rem; border-top: 1px solid var(--est-line); }
.est-close__t { font-family: var(--font-heading); font-weight: 800; letter-spacing: -.028em; font-size: clamp(1.15rem,2.3vw,1.6rem); margin: 0 0 .9rem; max-width: 32ch; }
.est-go { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--font-heading); font-weight: 700; font-size: .88rem;
  color: #1a1207; background: var(--est-acc); text-decoration: none; padding: .68rem 1.25rem; border-radius: 999px; transition: transform .22s var(--est-ease); }
.est-go:hover { transform: translateY(-2px); }
.est-go--q { background: transparent; color: var(--est-ink); border: 1px solid var(--est-line); }
.est-rel { margin: 1.1rem 0 0; font-size: .82rem; color: var(--est-mut); }

@media (prefers-reduced-motion: reduce) {
  .est-floor, .est-chan { transition: none; }
  .est-floor[data-est-open="1"] .est-dot { animation: none; }
}

/* Kontrast auf WCAG AA angehoben (Batch 5, gemessen bei 390px). */


/* Final creative-direction pass · Gebäudeschnitt */
.est{background:radial-gradient(circle at 24% 25%,rgba(111,168,220,.08),transparent 28%),linear-gradient(180deg,#10131a,#0c1016)}
.est-diorama{grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;perspective:1400px;padding-top:1rem}
.est-build{overflow:visible;border-radius:4px;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(#1c2330,#121821);background-size:52px auto;box-shadow:-28px 38px 85px rgba(0,0,0,.34),inset -20px 0 50px rgba(0,0,0,.2);transform:rotateY(2deg);transform-origin:right center;transition:transform .5s var(--est-ease)}
.est-build::before{content:"TECHNIK · RÄUME · VORGÄNGE";position:absolute;left:-2.5rem;top:50%;transform:translate(-50%,-50%) rotate(-90deg);font-family:var(--font-heading);font-size:.56rem;font-weight:800;letter-spacing:.16em;color:var(--est-mut);white-space:nowrap}
.est-build::after{content:"";position:absolute;left:4.9rem;top:5.4rem;bottom:4.7rem;width:2px;background:linear-gradient(var(--est-cold),rgba(111,168,220,.08));opacity:.45;pointer-events:none}
.est-build__addr{position:relative;z-index:2;background:rgba(14,18,25,.9);padding:.9rem 1rem}
.est-roof{height:72px;margin:-1px -1px 0;background:linear-gradient(145deg,#2b3039,#151a23 72%);clip-path:polygon(50% 0,100% 74%,100% 100%,0 100%,0 74%);border:0;position:relative}.est-roof::after{content:"DACH";position:absolute;left:50%;bottom:.55rem;transform:translateX(-50%);font-family:var(--font-heading);font-size:.57rem;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.34)}
.est-floor{min-height:62px;grid-template-columns:4rem 1fr auto;padding:.65rem 1rem .65rem 1.25rem;background:rgba(18,24,33,.58);border-left:3px solid transparent;transition:background .35s var(--est-ease),transform .35s var(--est-ease),border-color .35s var(--est-ease),box-shadow .35s var(--est-ease)}
.est-floor::before{content:"";position:absolute;left:4.72rem;right:3rem;bottom:.35rem;height:1px;background:rgba(255,255,255,.05)}
.est-floor:hover{transform:translateX(4px)}.est-floor.is-on{transform:translateX(11px) translateZ(28px);border-left-color:var(--est-acc);background:linear-gradient(90deg,rgba(240,162,75,.18),rgba(240,162,75,.055));box-shadow:-14px 14px 34px rgba(0,0,0,.2)}
.est-floor__u{gap:.45rem}.est-unit{height:28px;background:linear-gradient(180deg,rgba(111,168,220,.12),rgba(255,255,255,.035));border-color:rgba(111,168,220,.12);position:relative}.est-unit::after{content:"";position:absolute;inset:4px;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08)}.est-floor.is-on .est-unit{background:linear-gradient(180deg,rgba(240,162,75,.3),rgba(240,162,75,.09));box-shadow:inset 0 0 18px rgba(240,162,75,.1)}
.est-feed{margin:0;padding:.8rem 1rem;background:#0d1219;border-top:1px solid var(--est-line);position:relative;z-index:2}.est-chan{position:relative}.est.is-docked .est-chan::after{content:"";position:absolute;left:50%;top:-.8rem;width:1px;height:.55rem;background:var(--est-cold);opacity:.55}
.est-case{position:relative;min-height:420px;background:linear-gradient(145deg,rgba(27,33,44,.97),rgba(18,23,31,.98));box-shadow:28px 40px 90px rgba(0,0,0,.3);transition:transform .35s var(--est-ease),opacity .35s var(--est-ease)}
.est-case::before{content:"";position:absolute;right:100%;top:50%;width:clamp(1.5rem,5vw,4rem);height:1px;background:linear-gradient(90deg,var(--est-acc),rgba(240,162,75,.2))}
.est-order{display:grid;gap:.18rem;margin-top:1rem;padding:.8rem .9rem;border:1px solid rgba(240,162,75,.34);border-radius:9px;background:linear-gradient(135deg,rgba(240,162,75,.13),rgba(240,162,75,.035));color:var(--est-ink);text-decoration:none;view-transition-name:work-order-1847;transition:transform .25s var(--est-ease),border-color .25s var(--est-ease)}.est-order:hover{transform:translateX(4px);border-color:var(--est-acc)}.est-order:focus-visible{outline:2px solid var(--est-acc);outline-offset:3px}.est-order[hidden]{display:none}.est-order__eyebrow{font-size:.57rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--est-acc)}.est-order__title{font-family:var(--font-heading);font-size:1rem;font-weight:800}.est-order__go{font-size:.74rem;color:#ffd8a8;margin-top:.15rem}
@media(max-width:900px){.est-diorama{grid-template-columns:1fr;perspective:none}.est-build{width:min(520px,calc(100% - 1.2rem));margin-inline:auto;transform:none}.est-build::before{display:none}.est-case::before{right:auto;left:50%;top:auto;bottom:100%;width:1px;height:1.5rem;background:linear-gradient(var(--est-acc),rgba(240,162,75,.2))}.est-floor.is-on{transform:translateX(6px)}.est-case{min-height:0}}
@media(max-width:520px){.est-roof{height:56px}.est-floor{min-height:56px;grid-template-columns:3.2rem 1fr auto;padding-inline:.7rem}.est-build::after{left:3.6rem}.est-unit{height:23px}.est-chan{font-size:.61rem}}
@media(prefers-reduced-motion:reduce){.est-build,.est-floor,.est-case,.est-order{transition:none}.est-floor.is-on{transform:none}}

.est-slug__k,.est-slug__h{display:block}.est-slug__h{margin-top:.7rem}.est-f__v,.est-f__s{display:block}

@view-transition{navigation:auto}::view-transition-old(work-order-1847),::view-transition-new(work-order-1847){animation-duration:.34s;animation-timing-function:cubic-bezier(.22,.9,.24,1)}@media(prefers-reduced-motion:reduce){::view-transition-group(work-order-1847){animation:none}}

@media (min-width:861px) and (max-width:1180px){.pg-nav__world{display:none}.pg-nav__switcher{margin-inline:auto}}
