/* Action Labs: one type scale, quiet surfaces, direct section titles */
:root {
  --navy: #0D1524;
  --on-dark: #FFFFFF;
  --on-dark-muted: #CFD5E4;
  --dark-line: rgba(238,241,255,.2);
}
html { scroll-padding-top: 104px; }
body { font-size: var(--fs-body); }
h1,h2,h3,h4 { font-weight: 600; }
.reveal { opacity: 1; transform: none; transition: none; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 200; padding: 12px 20px; background: var(--signal); color: var(--navy); }
.skip-link:focus { top: 16px; }
.nav { position: fixed; inset: 0 0 auto; z-index: 100; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px; padding:20px var(--gutter); color:white; }
.nav.scrolled { color:var(--navy); background:var(--bg); border-bottom:1px solid var(--line); }
.brand-lockup { display:inline-flex; align-items:center; gap:12px; }
.wm-mark { width:44px; height:33px; object-fit:contain; }
.wm-text { font-size:var(--fs-body); font-weight:600; letter-spacing:-.02em; }
.wm-text b { font-weight:600; }
.nav:not(.scrolled) .wm-mark { filter:invert(1); }
.nav-links { display:flex; gap:28px; }
.mobile-contact { display:none; }
.nav-links a, .nav-contact { font-size:var(--fs-mono-sm); }
.nav-contact { display:inline-flex; align-items:center; gap:12px; }
.nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.nav-right { display:flex; gap:16px; align-items:center; }
.nav-toggle { display:none; }
.hero { position:relative; display:flex; flex-direction:column; min-height:min(860px,100svh); isolation:isolate; overflow:hidden; background:var(--navy); color:white; }
.hero-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; z-index:-3; filter:saturate(.75); }
.hero-veil { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(13,21,36,.68),rgba(13,21,36,.1) 85%),linear-gradient(0deg,rgba(13,21,36,.9),transparent 75%),linear-gradient(180deg,rgba(13,21,36,.4),transparent 30%); }
.hero-inner { margin-top:auto; padding-top:200px; padding-bottom:88px; }
.hero h1 { font-size:var(--fs-h1); line-height:1.08; letter-spacing:-.035em; color:var(--on-dark); max-width:20ch; text-wrap:initial; }
.hero-brands { padding-block:24px; border-top:1px solid var(--dark-line); background:rgba(13,21,36,.25); }
.film-toggle { position:absolute; right:var(--gutter); bottom:110px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; color:white; border:1px solid var(--dark-line); border-radius:50%; background:rgba(13,21,36,.4); }
.film-toggle[hidden] { display:none; }
.film-toggle:hover { border-color:white; }
.film-toggle:focus-visible, .nav-toggle:focus-visible { outline:2px solid var(--signal); outline-offset:4px; }
.section-head { max-width:none; margin-bottom:40px; }
.section-title { font-size:var(--fs-h2); line-height:1.15; letter-spacing:-.025em; margin:0 0 40px; max-width:28ch; }
.section-head .section-title { margin:0; }
.mac-trio { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 56px; }
.mac-cell { min-width:0; }
.mac-title { font-size:var(--fs-body); line-height:1.5; letter-spacing:0; font-weight:600; margin-bottom:24px; }
.mac { filter:drop-shadow(0 12px 14px rgba(13,21,36,.12)); }
.mac-screen .mac-fit { position:absolute; inset:0 auto auto 0; width:var(--fit-w,720px); height:var(--fit-h,450px); transform-origin:0 0; transform:scale(var(--fit-s,1)); }
.architecture { background:var(--bg-1); }
.system-map { display:grid; grid-template-columns:180px 40px minmax(0,1fr) 40px 180px; align-items:center; gap:16px; }
.system-edge h3, .system-core h3 { font-size:var(--fs-body); line-height:1.5; letter-spacing:0; margin-bottom:24px; }
.system-edge p, .system-core p { font-size:var(--fs-mono-sm); color:var(--fg-muted); margin-top:24px; }
.system-logos { display:grid; grid-template-columns:repeat(3,32px); gap:20px; }
.system-logos img { width:28px; height:28px; object-fit:contain; }
.system-models { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.system-models img { max-width:100px; width:auto; height:22px; object-fit:contain; filter:brightness(0); }
.system-arrow { color:var(--brand); font-size:var(--fs-body); text-align:center; }
.system-core { padding:32px; background:var(--navy); color:var(--on-dark); }
.system-core h3 { color:var(--on-dark); }
.system-core p { color:var(--on-dark-muted); }
.system-capabilities { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-block:24px; border-block:1px solid var(--dark-line); }
.system-capabilities span { font-size:var(--fs-body); line-height:1.5; }
#team { background:var(--bg); }
.team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.founder { display:flex; flex-direction:column; min-width:0; }
.founder-photo-wrap { margin-bottom:24px; }
.founder-photo { width:112px; height:112px; object-fit:cover; border-radius:0; }
.founder h3 { font-size:var(--fs-body); line-height:1.5; letter-spacing:0; font-weight:600; }
.founder h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.f-role { color:var(--fg-muted); font-size:var(--fs-mono-sm); line-height:1.5; margin-top:4px; }
.f-bio { font-size:var(--fs-body); line-height:1.6; color:var(--fg-muted); margin-top:20px; min-height:128px; }
.profile-logos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:32px; align-items:center; justify-items:start; gap:16px 12px; margin-top:24px; }
.profile-logos img { display:block; width:auto; max-width:78px; height:24px; object-fit:contain; }
.profile-logos img[data-logo="stanford"], .profile-logos img[data-logo="icml"] { height:28px; }
.profile-logos img[data-logo="mckinsey"] { height:30px; }
.foot { padding-top:80px; background:var(--navy); color:var(--on-dark); }
.foot .section-title { color:var(--on-dark); margin-bottom:24px; }
.contact-link { display:inline-flex; align-items:center; gap:20px; color:var(--signal); font-size:var(--fs-body); border-bottom:1px solid currentColor; padding-bottom:4px; }
.contact-link:hover { color:var(--on-dark); }
.foot-bottom { display:flex; justify-content:space-between; gap:24px; margin-top:80px; padding-block:24px; border-top:1px solid var(--dark-line); font-size:var(--fs-mono-sm); color:var(--on-dark-muted); }
@media (max-width:1100px) {
  .system-map { grid-template-columns:140px 20px minmax(0,1fr) 20px 140px; gap:12px; }
  .system-core { padding:24px; }
  .system-capabilities { grid-template-columns:1fr; gap:16px; }
  .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; }
  .f-bio { min-height:76px; }
}
@media (max-width:980px) {
  .mac-screen .mac-fit { width:var(--fit-w-s,520px); height:var(--fit-h-s,325px); }
}
@media (max-width:800px) {
  .nav { min-height:76px; padding-block:16px; gap:12px; }
  .nav-toggle { display:grid; place-items:center; width:44px; height:44px; }
  .nav-toggle svg { width:20px; height:20px; }
  .nav-links { display:none; position:absolute; inset:76px 0 auto; background:var(--bg); color:var(--navy); padding:24px var(--gutter); border-bottom:1px solid var(--line); gap:24px; }
  .nav-links.open { display:flex; flex-wrap:wrap; }
  .nav-links.open .mobile-contact { display:block; }
  .nav-contact { display:none; }
  .hero { min-height:760px; min-height:90svh; }
  .hero-inner { padding-top:200px; padding-bottom:88px; }
  .hero-film { object-position:62% center; }
  .hero h1 { max-width:17ch; }
  .film-toggle { bottom:102px; }
  .hero-brands { padding-block:20px; }
  .section-title { margin-bottom:32px; }
  .mac-trio { grid-template-columns:1fr; gap:48px; }
  .mac-cell { max-width:560px; width:100%; margin-inline:auto; }
  .system-map { grid-template-columns:1fr; gap:24px; }
  .system-edge { display:flex; flex-direction:column; align-items:flex-start; }
  .system-edge h3 { margin-bottom:20px; }
  .system-logos { display:flex; flex-wrap:wrap; gap:24px; }
  .system-arrow { transform:rotate(90deg); justify-self:center; }
  .system-models { flex-direction:row; align-items:center; flex-wrap:wrap; gap:28px; }
  .system-capabilities { grid-template-columns:1fr 1fr; }
  .system-edge p { margin-top:16px; }
  .foot { padding-top:64px; }
}
@media (max-width:480px) {
  .hero h1 { font-size:var(--fs-h1); }
  .team-grid { grid-template-columns:1fr; gap:40px; }
  .founder { display:grid; grid-template-columns:76px minmax(0,1fr); gap:20px; }
  .founder-photo { width:76px; height:88px; }
  .founder-photo-wrap { margin:0; }
  .f-bio { min-height:0; margin-top:16px; }
  .profile-logos { gap:16px; margin-top:20px; }
  .profile-logos img { max-width:70px; height:22px; }
  .foot-bottom { margin-top:56px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero { background:var(--navy) url('../assets/img/mars-rover-poster.jpg') 62% center / cover no-repeat; }
  .hero-film, .film-toggle { display:none; }
}
/* Two identical groups keep the logo strip seamless at the loop boundary. */
.marquee {
  --marquee-gap: clamp(34px, 4.5vw, 60px);
  margin-top: 0;
  padding-block: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}
.marquee-track {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: var(--marquee-gap);
  width: max-content;
  animation: none;
}
.marquee-track.marquee-track--loop { gap: 0; }
.marquee-group {
  display: flex;
  align-items: center;
  flex: none;
  gap: var(--marquee-gap);
  padding-right: var(--marquee-gap);
}
.marquee-group[hidden] { display: none; }
.marquee.is-ready { overflow-x: hidden; }
.marquee.is-ready .marquee-track { animation: brands-flow 48s linear infinite; }
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track { animation-play-state: paused; }
.marquee:focus-visible { outline: 2px solid var(--signal); outline-offset: 4px; }
.marquee-item { display: grid; opacity: .78; height: 23px; }
.marquee-item { flex: none; }
.marquee-item img { width: auto; height: 100%; max-width: 140px; object-fit: contain; filter: brightness(0) invert(1); }
.marquee-item[data-logo="mckinsey"] { height: 29px; }
.marquee-item[data-logo="hec-paris"], .marquee-item[data-logo="fortino"] { height: 27px; }
.marquee-item[data-logo="aws"] { height: 23px; }
@keyframes brands-flow { to { transform: translateX(-50%); } }
.marquee.is-reduced-motion {
  overflow-x: auto;
  -webkit-mask-image: none;
  mask-image: none;
}
.marquee.is-reduced-motion .marquee-track { animation: none; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .marquee, .marquee.is-ready { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .marquee.is-ready .marquee-track { animation: none; transform: none; }
  .marquee-group[aria-hidden="true"] { display: none; }
}

.film-toggle svg { flex: none; }
