/* Biografia editorial: narrativa vertical, sem iframe e sem rolagem lateral. */
.internal-page--flavio { background:#005baa; }
.internal-page--flavio main { overflow:clip; }

.bio-cover {
  position:relative;
  isolation:isolate;
  width:100vw;
  height:calc(100svh - var(--site-header-total,120px));
  min-height:0;
  margin-top:var(--site-header-total,120px);
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 78% 25%,rgba(255,203,5,.28),transparent 24%),
    linear-gradient(125deg,#00488f 0%,#0068b8 56%,#008a68 120%);
}
.bio-cover::before {
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  pointer-events:none;
  background:url("/assets/brand-texture-v-blue.svg") center/cover no-repeat;
  opacity:.19;
  mix-blend-mode:screen;
}
.bio-cover__word {
  position:absolute;
  z-index:-1;
  top:4%;
  left:-.045em;
  color:rgba(255,255,255,.075);
  font-size:clamp(10rem,27vw,31rem);
  font-weight:900;
  line-height:.78;
  letter-spacing:-.1em;
  white-space:nowrap;
}
.bio-cover__copy {
  position:relative;
  z-index:3;
  width:min(58vw,900px);
  padding:clamp(54px,9vh,100px) 0 90px clamp(28px,7vw,130px);
}
.bio-kicker {
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#ffcb05;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.bio-kicker::before {
  width:40px;
  height:4px;
  content:"";
  background:linear-gradient(90deg,#12b24b 0 48%,#ffcb05 48% 72%,#fff 72%);
}
.bio-cover h1 {
  max-width:900px;
  margin:.28em 0 .22em;
  color:#fff;
  font-size:clamp(3.7rem,7.2vw,8.8rem);
  font-weight:900;
  line-height:.88;
  letter-spacing:-.075em;
  opacity:1 !important;
}
.bio-cover h1,
.bio-cover h1 br { color:#fff !important; }
.bio-cover h1 em {
  display:inline-block;
  color:#ffcb05;
  font-style:normal;
}
.bio-cover__copy > p {
  max-width:540px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:clamp(1rem,1.35vw,1.3rem);
}
.bio-cover__portrait {
  position:absolute;
  z-index:2;
  right:-2vw;
  top:28px;
  bottom:auto;
  width:min(49vw,820px);
  height:calc(100% - 28px);
  margin:0;
  pointer-events:none;
}
.bio-cover__portrait img {
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right bottom;
  filter:drop-shadow(-28px 26px 34px rgba(0,36,74,.26));
}
.bio-cover__halo {
  position:absolute;
  z-index:1;
  right:2%;
  top:9%;
  width:min(43vw,700px);
  aspect-ratio:1;
  border:clamp(22px,4vw,68px) solid rgba(255,203,5,.78);
  border-radius:50%;
}
.bio-cover__scroll {
  position:absolute;
  z-index:4;
  left:clamp(28px,7vw,130px);
  bottom:28px;
  display:flex;
  align-items:center;
  gap:14px;
  color:rgba(255,255,255,.72);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
}
.bio-cover__scroll:hover,
.bio-cover__scroll:focus-visible { color:#fff; }
.bio-cover__scroll:focus-visible {
  border-radius:4px;
  outline:3px solid #ffcb05;
  outline-offset:8px;
}
.bio-cover__scroll i {
  position:relative;
  width:72px;
  height:1px;
  overflow:hidden;
  background:rgba(255,255,255,.3);
}
.bio-cover__scroll i::after {
  position:absolute;
  inset:0;
  content:"";
  background:#ffcb05;
  transform:translateX(-100%);
  animation:bio-scroll-cue 1.7s ease-in-out infinite;
}

.bio-story {
  position:relative;
  background:#005baa;
}
.bio-story__chapters { position:relative; z-index:1; }
.bio-panel {
  --bio-bg:#005baa;
  --bio-ink:#fff;
  --bio-accent:#ffcb05;
  position:relative;
  display:flex;
  align-items:center;
  box-sizing:border-box;
  width:100vw;
  height:100svh;
  min-height:100svh;
  overflow:hidden;
  padding:calc(var(--site-header-total,120px) + clamp(30px,5vh,60px)) clamp(420px,46vw,800px) clamp(50px,8vh,90px) clamp(28px,7vw,130px);
  color:var(--bio-ink);
  background:var(--bio-bg);
}
.bio-panel--2 {
  --bio-bg:#07884b;
  --bio-ink:#fff;
  --bio-accent:#fff;
}
.bio-panel--3 {
  --bio-bg:#ffcb05;
  --bio-ink:#004f9e;
  --bio-accent:#004f9e;
}
.bio-panel::after {
  position:absolute;
  z-index:1;
  inset:0;
  content:"";
  pointer-events:none;
  background:linear-gradient(
    90deg,
    var(--bio-bg) 0%,
    color-mix(in srgb,var(--bio-bg) 96%,transparent) 42%,
    color-mix(in srgb,var(--bio-bg) 76%,transparent) 70%,
    color-mix(in srgb,var(--bio-bg) 54%,transparent) 100%
  );
}
.bio-panel:nth-child(even)::after {
  background:linear-gradient(
    270deg,
    var(--bio-bg) 0%,
    color-mix(in srgb,var(--bio-bg) 96%,transparent) 42%,
    color-mix(in srgb,var(--bio-bg) 76%,transparent) 70%,
    color-mix(in srgb,var(--bio-bg) 54%,transparent) 100%
  );
}
.bio-panel__background {
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--bio-focus-x,70%) var(--bio-focus-y,40%);
  filter:saturate(.92) contrast(1.03);
}
.bio-panel:nth-child(1) { --bio-focus-x:72%; --bio-focus-y:45%; }
.bio-panel:nth-child(2) { --bio-focus-x:30%; --bio-focus-y:38%; }
.bio-panel:nth-child(3) { --bio-focus-x:68%; --bio-focus-y:40%; }
.bio-panel:nth-child(4) { --bio-focus-x:32%; --bio-focus-y:42%; }
.bio-panel:nth-child(5) { --bio-focus-x:68%; --bio-focus-y:32%; }
.bio-panel:nth-child(6) { --bio-focus-x:31%; --bio-focus-y:38%; }
.bio-panel:nth-child(7) { --bio-focus-x:38%; --bio-focus-y:30%; }
.bio-panel:nth-child(8) { --bio-focus-x:36%; --bio-focus-y:38%; }
.bio-panel__copy {
  position:relative;
  z-index:3;
  width:min(100%,760px);
}
.bio-panel:nth-child(even) {
  justify-content:flex-end;
  padding-right:clamp(28px,7vw,130px);
  padding-left:clamp(420px,46vw,800px);
}
.bio-panel:nth-child(even) .bio-panel__copy {
  margin-left:auto;
  text-align:right;
}
.bio-panel:nth-child(even) .bio-panel__label { justify-content:flex-end; }
.bio-panel__label {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:clamp(25px,4vh,46px);
  color:var(--bio-accent);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.bio-panel__label::before {
  width:34px;
  height:4px;
  content:"";
  background:currentColor;
}
.bio-panel__copy p {
  margin:0;
  color:var(--bio-ink);
  font-size:clamp(1.2rem,1.72vw,1.86rem);
  font-weight:700;
  line-height:1.38;
  letter-spacing:-.027em;
}
.bio-panel__number {
  position:absolute;
  z-index:2;
  left:-.045em;
  bottom:-.18em;
  color:var(--bio-accent);
  font-size:clamp(17rem,31vw,37rem);
  font-weight:900;
  line-height:.78;
  letter-spacing:-.13em;
  opacity:.2;
}
.bio-panel:nth-child(even) .bio-panel__number {
  right:-.02em;
  left:auto;
}
.bio-panel__portrait {
  position:absolute;
  z-index:2;
  top:var(--site-header-total,120px);
  right:0;
  bottom:0;
  width:clamp(390px,43vw,760px);
  margin:0;
  pointer-events:none;
}
.bio-panel:nth-child(even) .bio-panel__portrait {
  right:auto;
  left:0;
}
.bio-panel__ring {
  position:absolute;
  z-index:0;
  right:-11%;
  top:10%;
  width:82%;
  aspect-ratio:1;
  border:clamp(18px,3vw,48px) solid color-mix(in srgb,var(--bio-accent) 34%,transparent);
  border-radius:50%;
}
.bio-panel:nth-child(even) .bio-panel__ring {
  right:auto;
  left:-11%;
}
.bio-panel__portrait--word .bio-panel__ring,
.bio-panel__portrait--brand .bio-panel__ring {
  display:none;
}
.bio-panel__portrait img {
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right bottom;
  filter:drop-shadow(-22px 22px 28px rgba(0,29,61,.2));
}
.bio-panel:nth-child(even) .bio-panel__portrait img {
  object-position:left bottom;
  transform:scaleX(-1);
}
.bio-panel__portrait--brand {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(48px,7vw,120px);
}
.bio-panel__portrait--brand img {
  position:relative;
  inset:auto;
  width:100%;
  height:auto;
  max-height:52vh;
  object-position:center;
  filter:drop-shadow(0 22px 32px rgba(0,29,61,.24));
}
.bio-panel:nth-child(even) .bio-panel__portrait--brand img {
  object-position:center;
  transform:none;
}
.bio-next {
  position:absolute;
  z-index:4;
  left:clamp(28px,7vw,130px);
  bottom:24px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--bio-accent);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-decoration:none;
  text-transform:uppercase;
}
.bio-panel:nth-child(even) .bio-next {
  right:clamp(28px,7vw,130px);
  left:auto;
}
.bio-next i {
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border:2px solid currentColor;
  border-radius:50%;
  font-size:1.2rem;
  font-style:normal;
  transition:transform .25s ease,background-color .25s ease,color .25s ease;
}
.bio-next:hover i,
.bio-next:focus-visible i {
  color:var(--bio-bg);
  background:var(--bio-accent);
  transform:translateY(5px);
}
.bio-next:focus-visible {
  border-radius:4px;
  outline:3px solid currentColor;
  outline-offset:6px;
}
.bio-panel__portrait--word {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(28px,4vw,70px);
}
.bio-panel__impact {
  position:relative;
  z-index:2;
  width:100%;
  color:var(--bio-accent);
  font-size:clamp(3.2rem,5.7vw,7rem);
  font-weight:900;
  line-height:.86;
  letter-spacing:-.075em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 18px 32px rgba(0,29,61,.2);
  overflow-wrap:normal;
}

.bio-milestones {
  position:relative;
  overflow:hidden;
  padding:clamp(90px,12vw,180px) clamp(28px,7vw,130px);
  color:#fff;
  background:#002f66;
}
.bio-milestones::before {
  position:absolute;
  right:-8vw;
  top:-18vw;
  width:44vw;
  aspect-ratio:1;
  border:7vw solid rgba(18,178,75,.13);
  border-radius:50%;
  content:"";
}
.bio-milestones__heading {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(160px,.45fr) 1.55fr;
  gap:30px;
  align-items:start;
}
.bio-milestones__heading span {
  color:#ffcb05;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.bio-milestones__heading h2 {
  max-width:970px;
  margin:0;
  color:#fff;
  font-size:clamp(3rem,6.4vw,7.5rem);
  line-height:.92;
  letter-spacing:-.065em;
}
.bio-milestones__grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(68px,10vw,140px);
  border-top:1px solid rgba(255,255,255,.25);
}
.bio-milestones__grid article {
  min-height:270px;
  padding:36px clamp(20px,3vw,48px) 30px 0;
  border-right:1px solid rgba(255,255,255,.2);
}
.bio-milestones__grid article + article { padding-left:clamp(20px,3vw,48px); }
.bio-milestones__grid strong {
  display:block;
  color:#ffcb05;
  font-size:clamp(3.4rem,6vw,7rem);
  line-height:.9;
  letter-spacing:-.07em;
}
.bio-milestones__grid span {
  display:block;
  margin-top:20px;
  color:#fff;
  font-size:1rem;
  font-weight:900;
  text-transform:uppercase;
}
.bio-milestones__grid p {
  max-width:320px;
  margin:12px 0 0;
  color:rgba(255,255,255,.7);
}
.bio-milestones__closing {
  position:relative;
  z-index:1;
  margin-top:clamp(80px,13vw,180px);
  color:#fff;
  font-size:clamp(4rem,11vw,13rem);
  font-weight:900;
  line-height:.8;
  letter-spacing:-.085em;
  white-space:nowrap;
}
.bio-milestones__closing em { color:#12b24b; font-style:normal; }

@keyframes bio-scroll-cue {
  0% { transform:translateX(-100%); }
  50%,100% { transform:translateX(100%); }
}
@keyframes bio-cover-depth {
  to { transform:translate3d(0,12vh,0) scale(1.08); }
}
@keyframes bio-copy-enter {
  from { opacity:.12; transform:translate3d(0,70px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes bio-number-drift {
  from { transform:translate3d(-7vw,10vh,0); }
  to { transform:translate3d(5vw,-7vh,0); }
}
@supports (animation-timeline:scroll()) {
  .bio-cover__portrait img {
    animation:bio-cover-depth linear both;
    animation-timeline:scroll(root);
    animation-range:0 100svh;
  }
}
@supports (animation-timeline:view()) {
  .bio-panel__copy {
    animation:bio-copy-enter linear both;
    animation-timeline:view();
    animation-range:entry 10% cover 43%;
  }
  .bio-panel__number {
    animation:bio-number-drift linear both;
    animation-timeline:view();
    animation-range:entry 0% exit 100%;
  }
}

@media (max-width:900px) {
  .bio-cover {
    width:100vw;
    height:calc(100svh - var(--site-header-total,116px));
    min-height:0;
    margin-top:var(--site-header-total,116px);
  }
  .bio-cover__word { top:9%; font-size:37vw; }
  .bio-cover__copy {
    width:100%;
    padding:6svh 24px 38svh;
  }
  .bio-cover h1 { max-width:94vw; font-size:clamp(3.3rem,15vw,6rem); }
  .bio-cover__copy > p { max-width:76vw; }
  .bio-cover__portrait {
    right:-12vw;
    width:94vw;
    top:18px;
    height:calc(100% - 18px);
  }
  .bio-cover__halo { right:-4%; top:3%; width:78vw; border-width:38px; }
  .bio-cover__scroll { left:24px; bottom:20px; }

  .bio-panel {
    width:100vw;
    height:100svh;
    min-height:100svh;
    align-items:flex-start;
    padding:calc(var(--site-header-total,116px) + 4svh) 24px 7svh;
  }
  .bio-panel:nth-child(even) {
    padding:calc(var(--site-header-total,116px) + 4svh) 24px 7svh;
  }
  .bio-panel::after {
    background:linear-gradient(
      90deg,
      var(--bio-bg) 0%,
      color-mix(in srgb,var(--bio-bg) 96%,transparent) 58%,
      color-mix(in srgb,var(--bio-bg) 68%,transparent) 100%
    );
  }
  .bio-panel:nth-child(even)::after {
    background:linear-gradient(
      270deg,
      var(--bio-bg) 0%,
      color-mix(in srgb,var(--bio-bg) 96%,transparent) 58%,
      color-mix(in srgb,var(--bio-bg) 68%,transparent) 100%
    );
  }
  .bio-panel__copy { z-index:3; width:88vw; }
  .bio-panel:nth-child(even) .bio-panel__copy { margin-left:auto; }
  .bio-panel__copy p {
    font-size:clamp(.94rem,3.9vw,1.14rem);
    line-height:1.4;
  }
  .bio-panel__number {
    left:-.03em;
    bottom:-.08em;
    font-size:51vw;
    opacity:.2;
  }
  .bio-panel__portrait {
    z-index:1;
    top:var(--site-header-total,116px);
    right:-13vw;
    width:76vw;
    height:calc(100% - var(--site-header-total,116px));
    opacity:.3;
  }
  .bio-panel:nth-child(even) .bio-panel__portrait {
    right:auto;
    left:-13vw;
  }
  .bio-panel__ring { border-width:24px; }
  .bio-panel__portrait--brand,
  .bio-panel__portrait--word { padding:20px; }
  .bio-panel__portrait--brand img { max-height:38vh; }
  .bio-panel__impact {
    font-size:clamp(2.35rem,10vw,4.5rem);
    line-height:.9;
    opacity:.88;
  }
  .bio-next {
    left:24px;
    bottom:18px;
  }
  .bio-panel:nth-child(even) .bio-next {
    right:24px;
    left:auto;
  }
  .bio-next span { display:none; }
  .bio-next i { width:42px; height:42px; }

  .bio-milestones { padding-inline:24px; }
  .bio-milestones__heading { grid-template-columns:1fr; }
  .bio-milestones__heading h2 { font-size:clamp(3.2rem,14vw,5.8rem); }
  .bio-milestones__grid { grid-template-columns:1fr; }
  .bio-milestones__grid article,
  .bio-milestones__grid article + article {
    min-height:0;
    padding:30px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.2);
  }
  .bio-milestones__closing {
    font-size:20vw;
    line-height:.9;
    white-space:normal;
  }
}

/* Efeitos progressivos ligados à estrutura atual da biografia. */
.bio-effects-ready .bio-cover__copy > * {
  opacity:0;
  filter:blur(9px);
  transform:translate3d(-42px,28px,0);
  transition:opacity .85s ease,filter .85s ease,transform .95s cubic-bezier(.2,.75,.2,1);
}
.bio-effects-ready.bio-intro-ready .bio-cover__copy > * {
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0);
}
.bio-effects-ready.bio-intro-ready .bio-cover__copy > :nth-child(2) { transition-delay:.12s; }
.bio-effects-ready.bio-intro-ready .bio-cover__copy > :nth-child(3) { transition-delay:.24s; }

.bio-effects-ready .bio-cover__portrait img {
  animation:none !important;
  will-change:transform;
  transform:translate3d(
    var(--bio-pointer-x,0px),
    calc(var(--bio-cover-y,0px) + var(--bio-pointer-y,0px)),
    0
  ) scale(var(--bio-cover-scale,1));
  transition:transform .22s ease-out;
}
.bio-effects-ready .bio-cover__word {
  will-change:transform;
  transform:translate3d(0,var(--bio-cover-word-y,0px),0);
}
.bio-effects-ready .bio-cover__halo {
  animation:bio-halo-float 7s ease-in-out infinite alternate;
}

.bio-effects-ready .bio-panel__background {
  will-change:transform,filter;
  transform:translate3d(0,var(--bio-bg-y,0px),0) scale(1.075);
  filter:saturate(.78) contrast(1.03) brightness(.82);
  transition:filter .8s ease;
}
.bio-effects-ready .bio-panel:nth-child(7) .bio-panel__background {
  transform:translate3d(clamp(48px,7vw,108px),var(--bio-bg-y,0px),0) scale(1.14);
}
.bio-effects-ready .bio-panel.is-active .bio-panel__background {
  filter:saturate(1) contrast(1.04) brightness(.94);
}
.bio-effects-ready .bio-panel__copy {
  animation:none !important;
  opacity:.04;
  filter:blur(10px);
  transform:translate3d(-76px,38px,0);
  transition:opacity .72s ease,filter .72s ease,transform .92s cubic-bezier(.16,.78,.2,1);
}
.bio-effects-ready .bio-panel:nth-child(even) .bio-panel__copy {
  transform:translate3d(76px,38px,0);
}
.bio-effects-ready .bio-panel.is-active .bio-panel__copy,
.bio-effects-ready .bio-panel:nth-child(even).is-active .bio-panel__copy {
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0);
}
.bio-effects-ready .bio-panel__label::before {
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .7s .28s cubic-bezier(.16,.78,.2,1);
}
.bio-effects-ready .bio-panel:nth-child(even) .bio-panel__label::before {
  transform-origin:right center;
}
.bio-effects-ready .bio-panel.is-active .bio-panel__label::before { transform:scaleX(1); }

.bio-effects-ready .bio-panel__number {
  animation:none !important;
  will-change:transform;
  transform:translate3d(var(--bio-number-x,0px),var(--bio-number-y,0px),0);
  transition:opacity .65s ease;
}
.bio-effects-ready .bio-panel.is-active .bio-panel__number { opacity:.27; }
.bio-effects-ready .bio-panel__portrait {
  will-change:transform;
  transform:translate3d(0,var(--bio-portrait-y,0px),0) scale(.94);
  opacity:.58;
  transition:opacity .8s ease,transform .95s cubic-bezier(.16,.78,.2,1);
}
.bio-effects-ready .bio-panel.is-active .bio-panel__portrait {
  opacity:1;
  transform:translate3d(0,var(--bio-portrait-y,0px),0) scale(1);
}
.bio-effects-ready .bio-panel__impact {
  filter:blur(7px);
  letter-spacing:-.095em;
  transform:scale(.88);
  transition:filter .8s ease,letter-spacing 1s ease,transform 1s cubic-bezier(.16,.78,.2,1);
}
.bio-effects-ready .bio-panel.is-active .bio-panel__impact {
  filter:blur(0);
  letter-spacing:-.075em;
  transform:scale(1);
}
.bio-title-word {
  display:inline-block;
  white-space:nowrap;
}
.bio-title-char {
  display:inline-block;
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,.62em,0) rotate(4deg) scale(.82);
  transform-origin:center bottom;
  transition:
    opacity .45s ease,
    filter .55s ease,
    transform .72s cubic-bezier(.16,.78,.2,1);
  transition-delay:calc(90ms + (var(--bio-char-index) * 24ms));
}
@media (max-width:700px) {
  .bio-effects-ready .bio-panel:nth-child(7) .bio-panel__background {
    transform:translate3d(22px,var(--bio-bg-y,0px),0) scale(1.08);
  }
}
.bio-panel.is-active .bio-title-char {
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) rotate(0) scale(1);
}

.bio-story-progress {
  --bio-story-progress:0;
  position:fixed;
  z-index:30;
  top:50%;
  left:18px;
  display:grid;
  width:14px;
  height:196px;
  opacity:0;
  pointer-events:none;
  transform:translate3d(-18px,-50%,0);
  transition:opacity .35s ease,transform .45s ease;
}
.bio-story-progress.is-visible { opacity:1; transform:translate3d(0,-50%,0); }
.bio-story-progress i {
  position:absolute;
  left:6px;
  top:4px;
  width:2px;
  height:188px;
  overflow:hidden;
  background:rgba(255,255,255,.28);
}
.bio-story-progress i::after {
  display:block;
  width:100%;
  height:100%;
  content:"";
  background:#ffcb05;
  transform:scaleY(var(--bio-story-progress));
  transform-origin:top center;
}
.bio-story-progress span { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:space-between; }
.bio-story-progress b {
  width:11px;
  height:11px;
  border:2px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:#005baa;
  box-shadow:0 0 0 3px rgba(0,45,94,.16);
  transition:background-color .3s ease,transform .3s ease,border-color .3s ease;
}
.bio-story-progress b.is-active { border-color:#ffcb05; background:#ffcb05; transform:scale(1.35); }

.bio-effects-ready .bio-milestones__heading,
.bio-effects-ready .bio-milestones__grid article,
.bio-effects-ready .bio-milestones__closing {
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,64px,0);
  transition:opacity .8s ease,filter .8s ease,transform .9s cubic-bezier(.16,.78,.2,1);
}
.bio-effects-ready .bio-milestones.is-visible .bio-milestones__heading,
.bio-effects-ready .bio-milestones.is-visible .bio-milestones__grid article,
.bio-effects-ready .bio-milestones.is-visible .bio-milestones__closing {
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0);
}
.bio-effects-ready .bio-milestones.is-visible .bio-milestones__grid article:nth-child(1) { transition-delay:.12s; }
.bio-effects-ready .bio-milestones.is-visible .bio-milestones__grid article:nth-child(2) { transition-delay:.24s; }
.bio-effects-ready .bio-milestones.is-visible .bio-milestones__grid article:nth-child(3) { transition-delay:.36s; }
.bio-effects-ready .bio-milestones.is-visible .bio-milestones__closing { transition-delay:.18s; }

@keyframes bio-halo-float {
  from { transform:translate3d(-8px,-4px,0) scale(.98); }
  to { transform:translate3d(10px,7px,0) scale(1.025); }
}

@media (max-width:900px) {
  .bio-story-progress { left:9px; height:164px; }
  .bio-story-progress i { height:156px; }
  .bio-effects-ready .bio-panel__copy { transform:translate3d(-42px,28px,0); }
  .bio-effects-ready .bio-panel:nth-child(even) .bio-panel__copy { transform:translate3d(42px,28px,0); }
  .bio-effects-ready .bio-panel.is-active .bio-panel__copy,
  .bio-effects-ready .bio-panel:nth-child(even).is-active .bio-panel__copy { transform:translate3d(0,0,0); }
}

/* Composição editorial própria para telas estreitas. */
@media (max-width:700px) {
  .bio-cover__copy {
    width:100%;
    padding:4svh 22px 0;
  }
  .bio-cover h1 {
    max-width:100%;
    margin:.3em 0 .2em;
    font-size:clamp(2.65rem,11.2vw,3.7rem);
    line-height:.86;
  }
  .bio-cover__copy > p {
    max-width:88vw;
    font-size:.92rem;
    line-height:1.35;
  }
  .bio-cover__portrait {
    top:44%;
    right:-12vw;
    width:102vw;
    height:58%;
  }
  .bio-cover__portrait img { object-position:center top; }
  .bio-cover__halo {
    top:45%;
    right:-8vw;
    width:74vw;
    border-width:30px;
  }
  .bio-cover__scroll { z-index:5; }

  .bio-panel,
  .bio-panel:nth-child(even) {
    display:block;
    padding:0;
  }
  .bio-panel::after,
  .bio-panel:nth-child(even)::after {
    background:
      linear-gradient(180deg,
        color-mix(in srgb,var(--bio-bg) 96%,transparent) 0%,
        color-mix(in srgb,var(--bio-bg) 84%,transparent) 34%,
        color-mix(in srgb,var(--bio-bg) 22%,transparent) 62%,
        color-mix(in srgb,var(--bio-bg) 76%,transparent) 100%),
      linear-gradient(90deg,
        color-mix(in srgb,var(--bio-bg) 88%,transparent) 0%,
        color-mix(in srgb,var(--bio-bg) 48%,transparent) 70%,
        color-mix(in srgb,var(--bio-bg) 24%,transparent) 100%);
  }
  .bio-panel__background,
  .bio-effects-ready .bio-panel__background,
  .bio-effects-ready .bio-panel:nth-child(7) .bio-panel__background {
    inset:auto 0 0;
    height:68svh;
    transform:translate3d(0,var(--bio-bg-y,0px),0) scale(1.06);
  }
  .bio-panel:nth-child(1) { --bio-focus-x:88%; --bio-focus-y:50%; }
  .bio-panel:nth-child(2) { --bio-focus-x:24%; --bio-focus-y:50%; }
  .bio-panel:nth-child(3) { --bio-focus-x:62%; --bio-focus-y:50%; }
  .bio-panel:nth-child(4) { --bio-focus-x:25%; --bio-focus-y:50%; }
  .bio-panel:nth-child(5) { --bio-focus-x:77%; --bio-focus-y:50%; }
  .bio-panel:nth-child(6) { --bio-focus-x:24%; --bio-focus-y:50%; }
  .bio-panel:nth-child(7) { --bio-focus-x:43%; --bio-focus-y:50%; }
  .bio-panel:nth-child(8) { --bio-focus-x:39%; --bio-focus-y:50%; }
  .bio-panel:nth-child(even)::after {
    background:
      linear-gradient(180deg,
        color-mix(in srgb,var(--bio-bg) 96%,transparent) 0%,
        color-mix(in srgb,var(--bio-bg) 84%,transparent) 34%,
        color-mix(in srgb,var(--bio-bg) 22%,transparent) 62%,
        color-mix(in srgb,var(--bio-bg) 76%,transparent) 100%),
      linear-gradient(270deg,
        color-mix(in srgb,var(--bio-bg) 88%,transparent) 0%,
        color-mix(in srgb,var(--bio-bg) 48%,transparent) 70%,
        color-mix(in srgb,var(--bio-bg) 24%,transparent) 100%);
  }
  .bio-panel__copy,
  .bio-panel:nth-child(even) .bio-panel__copy {
    position:absolute;
    z-index:4;
    top:calc(var(--site-header-total,116px) + 24px);
    right:22px;
    left:22px;
    width:auto;
    margin:0;
  }
  .bio-panel__label {
    gap:9px;
    margin-bottom:14px;
    font-size:.66rem;
    letter-spacing:.16em;
  }
  .bio-panel__label::before { width:28px; height:3px; }
  .bio-panel__copy p {
    font-size:clamp(.82rem,3.45vw,.98rem);
    line-height:1.32;
    letter-spacing:-.018em;
  }
  .bio-panel__portrait,
  .bio-panel:nth-child(even) .bio-panel__portrait {
    z-index:4;
    top:auto;
    right:22px;
    bottom:76px;
    left:22px;
    width:auto;
    height:auto;
    padding:0;
    opacity:1;
  }
  .bio-panel:nth-child(odd) .bio-panel__portrait { align-items:flex-end; justify-content:flex-end; }
  .bio-panel:nth-child(even) .bio-panel__portrait { align-items:flex-end; justify-content:flex-start; }
  .bio-panel__impact {
    width:min(88vw,340px);
    color:var(--bio-accent);
    font-size:clamp(2.5rem,11.8vw,3.7rem);
    line-height:.84;
    letter-spacing:-.072em;
    text-align:right;
    text-shadow:0 8px 22px color-mix(in srgb,var(--bio-bg) 68%,transparent);
  }
  .bio-panel:nth-child(even) .bio-panel__impact { text-align:left; }
  .bio-panel__number,
  .bio-panel:nth-child(even) .bio-panel__number {
    right:auto;
    bottom:-.04em;
    left:-.06em;
    font-size:48vw;
    opacity:.13;
  }
  .bio-panel:nth-child(even) .bio-panel__number { right:-.01em; left:auto; }
  .bio-next,
  .bio-panel:nth-child(even) .bio-next {
    right:auto;
    bottom:18px;
    left:22px;
  }
  .bio-panel:nth-child(even) .bio-next { right:22px; left:auto; }
  .bio-next i { width:44px; height:44px; background:color-mix(in srgb,var(--bio-bg) 76%,transparent); }
  .bio-story-progress { display:none; }
}
