/* 0171 · LOOP → LIFE CALENDAR → LIVE DECISION → WHITE THRESHOLD CURTAIN */
#borzilov-lp .bz-final-1945{
  position:relative;
  width:100%;
  margin:0;
  overflow:hidden;
  background:#02090c;
  color:#fffdf8;
}
#borzilov-lp .bz-final-1945__inner{
  width:min(1160px,calc(100% - 48px));
  margin:0 auto;
  padding:clamp(72px,8vw,124px) clamp(24px,5vw,68px) clamp(84px,9vw,136px);
}
#borzilov-lp .bz-final-1945__lead>span,
#borzilov-lp .bz-final-1945__echo>span,
#borzilov-lp .bz-decision-now__eyebrow{
  display:block;
  color:rgba(255,253,248,.54);
  font-size:10px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.17em;
  text-transform:uppercase;
}
#borzilov-lp .bz-final-1945__lead h2{
  max-width:14ch;
  margin:clamp(22px,2.8vw,38px) 0 0;
  font-size:clamp(42px,5.8vw,78px);
  line-height:.9;
  letter-spacing:-.062em;
}
#borzilov-lp .bz-final-1945__echoes{
  margin-top:clamp(64px,8vw,112px);
  border-top:1px solid rgba(255,253,248,.16);
}
#borzilov-lp .bz-final-1945__echo{
  display:grid;
  grid-template-columns:minmax(160px,.42fr) minmax(0,1fr);
  gap:clamp(28px,5vw,76px);
  align-items:start;
  padding:clamp(38px,5vw,72px) 0;
  border-bottom:1px solid rgba(255,253,248,.16);
}
#borzilov-lp .bz-final-1945__echo--older{opacity:.72}
#borzilov-lp .bz-final-1945__echo>span{padding-top:.65em}
#borzilov-lp .bz-final-1945__echo p{
  margin:0;
  color:rgba(255,253,248,.82);
  font-size:clamp(28px,4vw,58px);
  font-weight:760;
  line-height:.94;
  letter-spacing:-.052em;
}
#borzilov-lp .bz-final-1945__echo p strong{
  display:inline-block;
  color:#ad6f50;
  font-size:1.52em;
  font-weight:900;
  line-height:.72;
  letter-spacing:-.08em;
}
#borzilov-lp .bz-final-1945__noise{
  position:relative;
  min-height:clamp(150px,18vw,240px);
  overflow:hidden;
  border-bottom:1px solid rgba(255,253,248,.16);
}
#borzilov-lp .bz-final-1945__noise span{
  position:absolute;
  left:clamp(160px,23vw,310px);
  top:50%;
  color:rgba(255,253,248,.62);
  font-size:clamp(18px,2.4vw,32px);
  font-weight:760;
  letter-spacing:-.035em;
  opacity:0;
  transform:translate3d(0,20px,0);
  will-change:opacity,transform;
}
#borzilov-lp .bz-final-1945__bridge{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);
  gap:clamp(38px,7vw,104px);
  align-items:end;
  padding-top:clamp(70px,8vw,112px);
}
#borzilov-lp .bz-final-1945__bridge p{
  margin:0;
  font-size:clamp(32px,4.8vw,68px);
  font-weight:850;
  line-height:.92;
  letter-spacing:-.06em;
}
#borzilov-lp .bz-final-1945__bridge p strong{
  display:block;
  color:#ad6f50;
  font-weight:inherit;
}
#borzilov-lp .bz-final-1945__bridge b{
  display:block;
  max-width:13ch;
  color:rgba(255,253,248,.76);
  font-size:clamp(24px,3vw,42px);
  line-height:.98;
  letter-spacing:-.048em;
}

#borzilov-lp .bz-decision-now{
  position:relative;
  display:block;
  width:100%;
  /* 0243: preserve the exact pre-freeze black hold. Legacy travel was
     section - sticky = 460svh - 100vh; add 8.5% of that travel physically. */
  min-height:calc(499.1svh - 8.5vh);
  margin:0;
  overflow:visible;
  background:#02090c;
  color:#fffdf8;
  isolation:isolate;
}

/* 0170 — Chrome/Android scroll-jitter fix.
   The live-decision screen stays inside the document and is pinned by the browser's
   native sticky compositor. The previous fixed overlay followed section.top through
   JS on every scroll frame; Chromium's asynchronous scrolling could outrun that write. */
#borzilov-lp .bz-decision-now__inner{
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:min(1160px,100%);
  height:100vh;
  min-height:100vh;
  height:100svh;
  min-height:100svh;
  margin:0 auto;
  padding:clamp(52px,6vw,82px) clamp(24px,5vw,68px);
  overflow:hidden;
  background:#02090c;
  color:#fffdf8;
  box-sizing:border-box;
  contain:paint style;
  container-type:inline-size;
  container-name:bz-live-decision;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#borzilov-lp .bz-decision-now__eyebrow{
  display:block;
  color:rgba(255,253,248,.54);
  font-size:10px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.17em;
  text-transform:uppercase;
  opacity:var(--bz-now-eyebrow-opacity,.58);
  transform:translate3d(0,var(--bz-now-eyebrow-y,0),0);
  transition:none;
}
/* 0171 first-paint contract: the clock has no literal fallback and no post-paint font fitting.
   Head prepaint provides hour/minute tokens; CSS owns the final geometry from frame zero. */
#borzilov-lp .bz-decision-now time{
  display:block;
  width:max-content;
  max-width:none;
  margin:clamp(22px,3vw,38px) 0 0;
  color:#b94f35;
  font-size:clamp(92px,35.8vw,440px);
  font-weight:900;
  font-variant-numeric:tabular-nums;
  line-height:.72;
  letter-spacing:-.095em;
  white-space:nowrap;
  opacity:var(--bz-now-time-opacity,1);
  transform:translate3d(0,var(--bz-now-time-y,0),0) scale(var(--bz-now-time-scale,1)) scaleX(var(--bz-now-time-lock-scale-x,1));
  transform-origin:left center;
  will-change:transform,opacity;
}
#borzilov-lp .bz-decision-now time .bz-cycle-part,
#borzilov-lp .bz-decision-now time .bz-cycle-sep{display:inline-block}
#borzilov-lp .bz-decision-now time .bz-cycle-part--hour{
  transform:translate3d(var(--bz-now-hour-lock-shift,0),0,0);
  transform-origin:right center;
}
#borzilov-lp .bz-decision-now time .bz-cycle-part--minute{
  transform:translate3d(var(--bz-now-minute-lock-shift,0),0,0);
  transform-origin:left center;
}
#borzilov-lp .bz-decision-now time .bz-cycle-part--hour::before{content:var(--bz-live-clock-hour,"00")}
#borzilov-lp .bz-decision-now time .bz-cycle-part--minute::before{content:var(--bz-live-clock-minute,"00")}
#borzilov-lp .bz-decision-now time .bz-cycle-sep{
  min-width:.28em;
  text-align:center;
  opacity:var(--bz-now-colon-opacity,1);
  transform:scale(var(--bz-now-colon-scale,1));
  transform-origin:center;
  animation:bz-cycle-timer-blink 1s steps(1,end) infinite;
}
#borzilov-lp .bz-decision-now[data-bz-clock-state="locked"] time .bz-cycle-sep{
  animation:none;
}
@keyframes bz-cycle-timer-blink{
  0%,44%,100%{opacity:1}
  50%,58%{opacity:.2}
}
#borzilov-lp .bz-decision-now h2{
  max-width:14ch;
  margin:clamp(42px,5vw,70px) 0 0;
  color:rgba(255,253,248,.96);
  font-size:clamp(40px,5.4vw,76px);
  font-weight:900;
  line-height:.86;
  letter-spacing:-.068em;
  text-transform:uppercase;
  opacity:var(--bz-now-title-opacity,1);
  transform:translate3d(0,var(--bz-now-title-y,0),0);
  will-change:transform,opacity;
}
#borzilov-lp .bz-decision-now p{
  display:block;
  width:100%;
  margin:clamp(30px,4vw,52px) 0 0;
  font-weight:900;
  line-height:.82;
  letter-spacing:-.072em;
}
#borzilov-lp .bz-decision-now p strong,
#borzilov-lp .bz-decision-now p span{
  display:block;
  width:max-content;
  max-width:none;
  margin-top:.10em;
  color:var(--bz-line-color,rgba(255,253,248,.24));
  font-size:clamp(44px,18.5vw,190px);
  font-weight:900;
  line-height:.82;
  letter-spacing:-.072em;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:var(--bz-line-opacity,.36);
  transform:translate3d(0,var(--bz-line-y,18px),0) scale(var(--bz-line-scale,.84));
  transform-origin:left center;
  will-change:transform,opacity,color;
}
#borzilov-lp .bz-decision-now p strong{margin-top:0}
#borzilov-lp .bz-decision-now [data-bz-decision-line="today"]{font-size:clamp(48px,20.5vw,210px)}
#borzilov-lp .bz-decision-now [data-bz-decision-line="now"]{font-size:clamp(52px,23.5vw,240px)}
@supports (font-size:1cqi){
  #borzilov-lp .bz-decision-now time{font-size:39.8cqi}
  #borzilov-lp .bz-decision-now [data-bz-decision-line="not-tomorrow"]{font-size:18.5cqi}
  #borzilov-lp .bz-decision-now [data-bz-decision-line="today"]{font-size:20.5cqi}
  #borzilov-lp .bz-decision-now [data-bz-decision-line="now"]{font-size:23.5cqi}
}

/* Keep sticky tied to the viewport rather than to the site root. `clip` prevents
   horizontal bleed without creating the scrolling ancestor that `hidden` creates. */
@supports (overflow:clip){
  #borzilov-lp{overflow-x:clip!important;overflow-y:visible!important}
}

/* Mobile owner restored after the decision-screen transfer: the postponement loop stays a full-width vertical composition. */
@media(max-width:700px){
  #borzilov-lp .bz-final-1945__inner{width:100%;padding:62px 20px 78px;box-sizing:border-box}
  #borzilov-lp .bz-final-1945__lead h2{font-size:46px}
  #borzilov-lp .bz-final-1945__echoes{margin-top:58px}
  #borzilov-lp .bz-final-1945__echo{display:block;padding:34px 0 38px}
  #borzilov-lp .bz-final-1945__echo>span{padding-top:0}
  #borzilov-lp .bz-final-1945__echo p{width:100%;margin-top:22px;font-size:31px}
  #borzilov-lp .bz-final-1945__echo p strong{font-size:1.72em}
  #borzilov-lp .bz-final-1945__noise{min-height:168px}
  #borzilov-lp .bz-final-1945__noise span{left:0;right:auto;font-size:22px}
  #borzilov-lp .bz-final-1945__bridge{display:block;padding-top:64px}
  #borzilov-lp .bz-final-1945__bridge p{font-size:38px}
  #borzilov-lp .bz-final-1945__bridge b{margin-top:42px;font-size:28px}
}

@media(max-width:700px){
  /* Mobile sticky owns 100lvh (0225 contract), so insert 8.5% of
     the legacy 490svh - 100lvh travel without changing earlier timing. */
  #borzilov-lp .bz-decision-now{min-height:calc(531.65svh - 8.5lvh)}
  #borzilov-lp .bz-decision-now__inner{width:100%;padding:58px 20px 68px}
  #borzilov-lp .bz-decision-now h2{margin-top:44px;font-size:clamp(42px,11.5vw,54px)}
  #borzilov-lp .bz-decision-now p{margin-top:30px}
}
@media(max-width:380px){
  #borzilov-lp .bz-decision-now__inner{padding-inline:18px}
}
@media(prefers-reduced-motion:reduce){
  #borzilov-lp .bz-decision-now{min-height:100svh}
  #borzilov-lp .bz-decision-now time .bz-cycle-sep{animation:none!important}
  #borzilov-lp .bz-decision-now time,
  #borzilov-lp .bz-decision-now time .bz-cycle-part,
  #borzilov-lp .bz-decision-now time .bz-cycle-sep,
  #borzilov-lp .bz-decision-now h2,
  #borzilov-lp .bz-decision-now p strong,
  #borzilov-lp .bz-decision-now p span{opacity:1!important;transform:none!important}
  #borzilov-lp .bz-decision-now p strong,
  #borzilov-lp .bz-decision-now p span{color:#fffdf8!important}
  #borzilov-lp .bz-decision-now p span:last-child{color:#ad6f50!important}
}

/* The 80-year calendar is the proof between the postponement loop and the live decision. */
#borzilov-lp .bz-life-calendar-stage{
  position:relative;
  width:100%;
  margin:0;
  padding:clamp(58px,6vw,92px) 0 clamp(64px,7vw,96px);
  overflow:hidden;
  background:#02090c;
  color:#fffdf8;
}
#borzilov-lp .bz-life-calendar-stage__chapter{
  width:min(1360px,100%);
  margin:0 auto;
}
#borzilov-lp .bz-life-calendar-stage__heading{
  width:min(1160px,calc(100% - 48px));
  margin:0 auto;
  padding-inline:clamp(24px,5vw,68px);
}
#borzilov-lp .bz-life-calendar-stage__heading{
  padding-bottom:clamp(32px,4vw,56px);
}
#borzilov-lp .bz-life-calendar-stage__heading h2{
  max-width:12ch;
  margin:0;
  color:#fffdf8;
  font-size:clamp(46px,6.6vw,94px);
  font-weight:850;
  line-height:.84;
  letter-spacing:-.067em;
}
#borzilov-lp .bz-life-calendar-stage__heading h2 span,
#borzilov-lp .bz-life-calendar-stage__heading h2 strong{
  display:block;
}
#borzilov-lp .bz-life-calendar-stage__heading h2 span{white-space:nowrap}
#borzilov-lp .bz-life-calendar-stage__heading h2 strong{
  margin-top:.08em;
  color:#ad6f50;
  font-size:.86em;
  font-weight:inherit;
}
#borzilov-lp .bz-life-calendar-stage__shell{
  width:min(1240px,calc(100% - 32px));
  margin:0 auto;
}

/* 0224 — BLACK DECISION -> WHITE OPERATIONAL HANDOFF.
   Exact scene grammar of RED -> BLACK, mirrored: the sticky black decision remains
   physically fixed while a full-viewport paper field gains opacity with scroll.
   After a short full-white hold, chapter 03 rises natively from the same paper field. */
#borzilov-lp .bz-decision-now__inner{
  --bz-decision-exit-light:0;
}
#borzilov-lp .bz-decision-white-dimmer{
  position:absolute;
  inset:0;
  z-index:20;
  background:#fbfaf7;
  opacity:var(--bz-decision-exit-light,0);
  pointer-events:none;
  will-change:opacity;
}
#borzilov-lp [data-bz-chapter03-start-sentinel]{
  position:relative;
  z-index:4;
  isolation:isolate;
  margin-top:0;
  padding-top:0;
  background:#fbfaf7;
}

@media(prefers-reduced-motion:reduce){
  #borzilov-lp .bz-decision-white-dimmer{display:none!important}
}


/* 0225 · physical Android viewport contract — same fix class as 0197.
   100svh is intentionally the SMALL viewport and can leave the live visible area
   uncovered after Android Chrome chrome collapses. The decision screen owns the
   large CSS viewport on mobile, so its white exit dimmer remains one continuous
   field with no lower black strip / island seam. JS does not own this height. */
@media(max-width:760px){
  #borzilov-lp .bz-decision-now__inner{
    height:100vh!important;
    min-height:100vh!important;
  }
}
@supports(height:100lvh){
  @media(max-width:760px){
    #borzilov-lp .bz-decision-now__inner{
      height:100lvh!important;
      min-height:100lvh!important;
    }
  }
}
