/* Between Deadlines: hero "Full Stack" layer stack with travelling label. Light + dark. */
@keyframes bdStFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes bdStIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes bdStGlow{0%,100%{box-shadow:0 0 0 1px #B8E62A,0 0 60px rgba(215,255,61,.55)}50%{box-shadow:0 0 0 1px #B8E62A,0 0 110px rgba(215,255,61,.9)}}

.bd-site{
  --st-plate:rgba(18,19,14,.86);--st-plate-line:rgba(255,255,255,.16);--st-plate-ink:rgba(243,243,238,.7);--st-edge:rgba(0,0,0,.55);
  --st-tag:rgba(10,11,9,.78);--st-shadow:rgba(0,0,0,.6)
}
:root[data-theme="light"] .bd-site{
  --st-plate:rgba(255,255,255,.94);--st-plate-line:rgba(21,22,15,.14);--st-plate-ink:rgba(21,22,15,.62);--st-edge:rgba(21,22,15,.12);
  --st-tag:rgba(255,255,255,.92);--st-shadow:rgba(21,22,15,.28)
}

/* hide the old hero props that compete with the stack */
.bd-site .bd-hero__stage .bd-ui--stats,.bd-site .bd-hero__stage .bd-ui--notify{display:none}

.bd-site .bd-st{position:absolute;inset:0;--p:clamp(150px,42%,230px);--gap:30px;opacity:0;transition:opacity 1.2s var(--ease) .6s}
html.is-loaded .bd-site .bd-st,.bd-site.elementor-editor-active .bd-st{opacity:1}
.bd-site .bd-st__float{position:absolute;inset:0;animation:bdStFloat 7s ease-in-out infinite}
.bd-site .bd-st__scene{position:absolute;left:36%;top:64%;width:calc(var(--p) * 1.18);height:var(--p);transform:translate(-50%,-50%)}
.bd-site .bd-st__iso{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(64deg) rotateZ(-38deg)}
.bd-site .bd-st__probe{position:absolute;inset:0;visibility:hidden;transition:none}
.bd-site .bd-st__shadow{position:absolute;left:36%;top:70%;width:calc(var(--p) * 1.6);height:calc(var(--p) * .55);border-radius:50%;background:radial-gradient(closest-side,var(--st-shadow),transparent);filter:blur(14px);transform:translate(-50%,-50%);opacity:.7}

/* layers */
.bd-site .bd-st__plate{position:absolute;inset:0;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:16px 18px;border-radius:22px;background:var(--st-plate);border:1px solid var(--st-plate-line);box-shadow:7px 7px 0 -1px var(--st-edge);
  transform:translateZ(calc(var(--i) * var(--gap) + 240px));opacity:0;
  transition:transform .95s cubic-bezier(.2,1.3,.4,1),opacity .45s,border-color .4s,background .4s}
.bd-site .bd-st.is-built .bd-st__plate{transition:transform .5s var(--ease),opacity .45s,border-color .4s,background .4s}
.bd-site .bd-st__plate.is-in.is-top{transform:translateZ(calc(var(--i) * var(--gap) + 10px))}
.bd-site .bd-st__plate.is-in.is-above{transform:translateZ(calc(var(--i) * var(--gap) + 34px));opacity:.55}
.bd-site .bd-st__plate.is-in{transform:translateZ(calc(var(--i) * var(--gap)));opacity:1}
.bd-site .bd-st__plate span{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--accent-fg)}
.bd-site .bd-st__plate b{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--st-plate-ink)}
.bd-site .bd-st__plate.is-top{border-color:var(--accent-fg)}
.bd-site .bd-st__plate.is-top b{color:var(--ink)}
.bd-site .bd-st__plate--cap{align-items:center;justify-content:center;background:#D7FF3D;border-color:#B8E62A}
.bd-site .bd-st__plate--cap.is-in{transform:translateZ(calc(var(--i) * var(--gap) + 16px));animation:bdStGlow 2.4s ease-in-out infinite}
.bd-site .bd-st__plate--cap.is-in.is-top{transform:translateZ(calc(var(--i) * var(--gap) + 22px))}
.bd-site .bd-st__plate--cap b{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,2.6vw,34px);letter-spacing:0;color:#15160F}

/* travelling label box */
.bd-site .bd-st__tag{position:absolute;left:0;top:0;width:clamp(170px,40%,214px);box-sizing:border-box;padding:12px 16px 13px;border-radius:16px;background:var(--st-tag);border:1px solid var(--line-2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 50px -24px var(--st-shadow);
  opacity:0;transition:left .9s var(--ease),top .9s var(--ease),opacity .5s,background .5s,border-color .5s}
.bd-site .bd-st__tag.is-on{opacity:1}
.bd-site .bd-st__tag::before{content:'';position:absolute;right:100%;top:50%;width:22px;height:1px;background:var(--accent-fg)}
.bd-site .bd-st__tag::after{content:'';position:absolute;right:calc(100% + 18px);top:calc(50% - 3px);width:7px;height:7px;border-radius:50%;background:var(--accent-fg)}
.bd-site .bd-st__tag small{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;color:var(--accent-fg)}
.bd-site .bd-st__tag b{display:block;margin-top:4px;font-family:var(--font-display);font-weight:800;font-size:clamp(17px,1.6vw,21px);line-height:1.05;text-transform:uppercase;color:var(--ink)}
.bd-site .bd-st__tag em{display:block;margin-top:5px;font-family:var(--font-serif);font-style:italic;font-size:15px;line-height:1.25;color:var(--ink)}
.bd-site .bd-st__tag.is-swap small,.bd-site .bd-st__tag.is-swap b,.bd-site .bd-st__tag.is-swap em{animation:bdStIn .55s var(--ease) both}
.bd-site .bd-st__tag.is-swap b{animation-delay:.05s}
.bd-site .bd-st__tag.is-swap em{animation-delay:.1s}
.bd-site .bd-st__tag.is-cap{background:#D7FF3D;border-color:#B8E62A}
.bd-site .bd-st__tag.is-cap small,.bd-site .bd-st__tag.is-cap b,.bd-site .bd-st__tag.is-cap em{color:#15160F}
.bd-site .bd-st__tag.is-cap::before,.bd-site .bd-st__tag.is-cap::after{background:#86B000}

/* tablet / mobile: show the stack under the copy */
@media (max-width:900px){
  .bd-site .bd-hero__stage{display:block!important;width:100%;max-width:520px;aspect-ratio:auto;height:min(80vw,420px);margin:10px auto 0;justify-self:center}
  .bd-site .bd-st{--p:clamp(140px,40%,210px);--gap:26px}
  .bd-site .bd-st__scene{left:34%;top:62%}
  .bd-site .bd-st__shadow{left:34%;top:68%}
  .bd-site .bd-st__tag em{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  .bd-site .bd-st__float,.bd-site .bd-st__plate--cap.is-in{animation:none}
  .bd-site .bd-st__plate,.bd-site .bd-st__tag{transition:none}
}

/* interaction */
.bd-site .bd-st{pointer-events:auto;cursor:pointer;touch-action:pan-y}
.bd-site .bd-st__hint{position:absolute;left:36%;bottom:4%;transform:translateX(-50%);font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);white-space:nowrap;transition:opacity .5s}
.bd-site .bd-st.is-hover .bd-st__hint{opacity:0}
@media (max-width:900px){.bd-site .bd-st__hint{left:34%;bottom:0}}
.bd-site .bd-st.is-built .bd-st__tag{transition:left .45s var(--ease),top .45s var(--ease),opacity .4s,background .4s,border-color .4s}