/* ==================================================
   Sigma Bio Consulting - consolidated master.css
   Merged from assets/css/master.css + inline <style> blocks
   from all 8 HTML files in the uploaded zip.
   ================================================== */

/* ===== Global font update ===== */
@import url("https://fonts.googleapis.com/css2?family=Antonio:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap");

html, body {
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1, h2, h3, h4, h5, h6,
.font-heading {
  font-family: "Antonio", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.font-body {
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html, body {
  background-color: #05071e;
  color: #e8e7f7;
  font-family: "Montserrat", system-ui, sans-serif;
}


/* --- SECTION SPACING (CRITICAL FIX) --- */
/* Keep section padding LIGHT.
   Use Tailwind margins (mt-24 / mt-32) for layout rhythm */
section {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/* Optional compact section */
.section-compact {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/* --- LAYOUT --- */
.container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* --- GLASS / EFFECTS --- */
.glass {
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0.08),
    rgba(255,255,255,0.02)
  );
  backdrop-filter: blur(16px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.45);
}

.glow {
  filter: blur(60px);
  opacity: 0.6;
}

/* --- MOTION SYSTEM (REFINED) --- */
.motion {
  transition:
    transform 0.25s ease-out,
    box-shadow 0.25s ease-out,
    background-color 0.25s ease-out,
    color 0.25s ease-out;
}

.motion-soft {
  transition:
    transform 0.35s ease-out,
    box-shadow 0.35s ease-out,
    background-color 0.35s ease-out;
}

/* Lift effect */
.hover-lift:hover {
  transform: translateY(-4px);
}

/* Glow on hover */
.hover-glow:hover {
  box-shadow:
    0 0 0 1px rgba(82,77,211,0.35),
    0 25px 70px rgba(82,77,211,0.25);
}

/* --- NAV --- */
.nav-link {
  position: relative;
  transition: color 0.25s ease;
}

.nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: #524dd3;
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

/* --- PILLS --- */
.pill {
  padding: 0.5rem 1.25rem;
  border-radius: 999px;
  background: #131428;
  font-size: 0.875rem;
  transition:
    transform 0.25s ease-out,
    background-color 0.25s ease-out;
}

.pill:hover {
  background: rgba(82,77,211,0.2);
  transform: translateY(-2px);
}

/* Sticky nav morph */
header.sticky {
  transition: all 0.3s ease;
}

/* When scrolled */
body.scrolled header .glass {
  border-radius: 0.75rem;
  box-shadow: 0 25px 80px rgba(0,0,0,0.6);
}
/* ================================
   MOBILE OPTIMIZATION (≤ 768px)
   ================================ */

@media (max-width: 768px) {

  /* Global spacing tightening */
  section {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  /* Container breathing room */
  .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  /* NAV */
  header {
    top: 0.75rem;
  }

  .nav-shell {
    padding: 0.75rem 1.25rem;
  }

  /* Hide desktop nav already handled by Tailwind,
     this ensures spacing stays clean */
  nav {
    display: none;
  }

  /* HERO */
  h1 {
    font-size: 2.5rem;
    line-height: 1.15;
  }

  .hero,
  section.container {
    gap: 3rem;
  }

  /* Stack hero content cleanly */
  section.container.grid {
    grid-template-columns: 1fr !important;
  }

  /* Hero buttons */
  section.container .flex.gap-4 {
    flex-direction: column;
  }

  section.container .flex.gap-4 a {
    width: 100%;
    text-align: center;
  }

  /* Reduce hero glow size if present */
  .glow {
    filter: blur(70px);
    opacity: 0.45;
  }

  /* STATS */
  .grid-cols-4 {
    grid-template-columns: 1fr 1fr !important;
  }

  /* WHY SIGMA */
  .md\:grid-cols-2 {
    grid-template-columns: 1fr !important;
  }

  /* Cards spacing */
  .space-y-4 > * {
    margin-top: 0.75rem;
  }

  /* SERVICES */
  .md\:grid-cols-3 {
    grid-template-columns: 1fr !important;
  }

  .rounded-3xl {
    padding: 1.5rem;
  }

  /* Reduce service card height feel */
  .rounded-2xl.p-6 {
    padding: 1.25rem;
  }

  /* EXPERTISE */
  .flex.flex-wrap {
    gap: 0.5rem;
  }

  .pill {
    padding: 0.45rem 0.9rem;
    font-size: 0.8rem;
  }

  /* CTA */
  .p-14 {
    padding: 2.5rem 1.5rem;
  }

  .p-16 {
    padding: 2.75rem 1.75rem;
  }

  /* FOOTER */
  footer {
    margin-top: 2.5rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  /* Hover effects tone-down for touch */
  .hover-lift:hover {
    transform: none;
  }

  .hover-glow:hover {
    box-shadow:
      0 0 0 1px rgba(82,77,211,0.25),
      0 16px 40px rgba(82,77,211,0.2);
  }
}

/* BIO CARD VIDEO BEHAVIOR */
.bio-card video {
  opacity: 0;
  transition: opacity 0.4s ease;
}
.bio-card:hover video {
  opacity: 1;
}
.bio-card:hover img {
  opacity: 0;
}

/* Play overlay */
.play-overlay {
  background: radial-gradient(circle at center, rgba(0,0,0,.35), rgba(0,0,0,.8));
}

/* Section divider animation */
.section-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, #524dd3, transparent);
  animation: pulse 3s ease-in-out infinite;
}
@keyframes pulse {
  0%,100% { opacity: .3; }
  50% { opacity: .7; }
}
/* ================================
   MOBILE NAV
   ================================ */

#mobile-menu {
  transition: opacity 0.25s ease;
}

#mobile-menu a {
  transition: color 0.2s ease, transform 0.2s ease;
}

#mobile-menu a:hover {
  color: #6c67ff;
  transform: translateY(-2px);
}

/* ===== From index.html (style block 1) ===== */
body.is-locked { overflow: hidden; }

    /* Fullscreen overlay lives at body level so navbar can’t cover it */
    #video-fs-overlay {
      position: fixed;
      inset: 0;
      z-index: 99999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: rgba(5, 7, 30, 0.70);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }
    #video-fs-overlay.is-open { display: flex; }

    #video-fs-mount {
      width: min(1100px, 92vw);
      aspect-ratio: 16 / 9;
    }

    /* When video-box is mounted into fullscreen, we want it to behave like a modal player */
    #video-fs-mount #video-box {
      border-radius: 22px !important;
      overflow: hidden !important;
      box-shadow: 0 0 70px rgba(0,0,0,0.55) !important;
    }

    /* Subtle theme-matching mobile services panel */
    #mobile-services-wrap {
      position: relative;
    }

    #mobile-services-wrap::before {
      content: "";
      position: absolute;
      left: 14%;
      right: 14%;
      top: 50%;
      height: 1px;
      background: linear-gradient(to right, transparent, rgba(255,255,255,0.09), transparent);
      transform: translateY(-50%);
      pointer-events: none;
      opacity: 0.7;
    }

    #mobile-services-toggle {
      position: relative;
      z-index: 1;
    }

    /* Video prompt + volume popover */
    #unmute-prompt {
      transition: opacity 0.28s ease, transform 0.28s ease;
    }

    #unmute-prompt.is-hidden {
      opacity: 0;
      transform: translateY(-8px);
      pointer-events: none;
    }

    .volume-wrap {
      position: relative;
      display: flex;
      align-items: center;
    }

    .volume-popover {
      position: absolute;
      bottom: calc(100% + 10px);
      left: 50%;
      transform: translateX(-50%) translateY(4px);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.16s ease, transform 0.16s ease;
      will-change: transform, opacity;
    }

    .volume-wrap:hover .volume-popover,
    .volume-wrap:focus-within .volume-popover,
    .volume-popover:hover {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
    }

    .volume-popover::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%) rotate(45deg);
      width: 10px;
      height: 10px;
      background: rgba(255,255,255,0.08);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-right: 1px solid rgba(255,255,255,0.10);
      border-bottom: 1px solid rgba(255,255,255,0.10);
      margin-top: -5px;
    }

    .volume-glass {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 56px;
      height: 150px;
      border-radius: 18px;
      background: rgba(255,255,255,0.07);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      border: 1px solid rgba(255,255,255,0.10);
      box-shadow: 0 10px 30px rgba(0,0,0,0.22);
      overflow: hidden;
    }

    .volume-slider-shell {
      position: relative;
      width: 18px;
      height: 104px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .volume-slider-vertical {
      -webkit-appearance: none;
      appearance: none;
      width: 104px;
      height: 4px;
      background: rgba(255,255,255,0.18);
      border-radius: 999px;
      outline: none;
      transform: rotate(-90deg);
      cursor: pointer;
    }

    .volume-slider-vertical::-webkit-slider-runnable-track {
      height: 4px;
      background: rgba(255,255,255,0.18);
      border-radius: 999px;
    }

    .volume-slider-vertical::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 14px;
      height: 14px;
      margin-top: -5px;
      border-radius: 999px;
      background: #6c67ff;
      border: 2px solid rgba(255,255,255,0.92);
      box-shadow: 0 0 12px rgba(108,103,255,0.30);
    }

    .volume-slider-vertical::-moz-range-track {
      height: 4px;
      background: rgba(255,255,255,0.18);
      border-radius: 999px;
    }

    .volume-slider-vertical::-moz-range-thumb {
      width: 14px;
      height: 14px;
      border-radius: 999px;
      background: #6c67ff;
      border: 2px solid rgba(255,255,255,0.92);
      box-shadow: 0 0 12px rgba(108,103,255,0.30);
    }

    @media (prefers-reduced-motion: reduce) {
      .volume-popover,
      #unmute-prompt {
        transition: none;
      }
    }


/* ===== From about.html (style block 1) ===== */
body.is-locked { overflow: hidden; }

  /* Fullscreen overlay */
  #video-fs-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(5, 7, 30, 0.70);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }
  #video-fs-overlay.is-open { display: flex; }

  #video-fs-mount {
    width: min(1100px, 92vw);
    aspect-ratio: 16 / 9;
  }

  #video-fs-mount #video-box {
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 0 70px rgba(0,0,0,0.55) !important;
  }

  /* Mobile Services */
  #mobile-services-wrap {
    position: relative;
  }

  #mobile-services-wrap::before {
    content: "";
    position: absolute;
    left: 14%;
    right: 14%;
    top: 50%;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.09), transparent);
    transform: translateY(-50%);
    pointer-events: none;
    opacity: 0.7;
  }

  #mobile-services-toggle {
    position: relative;
    z-index: 1;
  }

  /* Video prompt + volume popover */
  #unmute-prompt {
    transition: opacity 0.28s ease, transform 0.28s ease;
  }

  #unmute-prompt.is-hidden {
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
  }

  .volume-wrap {
    position: relative;
    display: flex;
    align-items: center;
  }

  .volume-popover {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.16s ease, transform 0.16s ease;
    will-change: transform, opacity;
  }

  .volume-wrap:hover .volume-popover,
  .volume-wrap:focus-within .volume-popover,
  .volume-popover:hover {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  .volume-popover::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-right: 1px solid rgba(255,255,255,0.10);
    border-bottom: 1px solid rgba(255,255,255,0.10);
    margin-top: -5px;
  }

  .volume-glass {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 150px;
    border-radius: 18px;
    background: rgba(255,255,255,0.07);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: 0 10px 30px rgba(0,0,0,0.22);
    overflow: hidden;
  }

  .volume-slider-shell {
    position: relative;
    width: 18px;
    height: 104px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .volume-slider-vertical {
    -webkit-appearance: none;
    appearance: none;
    width: 104px;
    height: 4px;
    background: rgba(255,255,255,0.18);
    border-radius: 999px;
    outline: none;
    transform: rotate(-90deg);
    cursor: pointer;
  }

  .volume-slider-vertical::-webkit-slider-runnable-track {
    height: 4px;
    background: rgba(255,255,255,0.18);
    border-radius: 999px;
  }

  .volume-slider-vertical::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    margin-top: -5px;
    border-radius: 999px;
    background: #6c67ff;
    border: 2px solid rgba(255,255,255,0.92);
    box-shadow: 0 0 12px rgba(108,103,255,0.30);
  }

  .volume-slider-vertical::-moz-range-track {
    height: 4px;
    background: rgba(255,255,255,0.18);
    border-radius: 999px;
  }

  .volume-slider-vertical::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #6c67ff;
    border: 2px solid rgba(255,255,255,0.92);
    box-shadow: 0 0 12px rgba(108,103,255,0.30);
  }

  @media (prefers-reduced-motion: reduce) {
    .volume-popover,
    #unmute-prompt {
      transition: none;
    }
  }


/* ===== From areas-of-expertise.html (style block 1) ===== */
body.is-locked { overflow: hidden; }
  html { scroll-behavior: smooth; }

  .expertise-jump {
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
  }

  .expertise-jump:hover {
    transform: translateY(-4px);
    border-color: rgba(82,77,211,.45);
    box-shadow: 0 12px 32px rgba(82,77,211,.18);
    background: rgba(19,20,40,.85);
  }

  .expertise-jump:focus-visible {
    outline: 2px solid rgba(108,103,255,.95);
    outline-offset: 4px;
  }

  .expertise-target {
    scroll-margin-top: 130px;
  }

  .target-flash {
    animation: targetFlash 2s ease;
  }

  @keyframes targetFlash {
    0% {
      box-shadow: 0 0 0 rgba(82,77,211,0);
      border-color: rgba(255,255,255,.08);
    }
    20% {
      box-shadow: 0 0 0 2px rgba(108,103,255,.70), 0 0 40px rgba(82,77,211,.30);
      border-color: rgba(108,103,255,.80);
    }
    100% {
      box-shadow: 0 0 0 rgba(82,77,211,0);
      border-color: rgba(255,255,255,.08);
    }
  }


/* ===== From contact.html (style block 1) ===== */
html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    position: relative;
  }

  .container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  @media (min-width: 768px) {
    .container {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }
  }

  @media (min-width: 1280px) {
    .container {
      padding-left: 2rem;
      padding-right: 2rem;
    }
  }

  img,
  svg,
  video,
  canvas,
  iframe {
    max-width: 100%;
  }

  .page-shell {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }


/* ===== From partners.html (style block 1) ===== */
body.is-locked { overflow: hidden; }
  html.sv-noscroll { overflow: hidden; }

  .bio-panel-wrap{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows 420ms cubic-bezier(.2,.8,.2,1);
  }
  .bio-panel{
    overflow:hidden;
    opacity:0;
    transform:translateY(-6px);
    transition:opacity 220ms ease, transform 220ms ease;
  }
  .bio-card.is-open .bio-panel-wrap{ grid-template-rows:1fr; }
  .bio-card.is-open .bio-panel{ opacity:1; transform:translateY(0); }

  .bio-hint{
    pointer-events:none;
    opacity:0;
    transform:translateY(6px);
    transition:opacity 160ms ease, transform 160ms ease;
  }
  .bio-card:not(.is-open):hover .bio-hint,
  .bio-card:not(.is-open) .bio-hitarea:focus-visible .bio-hint{
    opacity:1;
    transform:translateY(0);
  }
  .bio-card.is-open .bio-hint{ opacity:0 !important; }

  .bio-hitarea{
    background:transparent;
    border:0;
    padding:0;
    margin:0;
    width:100%;
    text-align:left;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .bio-hitarea:focus-visible{
    outline:2px solid rgba(108,103,255,.9);
    outline-offset:10px;
    border-radius:18px;
  }

  .bio-photo{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    filter:none !important;
  }

  #svVideoModal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:16px;
    background:rgba(5,7,30,.74);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  #svVideoModal.is-open{ display:flex; }

  #svVideoModalMount{
    width:min(1100px,92vw);
    aspect-ratio:16 / 9;
  }

  .sv-player{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    border-radius:28px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(135deg, rgba(19,20,40,.92), rgba(5,7,30,.92));
    box-shadow:0 0 70px rgba(82,77,211,0.22);
  }

  .sv-player.video-modal-player{
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 0 70px rgba(0,0,0,0.55);
  }

  .sv-video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .sv-click{
    position:absolute;
    inset:0;
    z-index:10;
    cursor:pointer;
  }

  .sv-unmute{
    position:absolute;
    top:16px;
    left:16px;
    z-index:30;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(19,20,40,.72);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    padding:.55rem .9rem;
    font-size:.8rem;
    color:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.28);
    transition:opacity .28s ease, transform .28s ease, background .2s ease;
  }
  .sv-unmute:hover{ background:rgba(19,20,40,.88); }
  .sv-unmute.is-hidden{
    opacity:0;
    transform:translateY(-8px);
    pointer-events:none;
  }

  .sv-center{
    position:absolute;
    inset:0;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(5,7,30,.20);
    transition:background .3s ease, opacity .2s ease;
    pointer-events:none;
  }
  .sv-player:hover .sv-center{ background:rgba(5,7,30,.10); }
  .sv-center.is-hidden{ opacity:0; }

  .sv-center-badge{
    width:64px;
    height:64px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#524dd3;
    color:#fff;
    box-shadow:0 0 30px rgba(82,77,211,.5);
    transform:translateX(2px);
  }

  .sv-controls{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:20;
    padding:.8rem 1rem;
    background:linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,.42), transparent);
    opacity:0;
    transform:translateY(8px);
    transition:opacity .2s ease, transform .2s ease;
  }
  .sv-player:hover .sv-controls,
  .sv-player:focus-within .sv-controls,
  .sv-player.is-controls-visible .sv-controls{
    opacity:1;
    transform:translateY(0);
  }

  .sv-icon-btn{
    color:#fff;
    background:transparent;
    border:0;
    padding:0;
    cursor:pointer;
    transition:color .2s ease, transform .2s ease;
    flex-shrink:0;
  }
  .sv-icon-btn:hover{ color:#524dd3; }
  .sv-icon-btn:active{ transform:scale(.96); }

  .sv-progress-track{
    position:relative;
    flex:1 1 auto;
    height:6px;
    border-radius:999px;
    background:rgba(255,255,255,.2);
    cursor:pointer;
    overflow:hidden;
  }
  .sv-progress-fill{
    position:absolute;
    inset:0 auto 0 0;
    width:0%;
    background:#524dd3;
    border-radius:999px;
    pointer-events:none;
  }

  .sv-time{
    min-width:92px;
    text-align:right;
    font-size:.75rem;
    font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    color:rgba(255,255,255,.8);
  }

  .sv-volume-wrap{
    position:relative;
    display:flex;
    align-items:center;
  }
  .sv-volume-pop{
    position:absolute;
    left:50%;
    bottom:calc(100% + 10px);
    transform:translateX(-50%) translateY(4px);
    opacity:0;
    pointer-events:none;
    transition:opacity .16s ease, transform .16s ease;
    z-index:30;
  }
  .sv-volume-wrap:hover .sv-volume-pop,
  .sv-volume-wrap:focus-within .sv-volume-pop,
  .sv-volume-pop:hover{
    opacity:1;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
  }
  .sv-volume-pop::after{
    content:"";
    position:absolute;
    top:100%;
    left:50%;
    width:10px;
    height:10px;
    transform:translateX(-50%) rotate(45deg);
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-right:1px solid rgba(255,255,255,.1);
    border-bottom:1px solid rgba(255,255,255,.1);
    margin-top:-5px;
  }
  .sv-volume-glass{
    position:relative;
    width:56px;
    height:150px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 10px 30px rgba(0,0,0,.22);
  }
  .sv-volume-shell{
    width:18px;
    height:104px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .sv-volume-slider{
    -webkit-appearance:none;
    appearance:none;
    width:104px;
    height:4px;
    background:rgba(255,255,255,.18);
    border-radius:999px;
    outline:none;
    transform:rotate(-90deg);
    cursor:pointer;
  }
  .sv-volume-slider::-webkit-slider-runnable-track{
    height:4px;
    background:rgba(255,255,255,.18);
    border-radius:999px;
  }
  .sv-volume-slider::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    width:14px;
    height:14px;
    margin-top:-5px;
    border-radius:999px;
    background:#6c67ff;
    border:2px solid rgba(255,255,255,.92);
    box-shadow:0 0 12px rgba(108,103,255,.30);
  }
  .sv-volume-slider::-moz-range-track{
    height:4px;
    background:rgba(255,255,255,.18);
    border-radius:999px;
  }
  .sv-volume-slider::-moz-range-thumb{
    width:14px;
    height:14px;
    border-radius:999px;
    background:#6c67ff;
    border:2px solid rgba(255,255,255,.92);
    box-shadow:0 0 12px rgba(108,103,255,.30);
  }

  .sv-modal-close{
    position:absolute;
    top:18px;
    right:18px;
    width:48px;
    height:48px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(19,20,40,.72);
    color:#fff;
    cursor:pointer;
    z-index:60;
    transition:transform .18s ease, background .18s ease, color .18s ease;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 10px 30px rgba(0,0,0,.28);
  }
  .sv-modal-close:hover{
    transform:scale(1.04);
    background:rgba(82,77,211,.28);
    color:#fff;
  }
  .sv-player.video-modal-player .sv-controls{
    opacity:1;
    transform:translateY(0);
  }

  @media (prefers-reduced-motion: reduce){
    .bio-panel-wrap,
    .bio-panel,
    .bio-hint,
    .sv-unmute,
    .sv-controls,
    .sv-volume-pop{
      transition:none !important;
    }
  }


/* ===== From services.html (style block 1) ===== */
html { scroll-behavior: smooth; }
    body.is-locked { overflow: hidden; }
    .section-anchor { scroll-margin-top: 120px; }


/* ===== From synched_studios_media_partner.html (style block 1) ===== */
body.is-locked { overflow: hidden; }

    /* Fullscreen overlay lives at body level so navbar can’t cover it */
    #video-fs-overlay {
      position: fixed;
      inset: 0;
      z-index: 99999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: rgba(5, 7, 30, 0.70);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    #video-fs-overlay.is-open { display: flex; }

    #video-fs-mount {
      width: min(1100px, 92vw);
      aspect-ratio: 16 / 9;
    }

    /* When video-box is mounted into fullscreen, we want it to behave like a modal player */
    #video-fs-mount #video-box {
      border-radius: 22px !important;
      overflow: hidden !important;
      box-shadow: 0 0 70px rgba(0,0,0,0.55) !important;
    }


/* ===== From whitepapers.html (style block 1) ===== */
body.is-locked { overflow: hidden; }

    .line-clamp-2 {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .line-clamp-3 {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .papers-grid-loading .paper-card {
      position: relative;
      overflow: hidden;
    }

    .papers-grid-loading .paper-card::after {
      content: "";
      position: absolute;
      inset: 0;
      transform: translateX(-100%);
      background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.05),
        transparent
      );
      animation: shimmer 1.6s infinite;
    }

    .hero-logo-wrap img {
  transform: translateZ(0);
  animation: heroLogoFloat 5.5s ease-in-out infinite;
}

@keyframes heroLogoFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

    @keyframes shimmer {
      100% { transform: translateX(100%); }
    }

/* HERO SCROLL REVEAL */
.hero-logo-stage {
  transform: translateY(0) scale(1);
  transform-origin: center center;
  transition: transform 0.8s ease, opacity 0.8s ease;
}

.hero-reveal {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(6px);
  transition:
    opacity 0.9s ease,
    transform 0.9s ease,
    filter 0.9s ease;
  will-change: opacity, transform, filter;
}

.hero-headline {
  transition-delay: 0.08s;
}

.hero-copy {
  transition-delay: 0.22s;
}

.hero-loaded .hero-logo-stage {
  transform: translateY(0) scale(1);
}

.hero-loaded .hero-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

@media (max-width: 767px) {
  .hero-reveal {
    transform: translateY(18px);
    filter: blur(3px);
    transition:
      opacity 0.65s ease,
      transform 0.65s ease,
      filter 0.65s ease;
  }

  .hero-headline {
    transition-delay: 0.04s;
  }

  .hero-copy {
    transition-delay: 0.12s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-logo-stage,
  .hero-reveal {
    transition: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
}