/*
 * Talis Company Page — page-specific visual system.
 * Desktop geometry is matched to the supplied 1440 × 900 section designs.
 * Shared navigation, menu behaviour and footer remain owned by the base site.
 */
.company-v2-page,
.company-v2-page .company-v2-main { background:#f5f5f5; }
.company-v2-main { padding-top:74px; overflow:hidden; }
.company-v2-main,
.company-v2-main * { font-family:"Argon" !important; }
.company-v2-page .desktop-nav a[aria-current="page"] { opacity:1; }
.company-v2-page .reveal { will-change:opacity,transform; }

.company-v2-hero-section,
.company-v2-section,
.company-v2-prefooter { position:relative; }
.company-v2-hero-section { height:826px; background:#f5f5f5; }
.company-v2-section { height:900px; min-height:900px; background:#f5f5f5; color:#141414; }
.company-v2-inner { position:relative; width:100%; height:100%; margin:0; }

.company-v2-hero-frame,
.company-v2-prefooter-frame {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#141414;
}
.company-v2-hero-frame {
  width:calc(100% - 62px);
  height:720px;
  margin:0 31px;
  border-radius:20px;
}
.company-v2-hero-media,
.company-v2-prefooter-media {
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.company-v2-hero-media { object-position:50% 50%; }
.company-v2-hero-frame::after,
.company-v2-prefooter-frame::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
}
.company-v2-hero-frame::after {
  background:
    linear-gradient(0deg,rgba(5,7,9,.88) 0%,rgba(5,7,9,.40) 35%,rgba(5,7,9,.02) 67%),
    linear-gradient(90deg,rgba(5,7,9,.30) 0%,rgba(5,7,9,0) 66%);
}
.company-v2-hero-content {
  position:absolute;
  left:66px;
  bottom:57px;
  z-index:2;
  color:#f5f5f5;
}
.company-v2-hero-title,
.company-v2-heading,
.company-v2-founder-name,
.company-v2-prefooter-title {
  margin:0;
  font-weight:400;
  letter-spacing:-.025em;
}
.company-v2-hero-title {
  width:690px;
  font-size:56px;
  line-height:64px;
  letter-spacing:-.012em;
}
.company-v2-cta {
  width:161px;
  min-width:161px;
  height:42px;
  min-height:42px;
  margin-top:49px;
  padding:0 12px 0 15px;
  display:grid !important;
  grid-template-columns:1fr 18px;
  align-items:center;
  column-gap:6px;
  border:1px solid #f5f5f5;
  border-radius:6px;
  background:#f5f5f5;
  color:#141414;
  font-size:14px;
  line-height:1;
  text-align:center;
}
.company-v2-cta .button-label { justify-self:center; }
.company-v2-cta .button-arrow {
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  justify-self:end;
  font-size:16px;
  line-height:1;
  transform:translateY(-1px);
}
.company-v2-ruled::after {
  content:"";
  position:absolute;
  left:45px;
  right:45px;
  bottom:0;
  height:1px;
  background:#d7d7d7;
}
.company-v2-eyebrow,
.company-v2-copy,
.company-v2-problem-label,
.company-v2-founder-role,
.company-v2-founder-bio p,
.company-v2-context-copy p { margin:0; font-weight:400; }
.company-v2-eyebrow { color:#7f7f7f; font-size:15px; line-height:1; }
.company-v2-copy { color:#878787; font-size:18px; line-height:1.47; }

/* Section 2 — mission */
.company-v2-mission-copy { position:absolute; left:118px; top:211px; width:645px; }
.company-v2-mission .company-v2-eyebrow { margin-bottom:67px; }
.company-v2-mission .company-v2-heading {
  width:645px;
  font-size:51px;
  line-height:1.17;
}
.company-v2-mission .company-v2-copy { width:458px; margin-top:73px; }
.company-v2-mission-media {
  position:absolute;
  left:855px;
  top:295px;
  width:463px;
  height:320px;
  margin:0;
  overflow:hidden;
  border-radius:4px;
  background:#171717;
}
.company-v2-mission-media img { width:100%; height:100%; object-fit:cover; }

/* Section 3 — problem and solution */
.company-v2-problem-stack {
  position:absolute;
  left:118px;
  top:229px;
  width:492px;
  display:grid;
  gap:19px;
}
.company-v2-problem-card {
  width:492px;
  height:217px;
  min-height:217px;
  padding:31px 33px 27px;
  display:flex;
  flex-direction:column;
  border-radius:10px;
  background:#e1e1e1;
  color:#141414;
}
.company-v2-problem-card--dark { background:#3d3d3d; color:#f5f5f5; }
.company-v2-problem-label { color:#b8b8b8; font-size:18px; line-height:1; }
.company-v2-problem-card--dark .company-v2-problem-label { color:#777; }
.company-v2-problem-card h3 {
  max-width:425px;
  margin:auto 0 14px;
  font-size:31px;
  line-height:1.18;
  font-weight:400;
  letter-spacing:-.012em;
}
.company-v2-problem-content { position:absolute; left:688px; top:229px; width:635px; }
.company-v2-problem .company-v2-heading { width:635px; font-size:51px; line-height:1.18; }
.company-v2-problem .company-v2-copy { width:510px; margin-top:74px; }

/* Section 4 — governed architecture */
.company-v2-system { background:#141414; color:#f5f5f5; }
.company-v2-system-copy { position:absolute; left:119px; top:205px; width:850px; }
.company-v2-system .company-v2-heading {
  width:850px;
  font-size:50px;
  line-height:1.19;
  letter-spacing:-.02em;
}
.company-v2-system .company-v2-copy { width:470px; margin-top:83px; color:#7f7f7f; }
.company-v2-system-media {
  position:absolute;
  left:817px;
  top:466px;
  width:501px;
  height:203px;
  margin:0;
  overflow:hidden;
  border-radius:5px;
  background:#fff;
}
.company-v2-system-media img { width:100%; height:100%; object-fit:cover; }

/* Section 5 — context */
.company-v2-context { background:#1e4a22; color:#f5f5f5; }
.company-v2-context .company-v2-heading {
  position:absolute;
  left:151px;
  top:414px;
  width:600px;
  font-size:50px;
  line-height:1.1;
  letter-spacing:-.02em;
}
.company-v2-context-copy {
  position:absolute;
  left:861px;
  top:349px;
  width:420px;
  color:rgba(245,245,245,.50);
}
.company-v2-context-copy p { font-size:18px; line-height:1.48; }
.company-v2-context-copy p + p { margin-top:27px; }

/* Section 6 — founder */
.company-v2-founder-media {
  position:absolute;
  left:188px;
  top:139px;
  width:526px;
  height:621px;
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#1b1d21;
}
.company-v2-founder-media img { width:100%; height:100%; object-fit:cover; }
.company-v2-founder-content { position:absolute; left:769px; top:176px; width:490px; }
.company-v2-founder-name { font-size:60px; line-height:1.05; letter-spacing:-.03em; }
.company-v2-founder-role { margin-top:16px; color:#7e7e7e; font-size:18px; line-height:1.2; }
.company-v2-founder-bio { margin-top:61px; }
.company-v2-founder-bio p { color:#878787; font-size:18px; line-height:1.48; }
.company-v2-founder-bio p + p { margin-top:23px; }
.company-v2-founder-social { margin-top:36px; display:flex; align-items:center; gap:19px; }
.company-v2-founder-social a {
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:3px;
  transition:opacity 180ms ease,transform 180ms ease;
}
.company-v2-founder-social a:hover { opacity:.82; transform:translateY(-1px); }
.company-v2-founder-social img {
  width:20px;
  height:20px;
  object-fit:contain;
  filter:brightness(0) saturate(100%);
  opacity:.375;
}

/* Section 7 — image-led conclusion */
.company-v2-prefooter { height:900px; min-height:900px; padding-top:90px; background:#f5f5f5; }
.company-v2-prefooter-frame {
  width:calc(100% - 60px);
  height:720px;
  margin:0 29px 0 31px;
  border-radius:20px;
}
.company-v2-prefooter-media { object-position:50% 50%; }
.company-v2-prefooter-frame::after {
  background:
    linear-gradient(0deg,rgba(5,9,10,.73) 0%,rgba(5,9,10,.18) 56%,rgba(5,9,10,.02) 100%),
    linear-gradient(90deg,rgba(5,9,10,.25),rgba(5,9,10,0) 68%);
}
.company-v2-prefooter-content { position:absolute; left:70px; bottom:56px; z-index:2; color:#f5f5f5; }
.company-v2-prefooter-title { width:700px; font-size:55px; line-height:1.17; letter-spacing:-.02em; }
.company-v2-prefooter-content .company-v2-cta { margin-top:48px; }

/* Deliberate, restrained desktop movement. */
@media (min-width:1200px) and (prefers-reduced-motion:no-preference) {
  .js .company-v2-slide-right.reveal { transform:translate3d(22px,0,0); }
  .js .company-v2-slide-left.reveal { transform:translate3d(-22px,0,0); }
  .js .company-v2-slide-right.reveal.is-visible,
  .js .company-v2-slide-left.reveal.is-visible { transform:translate3d(0,0,0); }
}

/* Tablet — preserve hierarchy without pretending the 1440px composition fits. */
@media (min-width:701px) and (max-width:1199px) {
  .company-v2-hero-section { height:auto; padding-bottom:74px; }
  .company-v2-hero-frame { height:auto; aspect-ratio:1378/720; }
  .company-v2-hero-content { left:5%; bottom:8%; }
  .company-v2-hero-title { width:min(650px,70vw); font-size:clamp(42px,5vw,54px); }
  .company-v2-section { height:auto; min-height:760px; padding:100px 7vw; }
  .company-v2-inner { display:grid; height:auto; min-height:560px; align-items:center; gap:7vw; }
  .company-v2-mission .company-v2-inner,
  .company-v2-problem .company-v2-inner,
  .company-v2-system .company-v2-inner,
  .company-v2-context .company-v2-inner,
  .company-v2-founder .company-v2-inner { grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); }
  .company-v2-mission-copy,
  .company-v2-mission-media,
  .company-v2-problem-stack,
  .company-v2-problem-content,
  .company-v2-system-copy,
  .company-v2-system-media,
  .company-v2-context .company-v2-heading,
  .company-v2-context-copy,
  .company-v2-founder-media,
  .company-v2-founder-content {
    position:static;
    width:auto;
    height:auto;
    left:auto;
    top:auto;
  }
  .company-v2-mission .company-v2-heading,
  .company-v2-problem .company-v2-heading,
  .company-v2-system .company-v2-heading,
  .company-v2-context .company-v2-heading { width:auto; font-size:clamp(39px,4.3vw,49px); }
  .company-v2-mission .company-v2-copy,
  .company-v2-problem .company-v2-copy,
  .company-v2-system .company-v2-copy { width:auto; }
  .company-v2-mission-media { max-width:463px; justify-self:end; }
  .company-v2-problem-stack { justify-self:start; width:100%; }
  .company-v2-problem-card { width:100%; }
  .company-v2-system-media { width:100%; max-width:501px; justify-self:end; }
  .company-v2-context-copy { width:auto; }
  .company-v2-founder-media { max-width:526px; aspect-ratio:432/510; }
  .company-v2-founder-content { max-width:490px; }
  .company-v2-prefooter { height:auto; min-height:0; padding:75px 0; }
  .company-v2-prefooter-frame { width:calc(100% - 62px); height:auto; aspect-ratio:1380/720; margin-inline:31px; }
}

/* Mobile — editorial stacking: copy first, media beneath, founder portrait first. */
@media (max-width:700px) {
  .company-v2-main { padding-top:74px; }
  .company-v2-page .site-header { height:74px; }
  .company-v2-hero-section { height:auto; padding-bottom:85px; }
  .company-v2-hero-frame {
    width:calc(100% - 25px);
    height:calc((100vw - 25px) * 1.87671233);
    max-height:685px;
    min-height:548px;
    margin:0 13px 0 12px;
    border-radius:10px;
  }
  .company-v2-hero-media { object-position:45.3% 50%; }
  .company-v2-hero-frame::after {
    background:
      linear-gradient(0deg,rgba(5,7,9,.93) 0%,rgba(5,7,9,.53) 40%,rgba(5,7,9,.05) 73%),
      linear-gradient(90deg,rgba(5,7,9,.13),rgba(5,7,9,0) 80%);
  }
  .company-v2-hero-content {
    left:20px;
    right:20px;
    top:64%;
    bottom:auto;
  }
  .company-v2-hero-title {
    width:100%;
    max-width:none;
    font-size:clamp(34px,9.2vw,40px);
    line-height:1.08;
    letter-spacing:-.012em;
  }
  .company-v2-cta {
    width:161px;
    min-width:161px;
    height:42px;
    min-height:42px;
    margin-top:35px;
    font-size:14px;
  }
  .company-v2-ruled::after { left:18px; right:18px; }

  .company-v2-section { height:auto; min-height:0; }
  .company-v2-inner { width:auto; height:auto; margin:0 22px; }
  .company-v2-heading { font-size:clamp(29px,8.35vw,33px) !important; line-height:1.13 !important; letter-spacing:-.02em; }
  .company-v2-copy,
  .company-v2-context-copy p,
  .company-v2-founder-bio p { font-size:16px; line-height:1.52; }
  .company-v2-eyebrow { font-size:14px; }

  .company-v2-mission { padding:96px 0 102px; }
  .company-v2-mission-copy,
  .company-v2-mission-media {
    position:static;
    width:auto;
    height:auto;
    left:auto;
    top:auto;
  }
  .company-v2-mission .company-v2-eyebrow { margin-bottom:42px; }
  .company-v2-mission .company-v2-heading { width:auto; }
  .company-v2-mission .company-v2-copy { width:auto; margin-top:38px; }
  .company-v2-mission-media { width:100%; margin:54px 0 0; aspect-ratio:695/480; border-radius:8px; }
  .company-v2-mission-media img { object-fit:cover; }

  .company-v2-problem { padding:96px 0 104px; }
  .company-v2-problem .company-v2-inner { display:flex; flex-direction:column; }
  .company-v2-problem-content,
  .company-v2-problem-stack {
    position:static;
    width:auto;
    left:auto;
    top:auto;
  }
  .company-v2-problem-content { order:1; display:flex; flex-direction:column; }
  .company-v2-problem-stack { order:2; margin-top:54px; gap:16px; }
  .company-v2-problem .company-v2-heading { width:auto; }
  .company-v2-problem .company-v2-copy { width:auto; margin-top:38px; }
  .company-v2-problem-card h3 br { display:none; }
  .company-v2-problem-card {
    width:100%;
    height:auto;
    min-height:176px;
    padding:26px 25px 23px;
    border-radius:10px;
  }
  .company-v2-problem-label { font-size:15px; }
  .company-v2-problem-card h3 { margin:auto 0 7px; font-size:25px; line-height:1.18; }

  .company-v2-system { padding:102px 0 108px; }
  .company-v2-system-copy,
  .company-v2-system-media {
    position:static;
    width:auto;
    height:auto;
    left:auto;
    top:auto;
  }
  .company-v2-system .company-v2-heading { width:auto; }
  .company-v2-system .company-v2-heading br { display:none; }
  .company-v2-system .company-v2-copy { width:auto; margin-top:43px; }
  .company-v2-system .company-v2-copy br { display:none; }
  .company-v2-system-media { width:100%; margin:58px 0 0; aspect-ratio:501/203; border-radius:6px; }
  .company-v2-system-media img { object-fit:cover; }

  .company-v2-context { padding:108px 0 112px; }
  .company-v2-context .company-v2-heading,
  .company-v2-context-copy {
    position:static;
    width:auto;
    left:auto;
    top:auto;
  }
  .company-v2-context-copy { margin-top:48px; }
  .company-v2-context-copy p + p { margin-top:25px; }

  .company-v2-founder { padding:96px 0 104px; }
  .company-v2-founder .company-v2-inner { display:flex; flex-direction:column; }
  .company-v2-founder-media,
  .company-v2-founder-content {
    position:static;
    left:auto;
    top:auto;
  }
  .company-v2-founder-media {
    order:1;
    width:100%;
    height:auto;
    aspect-ratio:432/510;
    margin:0;
    border-radius:14px;
  }
  .company-v2-founder-content { order:2; width:auto; margin-top:46px; }
  .company-v2-founder-name { font-size:clamp(43px,11.8vw,46px); line-height:1.04; }
  .company-v2-founder-role { margin-top:15px; font-size:17px; }
  .company-v2-founder-bio { margin-top:41px; }
  .company-v2-founder-bio p + p { margin-top:24px; }
  .company-v2-founder-social { margin-top:31px; }

  .company-v2-prefooter { height:auto; min-height:0; padding:60px 0 30px; }
  .company-v2-prefooter-frame {
    width:calc(100% - 25px);
    height:calc((100vw - 25px) * 1.40);
    min-height:430px;
    max-height:550px;
    margin:0 13px 0 12px;
    border-radius:10px;
  }
  .company-v2-prefooter-media { object-position:52% 50%; }
  .company-v2-prefooter-frame::after { background:linear-gradient(0deg,rgba(5,9,10,.90),rgba(5,9,10,.08) 76%); }
  .company-v2-prefooter-content { left:20px; right:20px; bottom:35px; }
  .company-v2-prefooter-title { width:auto; max-width:330px; font-size:clamp(32px,9vw,35px); line-height:1.12; }
  .company-v2-prefooter-content .company-v2-cta { margin-top:34px; }
}

@media (max-width:340px) {
  .company-v2-inner { margin-inline:20px; }
  .company-v2-hero-content,
  .company-v2-prefooter-content { left:18px; right:18px; }
  .company-v2-problem-card h3 { font-size:24px; }
}

@media (prefers-reduced-motion:reduce) {
  .company-v2-page .reveal { opacity:1 !important; transform:none !important; transition:none !important; }
}
