/* Editorial hero: keep the portrait high and leave room for the copy. */
.lab-hero{background:#100e13}
.lab-hero .hero-poster{top:82px;height:calc(100% - 82px);object-position:50% top}
.lab-hero .hero-motion{
  position:absolute;inset:82px 0 0;display:block;width:100%;height:calc(100% - 82px);z-index:-2;
  object-fit:cover;object-position:35% center;opacity:0;pointer-events:none;
  transition:opacity .45s ease;
}
.lab-hero .hero-motion.is-playing{opacity:1}
.lab-hero .hero-shade,.lab-hero.motion-active .hero-shade{
  background:linear-gradient(90deg,rgba(10,8,12,.8),rgba(10,8,12,.48) 28%,rgba(10,8,12,.08) 55%,transparent 75%),linear-gradient(0deg,rgba(10,8,12,.55),transparent 20%);
}
.lab-hero .hero-copy{bottom:clamp(100px,16vh,190px);max-width:36vw;padding-bottom:14px}
@media(min-width:901px){
  .lab-hero .hero-copy{top:calc(50% + var(--lab-header-height,82px)/2);bottom:auto;transform:translateY(-50%)}
}
/* Account recovery must not move the title and primary actions above it.
   Keep the existing signed-in copy position and place optional access below. */
.lab-hero .hero-auth-row{position:absolute;top:100%;left:0;right:0;margin-top:0}
/* Sign in and Account share one slot; Open studio never changes columns. */
.landing-header-actions{display:grid;grid-template-columns:auto 76px;min-height:42px}
.landing-header-actions>.studio-link{grid-area:1 / 1}
.landing-header-actions>#lab-header-signin,
.landing-header-actions>#lab-account-strip{grid-area:1 / 2;justify-self:end}
.lab-hero .hero-copy h1{font-size:clamp(64.4px,6.9vw,110.4px);margin-bottom:18px}
.lab-hero .hero-copy h2{font-size:clamp(37.4px,3.85vw,66px);line-height:1.06;white-space:normal;margin-bottom:24px}
.lab-hero .hero-copy h2 br{display:block}
.lab-hero .hero-description{max-width:28vw;font-size:clamp(14px,1.15vw,18px);margin-bottom:24px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.hero-actions>a{flex:none;white-space:nowrap}
.hero-moods-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:50px;
  padding:15px 24px;border:1px solid #ffffff70;border-radius:99px;
  background:#100e1326;color:#f5f2eb;font-size:14px;font-weight:400;
  transition:background .2s,border-color .2s;
}
.hero-moods-link:hover{background:#ffffff14;border-color:#ffffffc0}
.lab-hero .hero-bottom{gap:20px}
.lab-hero .hero-signature{margin-left:auto;font-size:14px;font-weight:300;line-height:1.5;text-align:right;color:#e8e3db}
.hero-bottom .hero-motion-toggle{
  display:grid;place-items:center;flex:none;min-width:44px;width:44px;height:44px;
  padding:0;border:1px solid #ffffff50;border-radius:50%;background:#14101540;color:#fff;
  transition:background .2s,border-color .2s;
}
.hero-bottom .hero-motion-toggle:hover{background:#14101580;border-color:#ffffffb0}
.hero-motion-toggle svg{grid-area:1/1;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hero-motion-toggle .hero-play-icon{fill:currentColor;stroke:none}
.hero-motion-toggle[data-state="playing"] .hero-play-icon,
.hero-motion-toggle[data-state="paused"] .hero-pause-icon{display:none}
.hero-bottom .hero-motion-toggle[hidden]{display:none}
.tool-card .card-media{isolation:isolate}
.tool-card .tool-motion{
  position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1;
  object-fit:cover;object-position:center center;opacity:0;pointer-events:none;
  transition:opacity .35s ease;
}
.tool-card .tool-motion.is-playing{opacity:1}
/* Reset overlay offsets before positioning the desktop captions above the images. */
.tool-card .card-caption{position:relative;inset:auto;z-index:2}
@media(min-width:701px) and (max-width:1000px){
  .lab-hero .hero-copy{max-width:42vw}
  .lab-hero .hero-description{max-width:36vw}
}
@media(min-width:701px) and (max-width:900px){
  .lab-hero .hero-poster,.lab-hero .hero-motion{top:109px;height:calc(100% - 109px)}
}
@media(max-width:700px){
  .lab-hero{min-height:780px}
  .lab-hero .hero-poster,.lab-hero .hero-motion{
    top:102px;height:calc(100% - 102px);object-position:70% top;
  }
  .lab-hero .hero-shade,.lab-hero.motion-active .hero-shade{
    background:linear-gradient(0deg,#100e13 0%,#100e13e8 20%,#100e1380 43%,transparent 70%);
  }
  .lab-hero .hero-copy{left:24px;right:24px;bottom:84px;max-width:none}
  .lab-hero .hero-copy h1{font-size:40px;margin-bottom:12px}
  .lab-hero .hero-copy h2{font-size:clamp(36px,10.8vw,46px);line-height:1.04;margin-bottom:18px}
  .lab-hero .hero-description{max-width:290px;font-size:13px;margin-bottom:20px}
  .hero-actions{gap:10px}
  .hero-actions .start-link,.hero-moods-link{min-height:46px;padding:13px 18px;font-size:13px}
  .lab-hero .hero-bottom{gap:12px;justify-content:space-between}
  .lab-hero .hero-signature{font-size:12px}
  .hero-bottom .hero-motion-toggle{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){
 .lab-hero .hero-motion,.tool-card .tool-motion{display:none!important;transition:none}
}
@media(max-width:560px){
  .landing-header-actions{grid-template-columns:auto 64px;min-height:38px}
}
