:root{
  --bg:#000000;
  --card:#000000;
  --card-2:#000000;
  --text:#eaeaea;
  --muted:#a8a8a8;
  --ring: rgba(255, 255, 255, 0.39);
  --accent:#E91E63;        /* your pink */
  --radius:15px;
  --shadow: 0 10px 35px rgba(0,0,0,.45);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Inter", system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
}

.page{
  max-width:1100px;
  margin:0 auto;
  padding:56px 20px 80px;
}

.title{
  text-align:center;
  font-size:clamp(28px, 4.2vw, 44px);
  font-weight:800;
  margin:0 0 10px;
  letter-spacing:.3px;
}
.subtitle{
  text-align:center;
  color:var(--muted);
  margin:0 0 38px;
  font-weight:600;
}

/* grid */
.advisor-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(260px,1fr));
  gap:28px;
  align-items:stretch;
}
@media (max-width:720px){
  .advisor-grid{ grid-template-columns: 1fr; }
}

/* flip card */
.card{
  perspective:1200px;
}
.card-inner{
  position:relative;
  width:100%;
  height:520px;
  transform-style:preserve-3d;
  transition: transform 1.2s cubic-bezier(.2,.8,.2,1);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card:hover .card-inner{ transform: rotateY(180deg); } /* desktop hover */
.card-inner.is-flipped{ transform: rotateY(180deg); }   /* mobile tap */

.card-face{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,var(--card),var(--card-2));
  border-radius:var(--radius);
  backface-visibility:hidden;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border:1px solid var(--ring);
}

.card-face.front{
  position: absolute;        /* keep it stacked like the back face */
  inset: 0;                  /* fill the card */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


.badge{
  position:absolute;
  top:14px; left:14px;
  background:rgba(0,0,0,.6);
  color:#fff;
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.3px;
}

.meta{
  padding:18px 18px 20px;
  background:linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.55));
}
.name{
  margin:0 0 4px;
  font-size:20px;
  font-weight:800;
  line-height:1.2;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.role{
  margin:0 0 10px;
  color:var(--muted);
  font-weight:600;
  font-size:14px;
}
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{
  font-size:12px; font-weight:700; color:#fff;
  background:rgba(233,30,99,.18);
  border:1px solid rgba(233,30,99,.45);
  padding:6px 10px; border-radius:999px;
}

.card-face.back{
  transform: rotateY(180deg);
  padding:22px;
  gap:12px;
}
.back h3{
  margin:4px 0 6px;
  font-size:16px;
  font-weight:800;
  margin-top: -10px;
}
.back p{
  margin:0;
  color:#ffffff;
  line-height:1.55;
}
.back .list{
  margin:6px 0 0 1rem;
  padding:0;
  color:#ffffff;
  line-height:1.5;
}

/* hint + CTA */
.tap-hint{
  text-align:center;
  color:var(--muted);
  font-size:12px;
  margin-top:14px;
}
.cta{ margin-top:28px; text-align:center; }
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:13px;
  background:#fff; color:#111; border:2px solid #111;
  font-weight:800; text-decoration:none;
  transition:.2s;
}
.btn:hover{ background:#111; color:#fff; }


/* Logo header for advisors page */
.advisor-header {
  position: absolute;
  top: 20px;
  left: 30px;
  z-index: 1000;
}

.advisor-header .brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.advisor-header img {
  width: 100px;   /* adjust size */
  height: auto;
}

.advisor-header .brand-text {
  font-family: "Audiowide", sans-serif;  /* or Inter if you prefer */
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  text-shadow: -1px -1px 0 #000,
                1px -1px 0 #000,
               -1px  1px 0 #000,
                1px  1px 0 #000;
}

.advisor-header .brand-text:hover {
  color: var(--text); /* matches your theme */
}

.back p,
.about-text {
  text-align: justify;
  text-justify: inter-word; /* makes spacing between words more natural */
}

/* ===== Mobile polish for Industry Advisors ===== */
@media (max-width: 640px) {

  /* Header stays visible; content starts below it */
  .advisor-header{
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(0,0,0,.6);
    backdrop-filter: blur(6px);
  }
  .page{
    padding-top: 12px;               /* gives breathing room under sticky header */
  }

  /* Title & subtitle */
  .title{
    font-size: clamp(28px, 8vw, 40px);
    letter-spacing: .06em;           /* much tighter than desktop */
    line-height: 1.15;
    margin: 18px 16px 8px;
    text-align: left;
  }
  .subtitle{
    font-size: clamp(14px, 4vw, 16px);
    margin: 0 16px 16px;
    max-width: 28ch;
    opacity: .9;
    text-align: left;
  }

  /* One neat column grid */
  .advisor-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0 16px;
  }

  /* Card & flip container */
  .card{ perspective: 1200px; }
  .card-inner{
    width: 100%;
    aspect-ratio: 3 / 4;             /* consistent tall card on phones */
    border-radius: 16px;
  }

  /* ✅ Correct version */
.card-face.front{
  position: absolute;
  inset: 0;
  border-radius: 16px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #000;
}

.card-face.front::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:52%;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 100%);
  pointer-events:none;
}



  .badge{
    position: absolute;
    top: 12px; left: 12px;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
  }

  .meta{
    position: absolute;
    inset: auto 0 0 0;
    padding: 14px 14px 16px;
    z-index: 1;
  }
  .name{
    font-size: clamp(18px, 5.5vw, 22px);
    margin: 0 0 4px;
  }
  .role{
    font-size: clamp(12px, 3.8vw, 14px);
    margin: 0 0 10px;
    opacity: .9;
  }

  .chips{
    display:flex; flex-wrap:wrap; gap:8px;
  }
  .chip{
    font-size: clamp(10px, 3vw, 12px);
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(3px);
  }

  /* BACK face */
  .card-face.back{
    padding: 16px;
    border-radius: 16px;
    overflow: auto;                  /* allow long text to scroll inside */
    -webkit-overflow-scrolling: touch;
  }
  .card-face.back h3{
    font-size: clamp(16px, 4.5vw, 18px);
    margin: 6px 0 8px;
  }
  .card-face.back p{
    font-size: clamp(14px, 4vw, 16px);
    line-height: 1.6;
    margin: 0 0 8px;
    text-align: left;
  }
  .list{
    padding-left: 1.1em;
    margin: 0;
  }
  .list li{
    margin: 6px 0;
    font-size: clamp(14px, 4vw, 16px);
    line-height: 1.55;
  }

  /* Tap hint & CTA spacing */
  .tap-hint{
    font-size: 12px;
    opacity: .8;
    margin: 14px 16px 10px;
    text-align: center;
  }
  .cta .btn{
    display:block;
    width: calc(100% - 32px);
    margin: 0 16px 24px;
    text-align:center;
  }
}
/* scale header brand a bit on phones */
.advisor-header .brand-text{
  font-size: 22px;
}
.advisor-header img{
  width: 72px;
}

/* --- mobile/WebKit 3D & flip hardening --- */
.card { perspective: 1200px; -webkit-perspective: 1200px; }
.card-inner{
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  will-change: transform;
}
.card-face{
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Only enable hover flip on devices that actually have hover */
@media (hover: hover) and (pointer: fine){
  .card:hover .card-inner{ transform: rotateY(180deg); }
}

/* --- final mobile fixes (append at end) --- */
@media (max-width: 640px){
  /* free the fixed desktop height so the card can size naturally */
  .card-inner{
    height: auto;              /* overrides the 520px */
    aspect-ratio: 3 / 4;       /* keep a nice proportion */
    border-radius: 16px;
  }

  /* make sure the back side can scroll if content is long */
  .card-face.back{
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    max-height: 100%;
  }
}
/* --- extra visual polish for mobile --- */
@media (max-width: 640px){
  /* keep each card visibly tall even before the image finishes loading */
  .card{ min-height: 72vw; }

  /* a little extra space so the sticky header never overlaps */
  .page{ padding-top: 48px; }
}



/* --- Phone fix: back side should start at the top and be scrollable --- */
@media (max-width: 640px){
  /* Let the back face lay out from the top, not bottom */
  .card-face.back{
    display: block;                 /* stop flex-bottom packing */
    justify-content: flex-start;    /* override the base rule */
    align-items: initial;
    padding: 16px;
    overflow: auto;                 /* if content is long, it scrolls */
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 180px);/* fit under sticky header + margins */
    border-radius: 16px;
  }

  /* Remove the negative margin that was pulling titles up */
  .back h3{ margin-top: 0; }
}
