/* Load after lower-sections.css and finish.css. Only the founder and footer vary.
   Verified originals and phone provenance: assets/brand/portrait-footer-sources.json. */

/* A real cutout: no image background, crop, rectangular border or nameplate. */
.wbl-founder--open.learning-section {
  padding: 76px 0 0;
  background: #1c1822;
}
.wbl-founder--open .wbl-founder-grid.learning-grid {
  align-items: end;
  grid-template-columns: 1.17fr .83fr;
  gap: 58px;
}
.wbl-founder--open .learning-grid > .wbl-founder-copy {
  padding: 0 0 77px;
}
.wbl-founder--open .wbl-founder-visual {
  align-self: end;
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
}
.wbl-founder--open .wbl-founder-glow.knowledge-orbit {
  position: absolute;
  inset: 12% -9% 5%;
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: radial-gradient(ellipse, #8d3fc71d 0%, #792fb20b 45%, transparent 70%);
  box-shadow: none;
  pointer-events: none;
}
.wbl-founder--open .wbl-founder-figure {
  position: relative;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.wbl-founder--open .wbl-founder-photo {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 2 / 3;
  object-fit: contain;
  object-position: center bottom;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Three direct contacts, using the original Telegram and MAX artwork. */
.wbl-footer--personal .wbl-personal-contacts {
  grid-template-columns: .72fr 1.12fr 1.07fr 1.09fr;
  align-items: center;
  gap: 24px;
  padding: 30px 0;
}
.wbl-footer--personal .wbl-personal-contacts > .wbl-contact {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  min-height: 56px;
  padding: 3px 0;
  color: #f0e9f5;
  text-decoration: none;
  transition: color .25s, transform .25s;
}
.wbl-footer--personal .wbl-personal-contacts .wbl-contact-icon {
  display: block;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  object-fit: contain;
  filter: drop-shadow(0 4px 9px #0d081c45);
  transition: transform .3s, filter .3s;
}
.wbl-footer--personal .wbl-contact-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 4px;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
}
.wbl-footer--personal .wbl-contact-copy small {
  margin: 0;
  color: #b6a9c0;
  font-size: 11px;
  line-height: 1.5;
}
.wbl-footer--personal .wbl-contact-number {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.wbl-footer--personal .wbl-contact > .wbl-arrow {
  flex: 0 0 25px;
  width: 25px;
  height: 22px;
  margin-left: auto;
  color: #b792cb;
  transition: color .25s, transform .25s;
}
.wbl-footer--personal .wbl-contact:is(:hover, :focus-visible) {
  color: #fff;
  transform: translateY(-3px);
}
.wbl-footer--personal .wbl-contact:is(:hover, :focus-visible) .wbl-contact-copy > span {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.wbl-footer--personal .wbl-contact:is(:hover, :focus-visible) > .wbl-arrow {
  color: #edbdff;
  transform: translateX(5px);
}
.wbl-footer--personal .wbl-contact--telegram:is(:hover, :focus-visible) > img,
.wbl-footer--personal .wbl-contact--max:is(:hover, :focus-visible) > img {
  transform: scale(1.06);
}

/* The Intellect v04 ringing cadence and three outward waves are preserved. */
.wbl-footer--personal .wbl-phone-icon { color: #6fc23f; }
.wbl-footer--personal .wbl-contact--phone:is(:hover, :focus-visible) .wbl-phone-icon {
  color: #98dd64;
  filter: drop-shadow(0 0 4px #8bdf4b88);
}
.wbl-phone-handset { transform-origin: 10px 13px; }
.wbl-phone-waves path { opacity: 0; stroke-width: 1.4; }
.wbl-contact--phone:is(:hover, :focus-visible) .wbl-phone-handset {
  animation: wbl-phone-ring 1.5s ease-in-out infinite;
}
.wbl-contact--phone:is(:hover, :focus-visible) .wbl-phone-waves path {
  animation: wbl-phone-wave 1.5s ease-in-out infinite;
}
.wbl-contact--phone:is(:hover, :focus-visible) .wbl-phone-waves path:nth-child(2) { animation-delay: .16s; }
.wbl-contact--phone:is(:hover, :focus-visible) .wbl-phone-waves path:nth-child(3) { animation-delay: .32s; }
@keyframes wbl-phone-ring {
  0%, 35%, 100% { transform: rotate(0); }
  7%, 21% { transform: rotate(-5deg); }
  14%, 28% { transform: rotate(5deg); }
}
@keyframes wbl-phone-wave {
  0%, 65%, 100% { opacity: 0; }
  20%, 40% { opacity: .95; }
}

/* A quiet return link; no pill, tile or oversized standalone arrow. */
.wbl-footer--personal .wbl-footer-bottom > .wbl-back-top {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 2px 0;
  color: #c7b5d2;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
  text-decoration: none;
}
.wbl-footer--personal .wbl-back-top > svg {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: #ce9cea;
  transition: transform .28s, color .28s;
}
.wbl-footer--personal .wbl-back-top:is(:hover, :focus-visible) {
  color: #f7e9ff;
}
.wbl-footer--personal .wbl-back-top:is(:hover, :focus-visible) > span {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.wbl-footer--personal .wbl-back-top:is(:hover, :focus-visible) > svg {
  color: #fff;
  transform: translateY(-3px);
}
.wbl-footer--personal :is(.wbl-contact, .wbl-back-top):focus-visible {
  outline: 2px solid #d2a1f2;
  outline-offset: 6px;
  border-radius: 2px;
}

@media (max-width: 1100px) {
  .wbl-founder--open .wbl-founder-grid.learning-grid { gap: 38px; }
  .wbl-footer--personal .wbl-personal-contacts { grid-template-columns: .7fr 1.18fr 1.07fr 1.15fr; gap: 15px; }
  .wbl-footer--personal .wbl-personal-contacts > .wbl-contact { gap: 10px; }
  .wbl-footer--personal .wbl-contact-copy { font-size: 12px; }
  .wbl-footer--personal .wbl-contact > .wbl-arrow { flex-basis: 20px; width: 20px; }
}
@media (max-width: 900px) {
  .wbl-founder--open.learning-section { padding: 62px 0 0; }
  .wbl-founder--open .wbl-founder-grid.learning-grid { grid-template-columns: 1fr; gap: 28px; }
  .wbl-founder--open .learning-grid > .wbl-founder-copy { padding: 0; }
  .wbl-founder--open .wbl-founder-visual { max-width: 370px; }
  .wbl-footer--personal .wbl-personal-contacts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .wbl-footer--personal .wbl-personal-contacts > p { grid-column: 1 / -1; }
  .wbl-footer--personal .wbl-personal-contacts > p br { display: none; }
  .wbl-footer--personal .wbl-contact-copy { font-size: 12px; }
}
@media (min-width: 601px) and (max-width: 700px) {
  .wbl-footer--personal .wbl-personal-contacts { grid-template-columns: 1fr; gap: 12px; }
  .wbl-footer--personal .wbl-personal-contacts > .wbl-contact { min-height: 58px; }
  .wbl-footer--personal .wbl-contact-copy { font-size: 14px; }
}
@media (max-width: 600px) {
  .wbl-founder--open.learning-section { padding: 54px 0 0; }
  .wbl-founder--open .wbl-founder-grid.learning-grid { gap: 30px; }
  .wbl-founder--open .wbl-founder-visual { max-width: 310px; }
  .wbl-footer--personal .wbl-personal-contacts { grid-template-columns: 1fr; gap: 11px; padding: 27px 0; }
  .wbl-footer--personal .wbl-personal-contacts > p { margin-bottom: 8px; }
  .wbl-footer--personal .wbl-personal-contacts > .wbl-contact { gap: 16px; min-height: 63px; }
  .wbl-footer--personal .wbl-contact-copy { font-size: 14px; }
  .wbl-footer--personal .wbl-contact-copy small { font-size: 11px; }
  .wbl-footer--personal .wbl-contact > .wbl-arrow { flex-basis: 27px; width: 27px; }
  .wbl-footer--personal .wbl-footer-bottom > .wbl-back-top { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .wbl-footer--personal .wbl-contact,
  .wbl-footer--personal .wbl-contact-icon,
  .wbl-footer--personal .wbl-arrow,
  .wbl-footer--personal .wbl-back-top > svg { transition: none; }
  .wbl-footer--personal .wbl-contact:is(:hover, :focus-visible),
  .wbl-footer--personal .wbl-contact:is(:hover, :focus-visible) > .wbl-arrow,
  .wbl-footer--personal .wbl-contact:is(:hover, :focus-visible) > img,
  .wbl-footer--personal .wbl-back-top:is(:hover, :focus-visible) > svg { transform: none; }
  .wbl-contact--phone:is(:hover, :focus-visible) .wbl-phone-handset,
  .wbl-contact--phone:is(:hover, :focus-visible) .wbl-phone-waves path { animation: none; }
  .wbl-contact--phone:is(:hover, :focus-visible) .wbl-phone-waves path { opacity: .8; }
}
/* A deeper environment around the cutout, without framing the person. */
.wbl-founder.wbl-founder--open.learning-section{position:relative;isolation:isolate;padding:64px 0 0;background:radial-gradient(ellipse at 90% 30%,#42255355,transparent 56%),linear-gradient(115deg,#201a28,#15121d)}
.wbl-founder--open::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-radial-gradient(ellipse at 104% 73%,transparent 0 67px,#ba92e017 68px,transparent 69px 132px);mask-image:linear-gradient(90deg,transparent,#000 55%)}
.wbl-founder.wbl-founder--open .wbl-founder-grid.learning-grid{align-items:center;gap:48px}
.wbl-founder.wbl-founder--open .learning-grid>.wbl-founder-copy{padding:0 0 76px;align-self:center}
.wbl-founder.wbl-founder--open .wbl-founder-visual{max-width:420px;align-self:end}
.wbl-founder .wbl-founder-actions .wbl-text-link{color:#fff;min-height:60px;align-items:center;font-weight:300;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.wbl-founder p.wbl-kicker,.wbl-founder .wbl-title>span,.wbl-founder p.wbl-founder-lead{color:#fff}
.founder-timeline{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:34px 0 0;padding:0}
.founder-timeline li{position:relative;padding:0 8px 0 0;min-width:0}
.founder-timeline li::before{content:'';position:absolute;left:0;right:0;top:37px;height:1px;background:linear-gradient(90deg,#9e32e9,#49357e)}
.founder-timeline li::after{content:'';position:absolute;left:0;top:34px;width:7px;height:7px;background:#a83cf3;border:1px solid #dba5ff;box-sizing:border-box}
.founder-timeline li:last-child::before{right:calc(100% - 7px)}
.founder-timeline strong{display:block;color:#fff;font-size:23px;font-weight:300;letter-spacing:-.4px;line-height:1.25;margin-bottom:27px}
.founder-timeline span{display:block;font-size:11px;font-weight:300;line-height:1.6;color:#fff}
.wbl-footer--personal .wbl-footer-about>p,.wbl-footer--personal .wbl-footer-column>:is(a,button),.wbl-footer--personal .wbl-footer-column h3,.wbl-footer--personal .wbl-footer-connect>p,.wbl-footer--personal .wbl-footer-connect>p>span,.wbl-footer--personal .wbl-contact-copy small,.wbl-footer--personal .wbl-contact-copy,.wbl-footer--personal .wbl-back-top,.wbl-footer--personal .wbl-footer-bottom{color:#fff}
.wbl-footer--personal .wbl-arrow,.wbl-footer--personal .wbl-back-top>svg{color:#fff}
.wbl-footer--personal .wbl-brand-signature text{fill:#fff}
@media(max-width:1000px){.founder-timeline strong{font-size:21px}.founder-timeline span{font-size:10px}}
@media(max-width:900px){.wbl-founder.wbl-founder--open .learning-grid>.wbl-founder-copy{padding:0}.wbl-founder.wbl-founder--open .wbl-founder-grid.learning-grid{gap:35px}.wbl-founder.wbl-founder--open .wbl-founder-visual{max-width:350px}.founder-timeline span{font-size:12px}}
@media(max-width:480px){.wbl-founder.wbl-founder--open.learning-section{padding-top:50px}.founder-timeline{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.founder-timeline li:nth-child(3)::before{right:calc(100% - 7px)}.wbl-founder.wbl-founder--open .wbl-founder-visual{max-width:310px}}
