/* About hero shares the final Renauticos heading and body type scales. */
body.about-redesign .about-hero {
  min-height: calc(100svh - 78px);
  background: #161616;
  align-items: center;
}
body.about-redesign .about-hero .hero-content {
  width: min(100%, 90rem);
  margin-inline: auto;
  padding: clamp(6rem, 12vh, 10rem) clamp(1.5rem, 5vw, 5rem);
}
body.about-redesign .about-hero .hero-title {
  max-width: 20ch;
  font-family: "Onest", Arial, sans-serif;
  font-size: calc(clamp(2.9rem, 5.7vw, 5.5rem) - 2px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: calc(clamp(2.9rem, 5.7vw, 5.5rem) * .95 + 2px);
  text-transform: none;
  text-wrap: balance;
}
body.about-redesign .about-hero .hero-copy {
  max-width: 52ch;
  margin-top: clamp(2rem, 4vw, 3.5rem);
  font-family: "Onest", Arial, sans-serif;
  font-size: clamp(17px, 1.35vw, 22px);
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.28;
  color: #f1f2ee;
}
/* Scoped utility styles for the installed React Bits Tailwind variant. */
body.about-redesign .about-tile-hero { display: block; overflow: visible; }
body.about-redesign .about-tile-hero::after { display: none; }
.about-tile-reveal { position: relative; width: 100%; }
.about-tile-reveal .relative { position: relative; }
.about-tile-reveal .absolute { position: absolute; }
.about-tile-reveal .sticky { position: sticky; }
.about-tile-reveal .top-0 { top: 0; }
.about-tile-reveal .z-10 { z-index: 10; }
.about-tile-reveal .flex { display: flex; }
.about-tile-reveal .flex-col { flex-direction: column; }
.about-tile-reveal .items-center { align-items: center; }
.about-tile-reveal .justify-center { justify-content: center; }
.about-tile-reveal .text-center { text-align: center; }
.about-tile-reveal .h-full { height: 100%; }
.about-tile-reveal .w-full { width: 100%; }
.about-tile-reveal .overflow-hidden { overflow: hidden; }
.about-tile-reveal .pointer-events-none { pointer-events: none; }
.about-tile-reveal .left-1\/2 { left: 50%; }
.about-tile-reveal .top-1\/2 { top: 50%; }
.about-tile-reveal .-translate-x-1\/2 { transform: translate(-50%, -50%); }
.about-tile-reveal .grid { display: grid; }
.about-tile-reveal .will-change-transform { will-change: transform; backface-visibility: hidden; }
.about-tile-reveal .object-cover { object-fit: cover; }
.about-tile-reveal .select-none { user-select: none; display: block; }
.about-tile-reveal .grayscale { filter: grayscale(1); }
body.about-redesign .about-tile-hero .hero-title {
  width: min(20ch, calc(100vw - 3rem));
  margin-inline: auto;
  text-shadow: 0 2px 24px rgba(0,0,0,.6);
}
body.about-redesign .about-tile-hero .hero-copy {
  width: min(52ch, calc(100vw - 3rem));
  margin: 0 auto;
}
@media (prefers-reduced-motion: reduce) {
  .about-tile-reveal .will-change-transform { will-change: auto; }
}
@media (max-height: 500px) and (orientation: landscape) {
  body.about-redesign .about-tile-hero .hero-title { font-size: 36px; line-height: 1.05; }
  body.about-redesign .about-tile-hero .hero-copy { font-size: 16px; }
}

/* Paper and ink palette shared with the Renauticos case study. */
body.about-redesign { --about-nav-height: 96px; background: #f1f2ed; }
body.about-redesign > .site-nav {
  position: sticky;
  top: 0;
  z-index: 40;
}
body.about-redesign .about-tile-hero {
  background: radial-gradient(ellipse at 84% 72%, rgba(7,135,140,.06), transparent 75%), #f1f2ed;
}
body.about-redesign .about-tile-hero .hero-title,
body.about-redesign .about-tile-hero .hero-copy {
  color: #101313;
  text-shadow: none;
}
body.about-redesign .about-tile-reveal > .sticky {
  top: var(--about-nav-height);
  height: calc(100svh - var(--about-nav-height)) !important;
}
@media (max-width: 720px) {
  body.about-redesign { --about-nav-height: 66px; }
}

/* Full-screen team statement; image targets are ready for the supplied photos. */
body.about-redesign .about-team-statement {
  min-height: calc(100svh - var(--about-nav-height));
  display: grid;
  place-items: center;
  padding: clamp(3rem, 7vh, 6rem) clamp(1.5rem, 5vw, 5rem);
  background: radial-gradient(ellipse at 84% 72%, rgba(7,135,140,.06), transparent 75%), #f1f2ed;
  color: #101313;
}
body.about-redesign #about-team-preview {
  width: min(100%, 76rem);
  text-align: center;
}
body.about-redesign #about-team-title {
  margin: 0;
  font-family: "Onest", Arial, sans-serif;
  font-size: clamp(2rem, 4.2vw, 4.5rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.035em;
  text-transform: none;
  text-wrap: balance;
}
/* One shared backdrop prevents the gradient restarting at the section boundary. */
body.about-redesign {
  background: radial-gradient(ellipse 50rem 42rem at 84% 72%, rgba(7,135,140,.06), transparent 100%), #f1f2ed;
  background-attachment: fixed;
}
body.about-redesign .about-tile-hero,
body.about-redesign .about-team-statement { background: transparent; }
body.about-redesign #about-team-title [data-preview-target],
.about-team-word {
  cursor: pointer;
  text-decoration: none;
  background: linear-gradient(rgba(228,254,85,.48), rgba(228,254,85,.48)) 0 88% / 100% 48% no-repeat;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  border-radius: .08em;
  transition: background-color 80ms ease;
}
.about-team-word:hover,
.about-team-word:focus-visible { background-color: rgba(228,254,85,.32); }
.about-team-word:focus-visible { outline: 2px solid #101313; outline-offset: 4px; }

/* React Bits About 6, adapted to one founder and the TersLab palette. */
body.about-redesign .about-founder {
  width: 100%;
  min-height: calc(100svh - var(--about-nav-height));
  display: flex;
  align-items: center;
  background: #101010;
  color: #f1f2ed;
  padding: clamp(3rem, 6vh, 6rem) clamp(1.5rem, 5vw, 5rem);
  font-family: "Onest", Arial, sans-serif;
}
#about-founder-root { width: 100%; }
.about-founder-inner { max-width: 1400px; margin: 0 auto; }
.about-founder-inner > h2 {
  margin: 0;
  font-size: calc(clamp(2.9rem, 5.7vw, 5.5rem) - 2px);
  line-height: calc(clamp(2.9rem, 5.7vw, 5.5rem) * .95 + 2px);
  font-weight: 500;
  letter-spacing: -.035em;
}
.about-founder-inner > h2 span { color: #858781; }
.about-founder-grid {
  margin-top: clamp(2rem, 4vh, 4rem);
  padding-top: clamp(2rem, 4vh, 4rem);
  border-top: 1px solid #ffffff24;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(2.5rem, 8vw, 9rem);
}
.about-founder-copy > p {
  max-width: 47ch;
  margin: 0 0 1.5rem;
  font-size: clamp(17px, 1.35vw, 22px);
  line-height: 1.45;
  color: #c8cbc3;
}
.about-founder-copy > .about-founder-label {
  margin: 0 0 2rem;
  font-size: calc(clamp(2rem, 3vw, 3rem) - 2px);
  line-height: 1.12;
  font-weight: 500;
  letter-spacing: -.035em;
  text-transform: none;
  color: #f1f2ed;
}
.about-founder-card { margin: 0; padding: 8px; border: 1px solid #ffffff1a; border-radius: 24px; background: #1b1b1b; }
.about-founder-photo { height: clamp(300px, 45vh, 580px); border-radius: 17px; overflow: hidden; }
.about-founder-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 80%; display: block; }
.about-founder-card figcaption { padding: 20px 16px; }
.about-founder-card h3 { margin: 0 0 8px; font-size: clamp(22px, 2vw, 28px); line-height: 1.15; font-weight: 500; letter-spacing: -.035em; }
.about-founder-card figcaption > span { font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: #a5a89f; }
@media (max-width: 760px) {
  .about-founder-grid { grid-template-columns: 1fr; }
  .about-founder-photo { height: auto; aspect-ratio: 4 / 5; }
}

/* Features 9: area tabs and replaceable team portraits. */
body.about-redesign .about-areas {
  min-height: calc(100svh - var(--about-nav-height));
  padding: clamp(3rem, 7vh, 6rem) clamp(1.5rem, 5vw, 5rem);
  background: radial-gradient(ellipse at 84% 72%, rgba(7,135,140,.04), transparent 75%), #f1f2ed;
  color: #101313;
  font-family: "Onest", Arial, sans-serif;
}
.about-areas-inner { max-width: 1400px; margin: 0 auto; }
.about-areas-inner > h2 { margin: 0; text-align: center; font-size: calc(clamp(2.9rem, 5.7vw, 5.5rem) - 2px); line-height: calc(clamp(2.9rem, 5.7vw, 5.5rem) * .95 + 2px); letter-spacing: -.035em; font-weight: 500; }
.about-area-tabs { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin-top: clamp(2rem, 5vh, 4rem); }
.about-area-tabs button { font: inherit; color: #656963; font-size: 17px; padding: 24px 12px; border: 1px solid transparent; background: #ffffff40; border-radius: 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.about-area-tabs button:hover { background: #ffffffa6; color: #101313; }
.about-area-tabs button[aria-selected="true"] { color: #101313; border-color: #10131328; background: #fff; box-shadow: 0 6px 24px #10131306; }
.about-area-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #f1f2ed; }
.about-area-tabs button[aria-selected="true"] .about-area-icon { background: #e4fe5590; }
.about-area-tabs button:focus-visible, .about-areas [role="tabpanel"]:focus-visible { outline: 2px solid #101313; outline-offset: 4px; }
.about-area-content { border-top: 1px solid #10131320; margin-top: 36px; padding-top: 32px; display: grid; grid-template-columns: 1fr 1.4fr; gap: clamp(2rem, 5vw, 5rem); }
.about-area-description h3 { font-size: calc(clamp(2rem, 3vw, 3rem) - 2px); line-height: 1.12; letter-spacing: -.035em; font-weight: 500; margin: 0 0 20px; }
.about-area-description p { font-size: clamp(17px, 1.35vw, 22px); line-height: 1.45; color: #656963; margin: 0; }
.about-area-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.about-area-person { margin: 0; }
.about-area-portrait { aspect-ratio: 4 / 3; background: #e5e8df; border-radius: 16px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; color: #7c8276; overflow: hidden; }
.about-area-portrait span { font-size: 12px; }
.about-area-portrait img { width: 100%; height: 100%; object-fit: cover; }
.about-area-person figcaption { padding: 16px 0 0; }
.about-area-person h4 { font-size: 22px; font-weight: 500; letter-spacing: -.035em; line-height: 1.2; margin: 0 0 6px; }
.about-area-person p { font-size: 14px; color: #656963; margin: 0; }
@media (max-width: 760px) {
 .about-area-tabs { grid-template-columns: repeat(2, 1fr); gap: 10px; }
 .about-area-tabs button { font-size: 15px; padding: 18px 8px; gap: 10px; }
 .about-area-content { grid-template-columns: 1fr; }
 .about-area-members { gap: 14px; }
 .about-area-person h4 { font-size: 19px; }
}

@media (min-width: 761px) and (max-width: 1100px) {
 .about-area-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.about-area-tabs button > span:last-child { overflow-wrap: anywhere; line-height: 1.25; }

/* Team explorer: irregular portraits and an accessible profile drawer. */
.team-grid-hint { margin: 24px 0 48px; text-align: center; font-size: 16px; color: #656963; }
.team-explorer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .42fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.team-irregular-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 18px; align-items: start; }
.team-tile { border: 0; padding: 0; text-align: left; background: none; color: inherit; font: inherit; cursor: pointer; min-width: 0; }
.team-tile-0 { grid-column: 1; }
.team-tile-1 { grid-column: 3; margin-top: 70px; }
.team-tile-2 { grid-column: 4; }
.team-tile-3 { grid-column: 2; }
.team-tile-4 { grid-column: 4; margin-top: 45px; }
.team-tile-5 { grid-column: 1; }
.team-tile-6 { grid-column: 3; margin-top: 35px; }
.team-tile-photo { position: relative; aspect-ratio: 2 / 3; background: #242923; overflow: hidden; }
.team-tile-photo img, .team-preview-photo img, .team-profile-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.team-tile-photo img { transition: transform .25s; }
.team-tile:hover img { transform: scale(1.035); }
.team-tile-open { position: absolute; right: 8px; bottom: 8px; background: #e4fe55; color: #101313; width: 32px; height: 32px; display: grid; place-items: center; }
.team-tile-name { display: block; margin-top: 12px; font-size: 16px; line-height: 1.25; }
.team-tile-role { display: block; margin-top: 5px; color: #656963; font-size: 12px; line-height: 1.3; }
.team-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 16px; color: #b6bdae; background: linear-gradient(155deg, #30372f, #141814); }
.team-placeholder span { font-size: 11px; text-align: center; padding: 0 8px; }
.team-preview { position: sticky; top: calc(var(--about-nav-height) + 24px); }
.team-preview-photo { position: relative; height: min(58vh, 600px); min-height: 300px; background: #181b17; }
.team-preview-caption { position: absolute; inset: auto 0 0; padding: 40px 20px 20px; color: #f1f2ed; background: linear-gradient(transparent, #000a); }
.team-preview-caption span, .team-preview-caption small { display: block; line-height: 1.4; }
.team-preview-caption span { font-size: 22px; }
.team-preview > button { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 18px 0; border: 0; border-bottom: 1px solid #10131340; background: none; font: inherit; color: inherit; cursor: pointer; }
.team-profile-dialog { margin: 0 0 0 auto; padding: 0; width: min(1100px, 88vw); height: 100dvh; max-width: none; max-height: none; border: 0; background: #f1f2ed; color: #101313; font-family: 'Onest', Arial, sans-serif; }
.team-profile-dialog::backdrop { background: #10131388; }
.team-profile-dialog[open] { animation: team-profile-enter .24s ease-out; }
.team-profile-sheet { min-height: 100%; padding: 0 clamp(24px, 4vw, 64px) 48px; }
.team-profile-sheet header { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding: 20px 0; border-bottom: 1px solid #10131325; background: #f1f2ed; }
.team-profile-sheet header > span { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.team-profile-sheet header button { display: grid; place-items: center; width: 48px; height: 48px; border: 0; background: #101313; color: #f1f2ed; cursor: pointer; }
.team-profile-layout { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(32px, 5vw, 80px); padding-top: clamp(32px, 7vh, 80px); align-items: center; }
.team-profile-photo { aspect-ratio: 2 / 3; overflow: hidden; }
.team-profile-layout h3 { margin: 18px 0 6px; font-size: 26px; font-weight: 500; letter-spacing: -.035em; }
.team-profile-role { margin: 0; color: #656963; }
.team-profile-copy h4 { font-size: clamp(28px, 3vw, 46px); font-weight: 500; line-height: 1.12; letter-spacing: -.035em; margin: 0 0 24px; }
.team-profile-copy p { font-size: clamp(17px, 1.35vw, 22px); line-height: 1.45; margin: 0; }
.team-explorer button:focus-visible, .team-profile-dialog button:focus-visible { outline: 3px solid #a3b72a; outline-offset: 4px; }
@keyframes team-profile-enter { from { transform: translateX(50px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@media (max-width: 760px) {
 .team-explorer { display: block; }
 .team-preview { display: none; }
 .team-irregular-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
 .team-irregular-grid .team-tile { grid-column: auto; margin-top: 0; }
 .team-irregular-grid .team-tile:nth-child(even) { transform: translateY(28px); }
 .team-tile-open { width: 40px; height: 40px; }
 .team-profile-dialog { width: 100%; }
 .team-profile-layout { grid-template-columns: 1fr; gap: 32px; }
 .team-profile-photo { aspect-ratio: 4 / 5; max-height: 48svh; }
 .team-profile-sheet { padding-bottom: max(40px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
 .team-profile-dialog[open] { animation: none; }
 .team-tile-photo img { transition: none; }
}

/* Mobile reference: large swipeable portraits, then a side sheet. */
.team-hint-mobile { display: none; }
@media (max-width: 760px) {
 .team-hint-desktop { display: none; }
 .team-hint-mobile { display: inline; }
 .team-irregular-grid {
   display: flex;
   align-items: flex-start;
   gap: 20px;
   overflow-x: auto;
   overscroll-behavior-x: contain;
   scroll-snap-type: x mandatory;
   scroll-padding-inline: 24px;
   margin-inline: -24px;
   padding: 4px 24px 24px;
   scrollbar-width: thin;
   scrollbar-color: #a5ad9b transparent;
 }
 .team-irregular-grid .team-tile,
 .team-irregular-grid .team-tile:nth-child(even) {
   flex: 0 0 76%;
   transform: none;
   scroll-snap-align: start;
   margin: 0;
 }
 .team-tile-photo { aspect-ratio: 2 / 3; }
 .team-tile-name { font-size: 21px; margin-top: 16px; }
 .team-tile-role { font-size: 16px; }
 .team-profile-dialog { width: calc(100% - 16px); }
 .team-profile-photo { width: 78%; max-height: none; aspect-ratio: 2 / 3; }
 .team-profile-copy { padding-top: 28px; border-top: 1px solid #10131325; }
 .team-profile-layout { padding-top: 28px; }
 .team-profile-sheet { padding-inline: 24px; }
}

.team-tile-7 { grid-column: 4; }
.team-tile-8 { grid-column: 2; margin-top: 24px; }
.team-tile-photo, .team-profile-photo { aspect-ratio: 4 / 5; }
.team-preview-photo { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
.team-tile-photo img, .team-preview-photo img, .team-profile-photo img { object-position: center top; }

/* Neutral photo edges avoid fractional-pixel dark seams. */
.team-tile-photo, .team-preview-photo, .team-profile-photo { background: transparent; border: 0; box-shadow: none; }
.team-tile-photo img, .team-preview-photo img, .team-profile-photo img { border: 0; box-shadow: none; transform: scale(1.005); }
.team-profile-zodiac { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; color: #656963; font-size: 12px; letter-spacing: .08em; }
.team-profile-zodiac img { width: 28px; height: 28px; opacity: .75; }
.team-profile-copy h4 { margin-bottom: 10px; }
.team-profile-copy .team-profile-position { font-size: 16px; color: #656963; margin-bottom: 28px; }
.team-profile-socials { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.team-profile-socials a { display: inline-flex; align-items: center; min-height: 44px; color: #101313; font-size: 16px; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.team-profile-socials a:hover { text-decoration-thickness: 2px; }
.team-profile-socials a:focus-visible { outline: 2px solid #101313; outline-offset: 4px; }

/* Compact profile spacing on phones. */
@media (max-width: 760px) {
  .team-profile-sheet header { padding: 12px 0; }
  .team-profile-layout { padding-top: 14px; gap: 16px; }
  .team-profile-copy { padding-top: 14px; }
  .team-profile-zodiac { margin-bottom: 12px; }
  .team-profile-copy .team-profile-position { margin-bottom: 12px; }
  .team-profile-socials { margin-top: 18px; }
}

/* Match Christian's warmer portrait to the softer team palette. */
.team-tile-photo img[src$="christian-martin.webp"],
.team-preview-photo img[src$="christian-martin.webp"],
.team-profile-photo img[src$="christian-martin.webp"] { filter: saturate(.65); }

/* Invisible editorial grid: statement upper left, square film lower right. */
body.about-redesign .about-team-statement { align-content: center; }
.about-team-composition {
  width: min(100%, 2000px);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(16px, 2vw, 40px);
  row-gap: 20px;
}
body.about-redesign .about-team-composition #about-team-preview {
  grid-column: 1 / 9;
  grid-row: 1;
  width: 100%;
}
.about-team-video {
  grid-column: 9 / 13;
  grid-row: 2;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}
.about-team-video video { width: 100%; height: 100%; display: block; object-fit: cover; }
@media (max-width: 760px) {
  .about-team-composition { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  body.about-redesign .about-team-composition #about-team-preview { grid-column: 1 / -1; }
  .about-team-video { grid-column: 1 / -1; width: 76%; justify-self: end; max-width: 380px; }
}

/* Raise the founder portrait to the title's level on desktop. */
@media (min-width: 761px) {
  .about-founder-card {
    position: relative;
    top: calc(-1 * (clamp(2.9rem, 5.7vw, 5.5rem) * .95 + 2px + clamp(2rem, 4vh, 4rem) * 2));
  }
}

body.about-redesign #about-team-heading {
  margin: 0 0 clamp(24px, 3vw, 48px);
  color: #101313;
  font-family: "Onest", Arial, sans-serif;
  font-size: calc(clamp(2.9rem, 5.7vw, 5.5rem) - 2px);
  line-height: calc(clamp(2.9rem, 5.7vw, 5.5rem) * .95 + 2px);
  font-weight: 500;
  letter-spacing: -.035em;
  text-transform: none;
}

.about-team-video video { filter: grayscale(1); }
.team-tile-open { background: #101313; color: #dfe2da; }

/* Keep the paper hero and a permanent clear column between the photo rails. */
body.about-redesign .about-tile-hero {
  background: radial-gradient(ellipse at 12% 25%, #daddd480, transparent 65%), radial-gradient(ellipse at 88% 75%, #e1e3db99, transparent 70%), #f1f2ed;
}
body.about-redesign .tile-side-rails .hero-title { width: min(20ch, 62vw); }
body.about-redesign .tile-side-rails .hero-copy { width: min(52ch, 62vw); }
@media (max-width: 980px) {
  body.about-redesign { --about-nav-height: 80px; }
}
@media (max-width: 600px) {
  body.about-redesign .tile-side-rails .hero-title { font-size: clamp(28px, 8vw, 40px); line-height: 1.08; }
  body.about-redesign .tile-side-rails .hero-copy { font-size: 16px; line-height: 1.4; }
}

/* A conventional, equal-height text and film pair. */
body.about-redesign .about-team-statement { position: relative; }
.about-team-composition { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 96px); align-items: stretch; }
body.about-redesign .about-team-composition #about-team-preview { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; justify-content: center; text-align: left; min-width: 0; }
.about-team-video { grid-column: 2; grid-row: 1; width: 100%; min-height: clamp(360px, 38vw, 760px); aspect-ratio: auto; position: relative; }
.about-team-video video { position: absolute; inset: 0; }
body.about-redesign #about-team-title { font-size: clamp(28px, 3vw, 60px); }
.about-team-word { cursor: default; }
.about-team-word:hover { background-color: transparent; }
.about-founder-grid { margin-top: 0; padding-top: 0; border-top: 0; }
.about-founder-card { top: auto; }
@media (max-width: 760px) {
  .about-team-composition { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body.about-redesign .about-team-composition #about-team-preview { grid-column: 1; }
  .about-team-video { grid-column: 1; grid-row: 2; max-width: none; min-height: 0; aspect-ratio: 1; }
}

@media (min-width: 1100px) {
  body.about-redesign .tile-side-rails .hero-title { width: min(20ch, 42vw); }
  body.about-redesign .tile-side-rails .hero-copy { width: min(52ch, 42vw); }
}

/* A single identity block keeps the complete profile readable on phones. */
.team-profile-sheet header { justify-content: flex-end; }
@media (max-width: 760px), (max-height: 500px) {
  .team-profile-dialog { width: calc(100% - 24px); height: fit-content; max-height: calc(100dvh - 24px); margin: auto; border-radius: 16px; }
  .team-profile-sheet { min-height: 0; padding: 8px 20px max(16px, env(safe-area-inset-bottom)); }
  .team-profile-sheet header { padding: 0; border: 0; background: transparent; }
  .team-profile-sheet header button { width: 44px; height: 44px; }
  .team-profile-layout { grid-template-columns: 1fr; padding-top: 8px; gap: 16px; }
  .team-profile-identity { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center; }
  .team-profile-photo { height: clamp(72px, 18dvh, 140px); width: auto; max-height: none; aspect-ratio: 4 / 5; }
  .team-profile-layout h3 { font-size: 22px; margin: 0 0 6px; line-height: 1.15; }
  .team-profile-role { font-size: 14px; line-height: 1.35; }
  .team-profile-copy { padding: 0; border: 0; }
  .team-profile-copy p { font-size: 16px; line-height: 1.4; }
  .team-profile-zodiac { margin: 0 0 12px; gap: 8px; font-size: 11px; }
  .team-profile-zodiac img { width: 24px; height: 24px; }
  .team-profile-socials { gap: 24px; margin-top: 12px; }
  .team-profile-socials a { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-height: 500px) and (min-width: 500px) {
  .team-profile-layout { grid-template-columns: minmax(140px, .65fr) minmax(0, 1.6fr); gap: 24px; }
  .team-profile-identity { display: block; }
  .team-profile-photo { height: 100px; width: 80px; margin-bottom: 12px; }
  .team-profile-layout h3 { font-size: 20px; }
  .team-profile-copy p { font-size: 15px; }
}
@media (max-width: 760px) {
  body.about-redesign .about-tile-hero { min-height: 0; }
  body.about-redesign .about-tile-reveal { height: auto !important; }
  body.about-redesign .about-tile-reveal > .tile-reveal-stage { height: auto !important; }
  .about-tile-reveal .relative.z-10 { height: auto; justify-content: center; padding-block: 48px; }
  body.about-redesign .about-team-statement,
  body.about-redesign .about-founder,
  body.about-redesign .about-areas,
  body.about-redesign .ab-cta { min-height: 0; padding: 48px 24px; }
  .team-grid-hint { margin: 20px 0 28px; }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  body.about-redesign .about-tile-reveal { height: auto !important; }
  .about-tile-reveal .relative.z-10 { height: auto; }
}

/* Profiles without biographies keep only the supplied photo, name and role. */
.team-profile-dialog.is-summary { width: min(440px, calc(100% - 24px)); height: fit-content; max-height: calc(100dvh - 24px); margin: auto; }
.team-profile-dialog.is-summary .team-profile-sheet { padding: 0 24px 24px; }
.team-profile-dialog.is-summary .team-profile-layout { grid-template-columns: 1fr; padding-top: 16px; }
.team-profile-dialog.is-summary .team-profile-photo { max-height: 320px; }
@media (max-width: 760px), (max-height: 500px) {
  .team-profile-dialog.is-summary .team-profile-sheet { padding: 8px 20px 20px; }
  .team-profile-dialog.is-summary .team-profile-layout { padding-top: 8px; }
}

/* Balanced three-line headline at every viewport, with room for the photo rails. */
body.about-redesign .tile-side-rails .hero-title {
  width: min(26ch, 70vw); max-width: none;
  font-size: clamp(20px, 4.6vw, 80px); line-height: 1.08;
}
body.about-redesign .tile-side-rails .hero-title > span { display: block; white-space: nowrap; }
@media (max-width: 760px) {
  body.about-redesign .tile-side-rails .hero-title { font-size: clamp(20px, 6vw, 42px); width: 76vw; }
}
@media (min-width: 761px) {
  .team-irregular-grid .team-tile { grid-column: auto; margin-top: 0; }
  .team-irregular-grid .team-tile:nth-child(even) { margin-top: 28px; }
}
