/*
 * Talis final master calibration — shared geometry and bounded page refinements.
 * Loaded last so the existing page-specific designs remain authoritative elsewhere.
 */

/* --------------------------------------------------------------------------
   One hero frame across Home, Product and Company.
   At 1440×900 this resolves to 1378×790; at wider desktops it retains the
   same 31px navigation gutters instead of stopping at a fixed max-width.
   -------------------------------------------------------------------------- */
@media (min-width: 701px) {
  .product-page-v2 .product-v2-hero-section,
  .company-v2-page .company-v2-hero-section {
    box-sizing: border-box;
    height: calc(100svh - 74px) !important;
    min-height: 646px !important;
    padding: 0 22px 36px !important;
  }

  .product-page-v2 .product-v2-hero,
  .company-v2-page .company-v2-hero-frame {
    width: 100% !important;
    max-width: none !important;
    height: calc(100svh - 110px) !important;
    min-height: 610px !important;
    margin: 0 !important;
    border-radius: 20px !important;
  }
}

@media (min-width: 1200px) {
  .product-page-v2 .product-v2-hero-section,
  .company-v2-page .company-v2-hero-section {
    padding-inline: 31px !important;
  }
}

@media (max-width: 700px) {
  .product-page-v2 .product-v2-hero-section,
  .company-v2-page .company-v2-hero-section {
    box-sizing: border-box;
    height: calc(100svh - 74px) !important;
    min-height: 526px !important;
    padding: 0 13px 30px 12px !important;
  }

  .product-page-v2 .product-v2-hero,
  .company-v2-page .company-v2-hero-frame {
    width: 100% !important;
    max-width: none !important;
    height: calc(100svh - 104px) !important;
    min-height: 496px !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 10px !important;
  }

  .company-v2-page .company-v2-hero-content {
    top: auto !important;
    bottom: 35px !important;
  }
}

/* Keep browser downsampling clean and avoid transform-induced raster softness. */
.page-home .hero-video,
.page-home .markets-demo-image,
.product-page-v2 .product-v2-hero-image,
.product-page-v2 .product-v2-feature-image,
.company-v2-page .company-v2-hero-media,
.company-v2-page .company-v2-mission-media img,
.company-v2-page .company-v2-system-media img,
.company-v2-page .company-v2-founder-media img,
.company-v2-page .company-v2-prefooter-media {
  image-rendering: auto;
  backface-visibility: hidden;
}

/* --------------------------------------------------------------------------
   Company desktop alignment.
   Original 1440px coordinates are preserved, but are now relative to a
   centred 1378px grid so wide screens no longer leave the content stranded
   against the left side of the viewport.
   -------------------------------------------------------------------------- */
@media (min-width: 1200px) {
  .company-v2-page .company-v2-inner {
    width: min(1378px, calc(100% - 62px)) !important;
    margin-inline: auto !important;
  }

  .company-v2-page .company-v2-mission-copy { left: 87px !important; }
  .company-v2-page .company-v2-mission-media { left: 824px !important; }

  .company-v2-page .company-v2-problem-stack { left: 87px !important; }
  .company-v2-page .company-v2-problem-content { left: 657px !important; }

  .company-v2-page .company-v2-system-copy { left: 88px !important; }
  .company-v2-page .company-v2-system-media { left: 786px !important; }

  .company-v2-page .company-v2-context .company-v2-heading { left: 120px !important; }
  .company-v2-page .company-v2-context-copy { left: 830px !important; }

  .company-v2-page .company-v2-founder-media { left: 157px !important; }
  .company-v2-page .company-v2-founder-content { left: 738px !important; }
}

/* --------------------------------------------------------------------------
   Home refinements.
   -------------------------------------------------------------------------- */
@media (min-width: 901px) {
  .page-home .manifesto-section {
    height: 450px !important;
    min-height: 450px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
}

@media (max-width: 700px) {
  .page-home .ui-capabilities .capabilities-heading {
    max-width: 360px !important;
    font-size: clamp(30.2px, 8.42vw, 32.8px) !important;
    line-height: 1.08 !important;
  }

  .page-home .continuity-section,
  .page-home .continuity-inner {
    min-height: 792px;
  }

  .page-home .manifesto-section {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }

  .page-home .manifesto-line:nth-child(2) {
    margin-top: 18px;
  }
}

/* --------------------------------------------------------------------------
   Product hero support line: 10% larger, still a single line on 320–390px.
   -------------------------------------------------------------------------- */
.product-page-v2 .product-v2-hero-copy {
  font-size: 16.5px !important;
}

/* The title and support line read as one group while the CTA remains fixed. */
.product-page-v2 .product-v2-hero-title,
.product-page-v2 .product-v2-hero-copy {
  position: relative;
  top: 7px;
}

.product-page-v2 .product-v2-hero-copy {
  margin-top: 17px;
}

@media (max-width: 900px) {
  .product-page-v2 .product-v2-hero-copy {
    width: max-content !important;
    max-width: calc(100vw - 44px) !important;
    font-size: clamp(11.35px, 3.25vw, 12.7px) !important;
    line-height: 1.22 !important;
    letter-spacing: -.026em !important;
    white-space: nowrap !important;
  }
}

/* ========================================================================== 
   Final ship polish — 2026-07-29
   ========================================================================== */

/* Home manifesto: compact, left aligned and vertically centred. */
@media (min-width: 901px) {
  .page-home .manifesto-section {
    height: 450px !important;
    min-height: 450px !important;
    padding: 0 76px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  .page-home .manifesto-copy {
    width: min(900px, 72vw) !important;
    max-width: 900px !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: clamp(45px, 3.82vw, 55px) !important;
    line-height: 1.16 !important;
  }
}

/* Product hero support line: visually separate it from the title, enlarge it,
   and preserve a single line on phone widths. */
@media (max-width: 700px) {
  .product-page-v2 .product-v2-hero-copy {
    width: max-content !important;
    max-width: calc(100vw - 30px) !important;
    margin-top: 25px !important;
    font-size: clamp(11.9px, 3.34vw, 13.05px) !important;
    line-height: 1.2 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
  }

  .product-page-v2 .product-v2-hero-title,
  .product-page-v2 .product-v2-hero-copy {
    top: 5px;
  }
}

/* Company narrative uses the same desktop layered transition language as the
   Product page. Mobile and reduced-motion layouts remain normal document flow. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .company-v2-page .company-v2-main {
    overflow: visible !important;
  }

  .company-v2-page .company-v2-section {
    --company-panel-radius: 0px;
    position: sticky !important;
    top: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    min-height: 900px !important;
    overflow: hidden !important;
    border-radius: var(--company-panel-radius) var(--company-panel-radius) 0 0 !important;
    box-shadow: 0 -14px 54px rgba(0,0,0,.08);
    will-change: border-radius;
  }

  .company-v2-page .company-v2-mission { z-index: 1; }
  .company-v2-page .company-v2-problem { z-index: 2; }
  .company-v2-page .company-v2-system { z-index: 3; }
  .company-v2-page .company-v2-context { z-index: 4; }
  .company-v2-page .company-v2-founder { z-index: 5; }
  .company-v2-page .company-v2-prefooter {
    position: relative !important;
    z-index: 6;
  }
}

/* Social and exchange rails remain clean and continuous. */
.social-list {
  gap: 22px !important;
}

.page-home .home-exchange-track,
.product-page-v2 .product-v2-exchange-track {
  animation-iteration-count: infinite !important;
  animation-timing-function: linear !important;
  will-change: transform;
}
