/* =========================================================
BANANABOY — ABOUT PAGE
ISOLATED / RESPONSIVE / NO OVERLAP
========================================================= */
/* =========================================================
ABOUT VARIABLES
========================================================= */
.bb-about-page  {
  --about-yellow: #fcf705;
  --about-blue: #07b0f1;
  --about-black: #111111;
  --about-white: #ffffff;
  --about-pink: #ff69b4;
  }
/* =========================================================
PAGE RESET
========================================================= */
.bb-about-page,
.bb-about-page *  {
  box-sizing: border-box;
  }
.bb-about-page  {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background: var(--about-white);
  color: var(--about-black);
  font-family: "Space Grotesk", sans-serif;
  }
.bb-about-page img  {
  max-width: 100%;
  height: auto;
  }
.bb-about-page a  {
  color: inherit;
  text-decoration: none;
  }
.bb-about-page h1,
.bb-about-page h2,
.bb-about-page h3,
.bb-about-page p,
.bb-about-page blockquote  {
  margin-top: 0;
  }
/* =========================================================
HEADER
Explicitly scoped so style.css cannot easily override it.
========================================================= */
.bb-about-page .bb-header  {
  position: relative;
  width: 100%;
  z-index: 1000;
  margin: 0;
  padding: 0;
  background: transparent;
  }
.bb-about-page .bb-header-inner  {
  width: 100%;
  max-width: none;
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding:
  20px
  clamp(5%, 6vw, 8%);
  }
.bb-about-page .bb-logo  {
  position: relative;
  z-index: 1002;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  }
.bb-about-page .bb-logo img  {
  display: block;
  width: auto;
  max-width: 180px;
  max-height: 65px;
  object-fit: contain;
  }
.bb-about-page .bb-nav  {
  position: relative;
  z-index: 1001;
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  }
.bb-about-page .bb-nav a  {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: none !important;
  min-height: 40px;
  margin: 0;
  padding: 9px 12px;
  background: transparent;
  color: var(--about-black);
  border: 0;
  font-family:
  "DM Mono",
  monospace;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
  white-space: nowrap;
  transition:
  color .2s ease,
  transform .2s ease,
  background .2s ease;
  }
.bb-about-page .bb-nav a:hover  {
  color: var(--about-blue);
  transform: translateY(-2px);
  }
.bb-about-page .bb-nav a.active  {
  color: var(--about-blue);
  }
.bb-about-page .bb-nav .bb-nav-cta  {
  margin-left: 8px;
  padding:
  13px
  17px;
  background: var(--about-black);
  color: var(--about-yellow);
  border:
  2px
  solid
  var(--about-black);
  box-shadow:
  5px
  5px
  0
  var(--about-blue);
  }
.bb-about-page .bb-nav .bb-nav-cta:hover  {
  color: var(--about-yellow);
  transform:
  translate(
  3px,
  3px
  );
  box-shadow:
  2px
  2px
  0
  var(--about-blue);
  }
/* =========================================================
HERO
========================================================= */
.bb-about-page .bb-about-hero  {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-height: 760px;
  display: grid;
  grid-template-columns:
  minmax(0, 1.05fr)
  minmax(320px, .95fr);
  align-items: center;
  gap:
  clamp(
  40px,
  7vw,
  100px
  );
  margin: 0;
  padding:
  clamp(100px, 11vw, 170px)
  clamp(5%, 8vw, 10%)
  clamp(80px, 8vw, 120px);
  background: var(--about-yellow);
  overflow: hidden;
  }
.bb-about-page .bb-about-hero-content  {
  position: relative;
  z-index: 5;
  width: 100%;
  max-width: 850px;
  min-width: 0;
  }
.bb-about-page .bb-about-hero-circle  {
  position: absolute;
  z-index: 1;
  width:
  clamp(
  250px,
  35vw,
  650px
  );
  aspect-ratio: 1;
  right: -12%;
  top: -25%;
  border-radius: 50%;
  background: var(--about-blue);
  opacity: .85;
  pointer-events: none;
  }
.bb-about-page .bb-about-hero-star  {
  position: absolute;
  z-index: 2;
  right: 7%;
  bottom: 8%;
  font-size:
  clamp(
  3rem,
  6vw,
  7rem
  );
  line-height: 1;
  pointer-events: none;
  }
.bb-about-page .bb-about-hero-intro  {
  position: relative;
  z-index: 6;
  display: block;
  width: 100%;
  max-width: 650px;
  margin:
  0
  0
  25px;
  padding: 0;
  color: var(--about-black);
  font-family:
  "DM Mono",
  monospace;
  font-size:
  clamp(
  .75rem,
  1.2vw,
  1rem
  );
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.5;
  }
.bb-about-page .bb-about-hero-title  {
  position: relative;
  z-index: 5;
  width: 100%;
  max-width: 850px;
  margin: 0;
  padding: 0;
  color: var(--about-black);
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  4rem,
  8vw,
  9rem
  );
  font-weight: 900;
  line-height: .8;
  letter-spacing: -.07em;
  overflow-wrap: break-word;
  }
.bb-about-page .bb-about-hero-title span  {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: var(--about-blue);
  text-shadow:
  7px
  7px
  0
  var(--about-black);
  transform: rotate(-2deg);
  }
.bb-about-page .bb-about-hero-title em  {
  display: block;
  margin:
  28px
  0
  0;
  color: var(--about-black);
  font-family:
  "DM Mono",
  monospace;
  font-size:
  clamp(
  .9rem,
  1.7vw,
  1.4rem
  );
  font-style: normal;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
  }
.bb-about-page .bb-about-scroll  {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  margin-top: 35px;
  padding:
  14px
  20px;
  background: var(--about-black);
  color: var(--about-yellow);
  border:
  3px
  solid
  var(--about-black);
  box-shadow:
  7px
  7px
  0
  var(--about-blue);
  font-family:
  "DM Mono",
  monospace;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
  transition:
  transform .25s ease,
  box-shadow .25s ease;
  }
.bb-about-page .bb-about-scroll:hover  {
  color: var(--about-yellow);
  transform:
  translate(
  4px,
  4px
  );
  box-shadow:
  3px
  3px
  0
  var(--about-blue);
  }
/* =========================================================
HERO PHOTO
========================================================= */
.bb-about-page .bb-about-hero-photo  {
  position: relative;
  z-index: 5;
  width: 100%;
  max-width: 520px;
  justify-self: center;
  margin: 0;
  transform: rotate(-3deg);
  }
.bb-about-page .bb-about-photo-frame  {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border:
  6px
  solid
  var(--about-black);
  background: var(--about-blue);
  box-shadow:
  25px
  25px
  0
  var(--about-black);
  }
.bb-about-page .bb-about-photo-frame img  {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter:
  saturate(1.1)
  contrast(1.03);
  transition:
  transform .7s
  cubic-bezier(
  .16,
  1,
  .3,
  1
  );
  }
.bb-about-page
.bb-about-hero-photo:hover
.bb-about-photo-frame img  {
  transform:
  scale(1.06)
  rotate(2deg);
  }
.bb-about-page .bb-about-photo-label  {
  position: absolute;
  left: -25px;
  top: 30px;
  z-index: 10;
  padding:
  12px
  16px;
  background: var(--about-white);
  color: var(--about-black);
  border:
  4px
  solid
  var(--about-black);
  box-shadow:
  5px
  5px
  0
  var(--about-blue);
  font-family:
  "DM Mono",
  monospace;
  font-size: .7rem;
  font-weight: 900;
  line-height: 1.2;
  transform: rotate(-8deg);
  }
.bb-about-page .bb-about-photo-sticker  {
  position: absolute;
  right: -25px;
  bottom: 35px;
  z-index: 10;
  width: 110px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  text-align: center;
  border:
  4px
  solid
  var(--about-black);
  border-radius: 50%;
  background: var(--about-pink);
  color: var(--about-black);
  font-family:
  "Archivo Black",
  sans-serif;
  font-size: .75rem;
  line-height: 1.05;
  transform: rotate(10deg);
  animation:
  bbAboutFloat
  4s
  infinite
  ease-in-out;
  }
.bb-about-page .bb-about-floating-banana  {
  position: absolute;
  z-index: 2;
  right: 25%;
  bottom: 5%;
  width:
  clamp(
  100px,
  12vw,
  180px
  );
  font-size:
  clamp(
  5rem,
  10vw,
  10rem
  );
  line-height: 1;
  pointer-events: none;
  opacity: .8;
  filter:
  drop-shadow(
  10px
  12px
  0
  rgba(
  0,
  0,
  0,
  .18
  )
  );
  }
.bb-about-page .bb-about-handwritten  {
  position: absolute;
  right: 5%;
  top: 18%;
  z-index: 4;
  color: var(--about-black);
  font-family:
  "DM Mono",
  monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  transform: rotate(-8deg);
  pointer-events: none;
  }
/* =========================================================
MARQUEE
========================================================= */
.bb-about-page .bb-about-marquee  {
  position: relative;
  width: 100%;
  margin: 0;
  padding:
  18px
  0;
  overflow: hidden;
  background: var(--about-black);
  color: var(--about-yellow);
  }
.bb-about-page .bb-about-marquee-track  {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 30px;
  white-space: nowrap;
  animation:
  bbAboutMarquee
  25s
  linear
  infinite;
  }
.bb-about-page .bb-about-marquee-track span  {
  flex: 0 0 auto;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  1.4rem,
  3vw,
  2.5rem
  );
  line-height: 1;
  }
/* =========================================================
SECTION LABEL
========================================================= */
.bb-about-page .bb-section-label  {
  margin:
  0
  0
  20px;
  color: var(--about-black);
  font-family:
  "DM Mono",
  monospace;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
  }
/* =========================================================
STORY
========================================================= */
.bb-about-page .bb-about-story  {
  width: 100%;
  display: grid;
  grid-template-columns:
  minmax(0, .8fr)
  minmax(0, 1.2fr);
  gap:
  clamp(
  50px,
  8vw,
  120px
  );
  margin: 0;
  padding:
  clamp(
  90px,
  10vw,
  160px
  )
  clamp(
  5%,
  8vw,
  10%
  );
  background: var(--about-white);
  }
.bb-about-page .bb-about-story-left,
.bb-about-page .bb-about-story-right  {
  min-width: 0;
  }
.bb-about-page .bb-about-story-left h2  {
  margin: 0;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  3.5rem,
  7vw,
  8rem
  );
  line-height: .78;
  letter-spacing: -.06em;
  overflow-wrap: break-word;
  }
.bb-about-page .bb-about-story-left h2 span  {
  display: block;
  color: var(--about-blue);
  }
.bb-about-page .bb-about-story-right
.bb-about-lead  {
  margin:
  0
  0
  30px;
  font-size:
  clamp(
  1.7rem,
  3.5vw,
  3rem
  );
  line-height: 1.1;
  font-weight: 700;
  }
.bb-about-page .bb-about-story-right > p  {
  max-width: 700px;
  margin:
  0
  0
  25px;
  font-size: 1rem;
  line-height: 1.75;
  }
.bb-about-page .bb-about-quote  {
  max-width: 700px;
  margin:
  40px
  0
  0;
  padding:
  clamp(
  25px,
  4vw,
  45px
  );
  background: var(--about-yellow);
  border:
  4px
  solid
  var(--about-black);
  box-shadow:
  10px
  10px
  0
  var(--about-blue);
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  1.3rem,
  2.5vw,
  2rem
  );
  line-height: 1.1;
  }
/* =========================================================
PHOTO BREAK
========================================================= */
.bb-about-page .bb-about-photo-break  {
  position: relative;
  width: 100%;
  min-height: 600px;
  display: flex;
  align-items: flex-end;
  margin: 0;
  overflow: hidden;
  background: var(--about-black);
  }
.bb-about-page .bb-about-photo-break img  {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  }
.bb-about-page .bb-about-photo-break::after  {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
  linear-gradient(
  to top,
  rgba(
  0,
  0,
  0,
  .75
  ),
  rgba(
  0,
  0,
  0,
  .05
  )
  );
  pointer-events: none;
  }
.bb-about-page .bb-about-photo-break-caption  {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 8%;
  color: var(--about-white);
  }
.bb-about-page .bb-about-photo-break-caption strong  {
  display: block;
  max-width: 1000px;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  3.5rem,
  9vw,
  9rem
  );
  line-height: .78;
  letter-spacing: -.06em;
  }
.bb-about-page .bb-about-photo-break-caption span  {
  display: block;
  margin-top: 25px;
  font-family:
  "DM Mono",
  monospace;
  font-size: .75rem;
  letter-spacing: .08em;
  }
.bb-about-page
.bb-about-photo-break
.bb-about-photo-sticker  {
  right: 7%;
  top: 10%;
  bottom: auto;
  }
/* =========================================================
SKILLS
========================================================= */
.bb-about-page .bb-about-skills  {
  width: 100%;
  display: grid;
  grid-template-columns:
  minmax(0, .75fr)
  minmax(0, 1.25fr);
  gap:
  clamp(
  50px,
  8vw,
  100px
  );
  margin: 0;
  padding:
  clamp(
  90px,
  10vw,
  160px
  )
  clamp(
  5%,
  8vw,
  10%
  );
  background: var(--about-yellow);
  }
.bb-about-page .bb-about-skills-header,
.bb-about-page .bb-about-skills-list  {
  min-width: 0;
  }
.bb-about-page .bb-about-skills-header h2  {
  margin:
  0
  0
  35px;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  3.5rem,
  7vw,
  8rem
  );
  line-height: .78;
  letter-spacing: -.06em;
  overflow-wrap: break-word;
  }
.bb-about-page .bb-about-skills-header h2 span  {
  color: var(--about-blue);
  }
.bb-about-page .bb-about-skills-header > p  {
  max-width: 500px;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.7;
  }
.bb-about-page .bb-about-skills-list  {
  width: 100%;
  border-top:
  3px
  solid
  var(--about-black);
  }
.bb-about-page .bb-about-skill  {
  width: 100%;
  display: grid;
  grid-template-columns:
  45px
  minmax(140px, .8fr)
  minmax(0, 1fr)
  40px;
  align-items: center;
  gap: 20px;
  min-height: 130px;
  padding:
  25px
  0;
  border-bottom:
  3px
  solid
  var(--about-black);
  transition:
  padding .3s ease,
  background .3s ease;
  }
.bb-about-page .bb-about-skill:hover  {
  padding-left: 15px;
  padding-right: 15px;
  background: var(--about-blue);
  }
.bb-about-page .bb-about-skill > span  {
  font-family:
  "DM Mono",
  monospace;
  font-size: .75rem;
  font-weight: 700;
  }
.bb-about-page .bb-about-skill h3  {
  margin: 0;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  1.1rem,
  1.8vw,
  1.5rem
  );
  line-height: 1;
  }
.bb-about-page .bb-about-skill p  {
  margin: 0;
  font-size: .9rem;
  line-height: 1.5;
  }
.bb-about-page .bb-about-skill b  {
  font-size: 2rem;
  text-align: center;
  transition:
  transform .3s ease;
  }
.bb-about-page .bb-about-skill:hover b  {
  transform: rotate(45deg);
  }
/* =========================================================
PERSONAL
========================================================= */
.bb-about-page .bb-about-personal  {
  width: 100%;
  display: grid;
  grid-template-columns:
  minmax(0, 1fr)
  minmax(0, 1fr);
  margin: 0;
  background: var(--about-black);
  color: var(--about-white);
  }
.bb-about-page .bb-about-personal-image  {
  position: relative;
  width: 100%;
  min-height: 650px;
  overflow: hidden;
  }
.bb-about-page .bb-about-personal-image img  {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  }
.bb-about-page .bb-about-personal-label  {
  position: absolute;
  left: 40px;
  bottom: 40px;
  z-index: 3;
  max-width:
  calc(
  100% - 80px
  );
  padding:
  14px
  18px;
  background: var(--about-yellow);
  color: var(--about-black);
  border:
  4px
  solid
  var(--about-black);
  box-shadow:
  7px
  7px
  0
  var(--about-blue);
  font-family:
  "DM Mono",
  monospace;
  font-size: .7rem;
  font-weight: 900;
  line-height: 1.2;
  transform: rotate(-4deg);
  }
.bb-about-page .bb-about-personal-content  {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:
  clamp(
  70px,
  8vw,
  130px
  );
  }
.bb-about-page .bb-about-personal-content .bb-section-label  {
  color: var(--about-white);
  }
.bb-about-page .bb-about-personal-content h2  {
  margin:
  0
  0
  40px;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  3.5rem,
  7vw,
  7rem
  );
  line-height: .78;
  letter-spacing: -.06em;
  }
.bb-about-page .bb-about-personal-content h2 span  {
  color: var(--about-blue);
  }
.bb-about-page .bb-about-personal-content > p  {
  max-width: 600px;
  margin:
  0
  0
  22px;
  font-size: 1rem;
  line-height: 1.7;
  opacity: .9;
  }
.bb-about-page .bb-about-personal-tags  {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 25px;
  }
.bb-about-page .bb-about-personal-tags span  {
  padding:
  10px
  13px;
  background: var(--about-white);
  color: var(--about-black);
  font-family:
  "DM Mono",
  monospace;
  font-size: .65rem;
  font-weight: 700;
  transition:
  transform .2s ease,
  background .2s ease;
  }
.bb-about-page .bb-about-personal-tags span:hover  {
  transform:
  translateY(-4px)
  rotate(-2deg);
  background: var(--about-yellow);
  }
/* =========================================================
NUMBERS
========================================================= */
.bb-about-page .bb-about-numbers  {
  width: 100%;
  margin: 0;
  padding:
  clamp(
  90px,
  10vw,
  150px
  )
  clamp(
  5%,
  8vw,
  10%
  );
  background: var(--about-white);
  }
.bb-about-page .bb-about-number-heading  {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 60px;
  }
.bb-about-page .bb-about-number-heading h2  {
  margin: 0;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  3.5rem,
  7vw,
  8rem
  );
  line-height: .78;
  letter-spacing: -.06em;
  }
.bb-about-page .bb-about-number-heading h2 span  {
  color: var(--about-blue);
  }
.bb-about-page .bb-about-number-grid  {
  width: 100%;
  display: grid;
  grid-template-columns:
  repeat(
  4,
  minmax(0, 1fr)
  );
  gap: 20px;
  }
.bb-about-page .bb-about-number-card  {
  min-width: 0;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px;
  border:
  4px
  solid
  var(--about-black);
  background: var(--about-yellow);
  box-shadow:
  8px
  8px
  0
  var(--about-black);
  }
.bb-about-page
.bb-about-number-card:nth-child(even)  {
  background: var(--about-blue);
  }
.bb-about-page .bb-about-number-card strong  {
  display: block;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  3rem,
  5vw,
  5rem
  );
  line-height: .8;
  }
.bb-about-page .bb-about-number-card span  {
  font-family:
  "DM Mono",
  monospace;
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.3;
  }
/* =========================================================
PHILOSOPHY
========================================================= */
.bb-about-page .bb-about-philosophy  {
  position: relative;
  width: 100%;
  min-height: 650px;
  display: flex;
  align-items: center;
  margin: 0;
  padding:
  clamp(
  100px,
  12vw,
  180px
  )
  clamp(
  5%,
  8vw,
  10%
  );
  overflow: hidden;
  background: var(--about-blue);
  }
.bb-about-page .bb-about-philosophy-inner  {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 900px;
  min-width: 0;
  }
.bb-about-page .bb-about-philosophy-inner .bb-section-label  {
  color: var(--about-black);
  }
.bb-about-page .bb-about-philosophy-inner h2  {
  margin:
  0
  0
  40px;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  4rem,
  10vw,
  12rem
  );
  line-height: .72;
  letter-spacing: -.08em;
  overflow-wrap: break-word;
  }
.bb-about-page
.bb-about-philosophy-inner
h2 span  {
  color: var(--about-yellow);
  text-shadow:
  7px
  7px
  0
  var(--about-black);
  }
.bb-about-page .bb-about-philosophy-inner p  {
  max-width: 650px;
  margin:
  0
  0
  20px;
  font-size:
  clamp(
  1rem,
  1.5vw,
  1.15rem
  );
  line-height: 1.65;
  }
.bb-about-page .bb-about-black-button  {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  margin-top: 25px;
  padding:
  17px
  24px;
  background: var(--about-black);
  color: var(--about-yellow);
  border:
  3px
  solid
  var(--about-black);
  box-shadow:
  7px
  7px
  0
  var(--about-white);
  font-family:
  "DM Mono",
  monospace;
  font-size: .75rem;
  font-weight: 700;
  transition:
  transform .2s ease,
  box-shadow .2s ease;
  }
.bb-about-page .bb-about-black-button:hover  {
  color: var(--about-yellow);
  transform:
  translate(
  3px,
  3px
  );
  box-shadow:
  3px
  3px
  0
  var(--about-white);
  }
.bb-about-page .bb-about-philosophy-shape  {
  position: absolute;
  right: -12%;
  bottom: -30%;
  z-index: 1;
  width:
  clamp(
  300px,
  45vw,
  700px
  );
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--about-yellow);
  opacity: .7;
  pointer-events: none;
  }
/* =========================================================
FINAL CTA
========================================================= */
.bb-about-page .bb-about-final-cta  {
  position: relative;
  width: 100%;
  min-height: 650px;
  display: flex;
  align-items: center;
  margin: 0;
  padding:
  clamp(
  90px,
  10vw,
  150px
  )
  clamp(
  5%,
  8vw,
  10%
  );
  background: var(--about-yellow);
  overflow: hidden;
  }
.bb-about-page .bb-about-final-content  {
  position: relative;
  z-index: 4;
  width: 100%;
  max-width: 1000px;
  min-width: 0;
  }
.bb-about-page .bb-about-final-content > span  {
  display: block;
  margin-bottom: 25px;
  font-family:
  "DM Mono",
  monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  }
.bb-about-page .bb-about-final-content h2  {
  margin: 0;
  font-family:
  "Archivo Black",
  sans-serif;
  font-size:
  clamp(
  4rem,
  9vw,
  10rem
  );
  line-height: .75;
  letter-spacing: -.08em;
  overflow-wrap: break-word;
  }
.bb-about-page
.bb-about-final-content
h2 span  {
  display: block;
  color: var(--about-blue);
  text-shadow:
  7px
  7px
  0
  var(--about-black);
  }
.bb-about-page .bb-about-final-content p  {
  max-width: 600px;
  margin:
  40px
  0
  0;
  font-size:
  clamp(
  1rem,
  1.5vw,
  1.2rem
  );
  line-height: 1.6;
  }
.bb-about-page .bb-about-final-banana  {
  position: absolute;
  z-index: 2;
  right: -5%;
  bottom: -10%;
  width:
  clamp(
  250px,
  35vw,
  600px
  );
  font-size:
  clamp(
  12rem,
  25vw,
  30rem
  );
  line-height: 1;
  pointer-events: none;
  opacity: .6;
  }
/* =========================================================
FOOTER
========================================================= */
.bb-about-page .bb-footer  {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--about-black);
  color: var(--about-white);
  }
.bb-about-page .bb-footer-inner  {
  width: 100%;
  max-width: none;
  margin: 0;
  padding:
  70px
  clamp(5%, 8vw, 10%)
  30px;
  }
.bb-about-page .bb-footer-brand img  {
  display: block;
  width: auto;
  max-width: 170px;
  margin-bottom: 20px;
  }
.bb-about-page .bb-footer-brand p  {
  max-width: 350px;
  margin: 0;
  color: rgba(
  255,
  255,
  255,
  .7
  );
  font-size: .9rem;
  line-height: 1.6;
  }
.bb-about-page .bb-footer-nav  {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 40px;
  }
.bb-about-page .bb-footer-nav a  {
  color: var(--about-white);
  font-family:
  "DM Mono",
  monospace;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  transition:
  color .2s ease,
  transform .2s ease;
  }
.bb-about-page .bb-footer-nav a:hover  {
  color: var(--about-yellow);
  transform:
  translateY(-2px);
  }
.bb-about-page .bb-footer-bottom  {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 50px;
  padding-top: 20px;
  border-top:
  1px
  solid
  rgba(
  255,
  255,
  255,
  .2
  );
  color: rgba(
  255,
  255,
  255,
  .55
  );
  font-family:
  "DM Mono",
  monospace;
  font-size: .65rem;
  }
/* =========================================================
ANIMATIONS
========================================================= */
@keyframes bbAboutFloat  {
  0%,
  100%  {
    transform:
    translateY(0)
    rotate(10deg);
    }
  50%  {
    transform:
    translateY(-12px)
    rotate(6deg);
    }
  }
@keyframes bbAboutMarquee  {
  from  {
    transform:
    translateX(0);
    }
  to  {
    transform:
    translateX(-50%);
    }
  }
/* =========================================================
LARGE TABLETS
========================================================= */
@media (max-width: 1100px)  {
  .bb-about-page .bb-nav  {
    gap: 5px;
    }
  .bb-about-page .bb-nav a  {
    padding:
    8px
    9px;
    }
  .bb-about-page .bb-about-hero  {
    grid-template-columns:
    minmax(0, 1fr)
    minmax(280px, .8fr);
    gap: 50px;
    }
  .bb-about-page .bb-about-story  {
    grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1.2fr);
    }
  .bb-about-page .bb-about-skills  {
    grid-template-columns: 1fr;
    gap: 70px;
    }
  .bb-about-page .bb-about-number-grid  {
    grid-template-columns:
    repeat(
    2,
    minmax(0, 1fr)
    );
    }
  }
/* =========================================================
TABLET
========================================================= */
@media (max-width: 850px)  {
  .bb-about-page .bb-header-inner  {
    min-height: 80px;
    padding:
    15px
    6%;
    }
  .bb-about-page .bb-logo img  {
    max-width: 150px;
    }
  .bb-about-page .bb-nav  {
    gap: 2px;
    }
  .bb-about-page .bb-nav a  {
    padding:
    8px
    7px;
    font-size: .65rem;
    }
  .bb-about-page .bb-nav .bb-nav-cta  {
    margin-left: 3px;
    padding:
    11px
    12px;
    }
  .bb-about-page .bb-about-hero  {
    grid-template-columns: 1fr;
    align-items: start;
    min-height: 0;
    padding-top: 100px;
    }
  .bb-about-page .bb-about-hero-photo  {
    width: min(
    78%,
    480px
    );
    margin:
    25px
    auto
    0;
    }
  .bb-about-page .bb-about-story  {
    grid-template-columns: 1fr;
    gap: 55px;
    }
  .bb-about-page .bb-about-personal  {
    grid-template-columns: 1fr;
    }
  .bb-about-page .bb-about-personal-image  {
    min-height: 600px;
    }
  .bb-about-page .bb-about-personal-content  {
    padding:
    80px
    6%;
    }
  .bb-about-page .bb-about-number-heading  {
    align-items: flex-start;
    flex-direction: column;
    }
  }
/* =========================================================
MOBILE
========================================================= */
@media (max-width: 700px)  {
  .bb-about-page  {
    overflow-x: hidden;
    }
  /* HEADER */
  .bb-about-page .bb-header  {
    position: relative;
    }
  .bb-about-page .bb-header-inner  {
    min-height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding:
    18px
    5%;
    }
  .bb-about-page .bb-logo  {
    justify-content: center;
    }
  .bb-about-page .bb-logo img  {
    max-width: 145px;
    }
  .bb-about-page .bb-nav  {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    }
  .bb-about-page .bb-nav a  {
    min-height: 34px;
    padding:
    7px
    6px;
    font-size: .58rem;
    }
  .bb-about-page .bb-nav .bb-nav-cta  {
    margin-left: 2px;
    padding:
    9px
    10px;
    }
  /* HERO */
  .bb-about-page .bb-about-hero  {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 35px;
    padding:
    80px
    6%
    80px;
    }
  .bb-about-page .bb-about-hero-circle  {
    width: 300px;
    right: -150px;
    top: -100px;
    }
  .bb-about-page .bb-about-hero-star  {
    right: 7%;
    bottom: 4%;
    font-size: 3rem;
    }
  .bb-about-page .bb-about-hero-intro  {
    font-size: .7rem;
    margin-bottom: 18px;
    }
  .bb-about-page .bb-about-hero-title  {
    width: 100%;
    font-size:
    clamp(
    3.7rem,
    18vw,
    6rem
    );
    line-height: .82;
    }
  .bb-about-page .bb-about-hero-title span  {
    text-shadow:
    4px
    4px
    0
    var(--about-black);
    }
  .bb-about-page .bb-about-hero-photo  {
    width: 82%;
    max-width: 380px;
    margin:
    25px
    auto
    0;
    transform: rotate(-2deg);
    }
  .bb-about-page .bb-about-photo-label  {
    left: -12px;
    padding:
    9px
    12px;
    font-size: .55rem;
    border-width: 3px;
    }
  .bb-about-page .bb-about-photo-sticker  {
    right: -18px;
    bottom: 20px;
    width: 82px;
    height: 82px;
    border-width: 3px;
    font-size: .6rem;
    }
  .bb-about-page .bb-about-floating-banana  {
    width: 90px;
    right: 0;
    bottom: 28%;
    font-size: 5rem;
    opacity: .45;
    }
  .bb-about-page .bb-about-handwritten  {
    display: none;
    }
  /* MARQUEE */
  .bb-about-page .bb-about-marquee  {
    padding:
    14px
    0;
    }
  .bb-about-page .bb-about-marquee-track  {
    gap: 18px;
    }
  .bb-about-page .bb-about-marquee-track span  {
    font-size: 1.4rem;
    }
  /* STORY */
  .bb-about-page .bb-about-story  {
    padding:
    80px
    6%;
    gap: 45px;
    }
  .bb-about-page .bb-about-story-left h2  {
    font-size:
    clamp(
    3.5rem,
    17vw,
    6rem
    );
    }
  .bb-about-page .bb-about-story-right
  .bb-about-lead  {
    font-size:
    clamp(
    1.6rem,
    8vw,
    2.5rem
    );
    }
  .bb-about-page .bb-about-quote  {
    padding: 25px;
    font-size: 1.4rem;
    box-shadow:
    7px
    7px
    0
    var(--about-blue);
    }
  /* PHOTO BREAK */
  .bb-about-page .bb-about-photo-break  {
    min-height: 480px;
    }
  .bb-about-page .bb-about-photo-break-caption  {
    padding: 6%;
    }
  .bb-about-page
  .bb-about-photo-break-caption
  strong  {
    font-size:
    clamp(
    3.5rem,
    16vw,
    6rem
    );
    }
  .bb-about-page
  .bb-about-photo-break
  .bb-about-photo-sticker  {
    right: 6%;
    top: 8%;
    width: 85px;
    height: 85px;
    }
  /* SKILLS */
  .bb-about-page .bb-about-skills  {
    grid-template-columns: 1fr;
    gap: 55px;
    padding:
    80px
    6%;
    }
  .bb-about-page .bb-about-skills-header h2  {
    font-size:
    clamp(
    3.5rem,
    16vw,
    6rem
    );
    }
  .bb-about-page .bb-about-skill  {
    grid-template-columns:
    35px
    minmax(0, 1fr)
    30px;
    gap: 12px;
    min-height: auto;
    padding:
    22px
    0;
    }
  .bb-about-page .bb-about-skill p  {
    grid-column:
    2 / 4;
    margin-top: 5px;
    }
  .bb-about-page .bb-about-skill b  {
    grid-column: 3;
    grid-row: 1;
    }
  /* PERSONAL */
  .bb-about-page .bb-about-personal-image  {
    min-height: 500px;
    }
  .bb-about-page .bb-about-personal-label  {
    left: 20px;
    bottom: 20px;
    max-width:
    calc(
    100% - 40px
    );
    }
  .bb-about-page .bb-about-personal-content  {
    padding:
    70px
    6%;
    }
  .bb-about-page .bb-about-personal-content h2  {
    font-size:
    clamp(
    3.5rem,
    16vw,
    6rem
    );
    }
  /* NUMBERS */
  .bb-about-page .bb-about-numbers  {
    padding:
    80px
    6%;
    }
  .bb-about-page .bb-about-number-grid  {
    grid-template-columns: 1fr;
    gap: 18px;
    }
  .bb-about-page .bb-about-number-card  {
    min-height: 170px;
    padding: 25px;
    }
  /* PHILOSOPHY */
  .bb-about-page .bb-about-philosophy  {
    min-height: 600px;
    padding:
    80px
    6%;
    }
  .bb-about-page .bb-about-philosophy-inner h2  {
    font-size:
    clamp(
    4rem,
    18vw,
    7rem
    );
    }
  .bb-about-page .bb-about-philosophy-shape  {
    right: -100px;
    bottom: -100px;
    width: 350px;
    }
  /* FINAL CTA */
  .bb-about-page .bb-about-final-cta  {
    min-height: 600px;
    padding:
    80px
    6%;
    }
  .bb-about-page .bb-about-final-content h2  {
    font-size:
    clamp(
    3.8rem,
    18vw,
    7rem
    );
    }
  .bb-about-page .bb-about-final-banana  {
    right: -70px;
    bottom: -30px;
    width: 300px;
    font-size: 14rem;
    opacity: .45;
    }
  /* FOOTER */
  .bb-about-page .bb-footer-bottom  {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    }
  }
/* =========================================================
SMALL PHONES
========================================================= */
@media (max-width: 480px)  {
  .bb-about-page .bb-nav  {
    gap: 2px;
    }
  .bb-about-page .bb-nav a  {
    font-size: .54rem;
    padding:
    6px
    5px;
    }
  .bb-about-page .bb-nav .bb-nav-cta  {
    padding:
    8px
    8px;
    }
  .bb-about-page .bb-about-hero  {
    padding:
    70px
    5%
    70px;
    }
  .bb-about-page .bb-about-hero-title  {
    font-size:
    clamp(
    3.4rem,
    19vw,
    5.2rem
    );
    }
  .bb-about-page .bb-about-hero-photo  {
    width: 78%;
    }
  .bb-about-page .bb-about-story  {
    padding:
    70px
    5%;
    }
  .bb-about-page .bb-about-photo-break  {
    min-height: 430px;
    }
  .bb-about-page .bb-about-skills  {
    padding:
    70px
    5%;
    }
  .bb-about-page .bb-about-personal-content  {
    padding:
    65px
    5%;
    }
  .bb-about-page .bb-about-numbers  {
    padding:
    70px
    5%;
    }
  .bb-about-page .bb-about-number-card  {
    min-height: 160px;
    }
  .bb-about-page .bb-about-philosophy  {
    padding:
    70px
    5%;
    }
  .bb-about-page .bb-about-final-cta  {
    padding:
    70px
    5%;
    }
  .bb-about-page .bb-footer-inner  {
    padding:
    60px
    5%
    25px;
    }
  }
/* =========================================================
GLOBAL OVERRIDE SAFETY
========================================================= */
/*
These are intentionally scoped to .bb-about-page.
They prevent common global style.css rules from causing
the About page to overflow or inherit unwanted sizing.
*/
.bb-about-page main,
.bb-about-page section,
.bb-about-page header,
.bb-about-page footer,
.bb-about-page nav,
.bb-about-page div  {
  max-width: 100%;
  }
.bb-about-page
.bb-about-story-left,
.bb-about-page
.bb-about-story-right,
.bb-about-page
.bb-about-skills-header,
.bb-about-page
.bb-about-skills-list,
.bb-about-page
.bb-about-personal-content,
.bb-about-page
.bb-about-philosophy-inner,
.bb-about-page
.bb-about-final-content  {
  min-width: 0;
  }
.bb-about-page video,
.bb-about-page iframe  {
  max-width: 100%;
  }
/* =========================================================
REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion: reduce)  {
  .bb-about-page *,
  .bb-about-page *::before,
  .bb-about-page *::after  {
    animation-duration:
    .01ms !important;
    animation-iteration-count:
    1 !important;
    transition-duration:
    .01ms !important;
    scroll-behavior: auto !important;
    }
  }